V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wlgqa
V2EX  ›  Android

android 大佬 有偿咨询个问题。

  •  
  •   wlgqa · 2022-03-11 13:38:56 +08:00 · 10658 次点击
    这是一个创建于 989 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 Android 开了一个虚拟 tun ,然后通过 tun2sock 转到 tcp 上代理全局浏览,然后加密。然后我需要把代理的流量发出去,我发现我发出去的流量,似乎又发到全局的 tun 上面去了。这样就死循环了。由于我不太熟悉 Android ,网络部分是我用 golang 写的,编译成 ndk 给调用。求问,怎么把流量发出去,不走全局虚拟网卡代理,有偿咨询,解决可以发个红包,请大佬喝杯咖啡。

    12 条回复    2022-03-12 00:02:11 +08:00
    duke807
        1
    duke807  
       2022-03-11 13:51:00 +08:00 via Android
    linux 的 route 表啊
    把目標代理服務器的地址指定用非虛擬的網口傳輸
    zxjunz
        3
    zxjunz  
       2022-03-11 15:43:56 +08:00
    VpnService.protect()
    FranzKafka95
        4
    FranzKafka95  
       2022-03-11 15:47:09 +08:00 via Android
    @madeye 大佬~
    Goooler
        5
    Goooler  
       2022-03-11 15:47:52 +08:00
    Max 本尊出来了啊,太强了
    wlgqa
        6
    wlgqa  
    OP
       2022-03-11 15:53:55 +08:00
    @madeye 感谢大佬,我研究下。
    shawndev
        7
    shawndev  
       2022-03-11 16:08:00 +08:00
    本来想班门弄斧回答下的,结果鲁班本人现身了。。
    shawndev
        8
    shawndev  
       2022-03-11 16:22:12 +08:00
    如果是通过 go 创建的 tunfd ,外部管理连接,通过 VpnService.protect 可以处理。https://github.com/Jigsaw-Code/outline-go-tun2socks/blob/e08601a0b188ad80baf4c243c5e2f288cdd7d1e6/intra/protect/protect.go#L43-L52
    shawndev
        9
    shawndev  
       2022-03-11 16:40:07 +08:00
    VpnService.protect 最终内部调用的代码和 Max 提到的相似,这是 Android Code Search 的结果 https://cs.android.com/android/platform/superproject/+/master:system/netd/client/FwmarkClient.cpp;drc=master;l=71
    wlgqa
        10
    wlgqa  
    OP
       2022-03-11 16:40:32 +08:00
    @shawndev 意思是我要获取 golang 创建的 client (连接目标服务的)的实际系统文件描述符 ID ,然后 Protect 这个文件描述符? 感谢大佬,方便发个 base64 收款码,请大佬喝杯咖啡。
    shawndev
        11
    shawndev  
       2022-03-11 16:45:46 +08:00
    @wlgqa 是的,可以参考下上面发的 outline 项目,应该是 google 的团队开发的。https://chinsyo-blog.s3.ap-northeast-2.amazonaws.com/img/alipay/IMG_7339.PNG
    q9OxQgg
        12
    q9OxQgg  
       2022-03-12 00:02:11 +08:00 via Android
    @madeye ,非常非常感谢你放在 google play 里面的 shadowscoks ,程度无法用语言表达。那时没有别的办法表示谢意,只好购买了另外一个付费的,好像是宝莲灯。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6099 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:36 · PVG 10:36 · LAX 18:36 · JFK 21:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.