heiher / hev-socks5-tunnel

A high-performance tun2socks for Linux/Android/FreeBSD/macOS/iOS/WSL2 (IPv4/IPv6/TCP/UDP)
MIT License
636 stars 130 forks source link

代理成功后 app能够正常访问,浏览器不行 #82

Closed 800sea closed 5 months ago

800sea commented 5 months ago

我在iOS上使用的模式是 NetworkExtension ->hev-socks5-tunnel->shadowsocks-rust 来实现代理.但是我成功过运行后,正常app能过访问,浏览器不行.我考虑是否是DNS的原因. 或者是我的配置有问题? 我的 NetworkExtension的配置

func config()->NEPacketTunnelNetworkSettings{
        let tunSet = NEPacketTunnelNetworkSettings.init(tunnelRemoteAddress: "240.0.0.1")
        tunSet.mtu = 1500
        tunSet.ipv4Settings = NEIPv4Settings.init(addresses: ["198.18.0.1"], subnetMasks: ["255.255.255.0"])
        tunSet.ipv4Settings?.includedRoutes = [NEIPv4Route.default()]
        tunSet.dnsSettings = NEDNSSettings(servers: ["8.8.8.8"])//"26.26.26.53","114.114.114.114",
        return tunSet
    }

我的hev-socks5-tunnel配置

tunnel:
  name: tun0
  mtu: 1500
  multi-queue: false
  ipv4: 198.18.0.1
  ipv6: 'fc00::1'

socks5:
  port: 7890
  address: 127.0.0.1
  udp: 'udp'

我的shadowsocks启动配置

let cmd = #"sslocal -b 127.0.0.1:7890 -s 172.14.16.136:8388 -m aes-256-gcm -k dsewsa"#

我的shadowsocks只启动了socks5没有启动tun.不知道是否有影响

heiher commented 5 months ago

看不出明显的问题,在配置中打开日志,然后贴出来看看吧。

另外,mtu最好配置为8500

800sea commented 5 months ago

看不出明显的问题,在配置中打开日志,然后贴出来看看吧。

另外,mtu最好配置为8500

老哥 日志咋打开啊. 我在另一个issues看到配置

misc: log-level: debug log-file: /log.txt

但是我是真机测试因为iOS的networkexten必须真机运行 这个log-file路径要怎么配置才对啊? 我配置了一个/log.txt 不知道怎么取

heiher commented 5 months ago

不懂iOS,找一个有方法读取且有权限写入的位置

800sea commented 5 months ago

不懂iOS,找一个有方法读取且有权限写入的位置

作者大大 请教一个问题配置中有关于socks5的配置与tunnel的配置.我的理解hev_socks5就是通过传入的文件描述符读取到ip包,通过lwip把协议解开后,把数据发送socks5的配置的目标socks5服务器去. 那tunnel的配置也是一样的目的吗?把数据发送到tunnel配置的服务器去?? tunnel和socks5在这里有什么区别了?

heiher commented 5 months ago

是你理解的结构:

tunnel <-> socks5

tunnel的配置是针对tun设备和lwip的,比如配置tun网口的IP地址、MTU等。 socks5的配置是针对socks5客户端的,比如配置socks5服务器的地址、端口及udp转发方式等。

800sea commented 5 months ago

不懂iOS,找一个有方法读取且有权限写入的位置

老哥 我把日志搞出来了.. 方便帮我看看有没有问题哇? log.txt

heiher commented 5 months ago

看上去是Socks5服务器端不支持udp associate命令。

800sea commented 5 months ago

看上去是Socks5服务器端不支持udp associate命令。

ok 我去研究一下 我使用的时候shadowsocks-rust。 我把hev-socks5-tunnel转发到sslocal的 应该是支持的。可能是我没配置好

800sea commented 5 months ago

看上去是Socks5服务器端不支持udp associate命令。

老哥 我可以只使用tun 来转发数据.不使用socks5 功能吗? 这样我就可以使用shadowsocks 只启动ssLocal -tun 的功能。 是不是这样就不会有udp的影响了啊?

heiher commented 5 months ago

当前项目只支持tun2socks模式,不支持direct。并且tun方式会将tcp和udp都转为socks5协议。不支持udp的话dns也不工作。

支持udp的socks5服务端也挺多的,比如换xray试试。

800sea commented 5 months ago

当前项目只支持tun2socks模式,不支持direct。并且tun方式会将tcp和udp都转为socks5协议。不支持udp的话dns也不工作。

支持udp的socks5服务端也挺多的,比如换xray试试。

老哥。我换成https://github.com/shadowsocks/shadowsocks-libev 这个库的客户端做socks5的服务器,在我电脑上登录这个客户端.在我手机上运行hev-socks5连不通.日志是这样的. 是不是我用的方式不对啊.还是hev-socks5-tunnel和shadowsocks不能这样配合使用了? log (2).txt

heiher commented 5 months ago

从日志来看是连接socks5服务器不可达。

800sea commented 5 months ago

从日志来看是连接socks5服务器不可达。

嗯嗯 谢谢老哥