V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wslzy007
V2EX  ›  宽带症候群

离开 V 站一年了,再谈内网穿透工具 SG

  •  1
     
  •   wslzy007 · 2021-10-20 11:53:30 +08:00 · 1192 次点击
    这是一个创建于 912 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是 SG ( smarGate )作者,首先感谢 SG 使用者对我的支持! 这里我简要分享一下编写 SG 的初衷以及达到的功能目标吧

    重复造车?

    嗯...这是个问题! SG 构思最早是 2017 年开始的,那时很多工具都不满足我的要求:

    • 跨平台,因涉及的操作系统较多,需要支持:linux 、windows 、macos 、android 、hp-unix 、solaris (很老吧)、AIX (也很老...);CPU 架构,需支持 x86 、arm 、mips 、alpha (估计很多人没见过...)、PowerPC 、SPRAC
    • 安全性,必须是“内网”到“内网”的穿透,不能映射任何端口到外网,无法改任何防火墙配置
    • 需要可靠,7*24 不间断服务
    • 便携性,全国到处跑,随身的只有手机和笔记本,无论身在何处需要随时响应
    • 带宽要够用,有时需要 RDP 或 VNC,有时需要传大文件...

    我是最早一批花生壳免费用户,遗憾的是当时花生壳还无法 p2p,代理网络带宽抖动很大,只能弃坑。好吧,SG 的第一块砖从此开始

    目前 SG 已具备哪些功能?

    • 基于 SSL 的安全隧道,支持 P2P (传说中的 TCP 打洞...),支持自定义代理(可理解为 zt 的 moon )
    • 支持 UDP over TCP
    • 支持多用户隔离
    • 支持发布到公网(不推荐)
    • 支持 Https2Http
    • 支持 ipv6 防火墙穿透
    • 可选功能:Android 服务端,麦克风权限手动授权后,支持语音监听(自用非刚需,感觉可能被滥用,后续版本考虑取缔)
    • ......

    SG 如何与其它工具组合使用?

    这个...仁者见仁了。SG 不做 socks5/http 代理,可对接这些工具
    就这么多吧,如有感兴趣的朋友可见 github.com/lazy-luo/smarGate

    11 条回复    2021-11-09 08:59:35 +08:00
    troilus
        1
    troilus  
       2021-10-20 12:27:18 +08:00
    iOS 可以用吗?
    wslzy007
        2
    wslzy007  
    OP
       2021-10-20 14:07:16 +08:00
    有 iOS 版本,没上 appstore,github 上暂时没推送版本
    brMu
        3
    brMu  
       2021-10-20 15:08:54 +08:00
    目前在用 zerotier,感觉良好,看了看您了,没太明白,不需要手机客户端可以吗?就是公司电脑+家里电脑+有公网 IP 的 VPS,这样可以吗?
    wslzy007
        4
    wslzy007  
    OP
       2021-10-20 15:25:54 +08:00
    @brMu
    SG 强调的是“移动性”,所有访问入口都在 app 端动态配置,在你所诉的场景中可以这样用:
    ( a 、服务&代理:
    1 、公司电脑安装 sg 服务端
    2 、家里电脑安装服务端
    3 、vps 安装代理 [可选] (与服务端程序一样,配置有差异)
    ( b 、访问
    1 、在手机 app 中配置端口映射,即可访问公司网络,也可访问家里网络(取决于你 app 中的端口映射配置)
    2 、访问者通过访问手机 app 配置的映射进行穿透访问(访问者需要与 app 对应手机在同一个局域网:wifi or 热点都行)
    wslzy007
        5
    wslzy007  
    OP
       2021-10-20 15:30:35 +08:00
    @brMu
    SG 的使用理念是:始终将访问入口随身携带(推荐);可以将访问入口发布到公网,类似 frp 之类工具(不推荐)
    harmless
        6
    harmless  
       2021-10-20 15:51:45 +08:00 via iPhone
    不明白为啥不支持 windows 客户端,在路由器设备隔离的情况下除非直接连手机,否则没法用,还有一个就是去哪儿都得专门带个 android 机
    wslzy007
        7
    wslzy007  
    OP
       2021-10-20 16:00:06 +08:00
    @harmless 对于 iPhone 用户,这的确是个问题。目前版本支持发布到公网,只是需要自行增加服务端配置,类似于这样(由于不推荐,因此官网说明中没有):
    <service-publish id="1122" publish-host="vps ip:vps proxy 端口" service-addr="内网机器 ip:内网服务端口" ref-addr="0.0.0.0:外网端口" token="自定义 token,须与 proxy 一致" />
    harmless
        8
    harmless  
       2021-10-20 16:24:48 +08:00 via iPhone
    @wslzy007 如果要从公司访问家里的 nas,只能手机连接公司 wifi,电脑再连接手机,感觉太麻烦了。发布到公网这种模式是不是得有个 vps,这样的话不是 p2p 了吧。还有就是文档不太完善,之前在 windows 上服务端跑不起来,命令行里也看不到任何输出,也没有 help 参数,后来翻了半天 issue 才找到怎么指定配置文件路径。最后还是用回了 KSA
    wslzy007
        9
    wslzy007  
    OP
       2021-10-20 16:48:59 +08:00
    @harmless
    外网发布的方式是流量代理模式
    文档嘛,个人比较懒,感觉 github 上的已经够普通使用了
    windows 服务端是非控制台模式,因此没有控制台输出,如有错误会在当前目录打印出错信息
    最后,其实这类网络工具很多,使用上肯定是选择满足自己的了,enjoy ~
    pmgh10
        10
    pmgh10  
       2021-11-09 08:29:26 +08:00
    感谢,可以分享一下 iOS 版本应用吗?
    wslzy007
        11
    wslzy007  
    OP
       2021-11-09 08:59:35 +08:00
    @pmgh10
    目前仅有 android 版本,iOS 版本未上 appstore 暂未维护
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1069 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:42 · PVG 02:42 · LAX 11:42 · JFK 14:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.