XX-net / XX-Net

A proxy tool to bypass GFW.
33k stars 7.7k forks source link

建议集成通过python实现teredo隧道功能 #9145

Open cdh1991 opened 6 years ago

cdh1991 commented 6 years ago

@XndroidDev
@xxnet 发现很多issuse都与teredo隧道有关 偶然发现Xndroid项目实现了teredo功能 感觉很强大能否替代windows自带的和linux下的miredo的功能集成到xx-net中 https://github.com/XndroidDev/Xndroid/blob/b313982980e892d8a44737a362789526f495f8f5/fqrouter/manager/teredo.py

XndroidDev commented 6 years ago

linux 配置一下就可以用, windows的话 高手可以试试

另外目前只是多了 自动更换server的功能, 其余和系统自带的没多大区别

2378 commented 6 years ago

意义何在?

cdh1991 commented 6 years ago

@2378 在win平台使用xx-net的ipv6最容易出问题的地方就是teredo 个人在路由器上还有一点小需求也是卡在了teredo隧道上

cdh1991 commented 6 years ago

@XndroidDev 请教一下类linux路由器中,如何配置调用teredo.py能开启隧道,teredo.py文件中的函数太多了 我看了下vpn.py和main.py 都有调用teredo.py

2378 commented 6 years ago

win teredo 关键是系统完整性 安全性 linux miredo 主流发行版均支持 但openwrt类还在审核 只能用6to4 6in4 6rd https://github.com/ppetr/openwrt-miredo

xxnet commented 6 years ago

​Windows 平台下Teredo就像IE,深度集成到系统中,受系统多个配置、服务影响。 而国内很多ghost系统中,都不是标准配置,很多服务、配置都被修改过。 难以形成一套有效的解决方案。 目前大部分配置都可以用命令行解决,已经实现在enable_ipv6.bat中。 但是组策略,暂时未找到有效的命令行解决方案。

XndroidDev commented 6 years ago

@chendaihang 调用teredo_client.start() 会尝试连接teredo服务器, 并返回一个teredo地址(连接失败则返回None) 然后你需要配置tun,ipv6地址(可用上面返回的地址),路由, 完成后设置 teredo.tun_fd 调用teredo_client.serverforever(), 参数是配置的tun的ipv6地址, 即可

如果你只用teredo.py 需要增删一些代码, 如初始化logging, gevent.patch , 可参考main.py