FSH - 开源的私有网络间 Linux 主机互访工具

2018-11-20 21:31:06 +08:00
 heiher

分享一个开源小项目,用于穿透 NAT,在私有网络间进行 Linux 主机互访,支持:

  1. Shell 终端 - 简单的 Shell 终端访问,类似 telnet
  2. TCP 端口转发 - 可转发任意 TCP 端口,被控端支持黑、单名单控制

源代码

使用示例

  1. Shell 终端
    # 被控端
    fsh -f 50.116.0.210
    
    # 主控端
    fsh 50.116.0.210/TOKEN
    
  2. TCP 端口转发
    # 被控端
    fsh -f -p 50.116.0.210
    
    # 主控端
    # 将被控端 127.0.0.1:22 映射至本地 2200
    fsh -p 2200:127.0.0.1:22 50.116.0.210/TOKEN
    
    # SSH 便捷模式
    # 配置
    vim ~/.ssh/config
    Host remote-hostname
    	ProxyCommand fsh -p 127.0.0.1:22 50.116.0.210/TOKEN
    
    # 访问
    ssh remote-hostname
    scp file remote-hostname:
    

编译及详细使用方法

开放服务器: 50.116.0.210

如发现问题,请您发 Issue :)

1576 次点击
所在节点   科技
4 条回复
wwqgtxx
2018-11-21 00:24:43 +08:00
有打算支持 nat 打洞么
heiher
2018-11-21 10:23:57 +08:00
@wwqgtxx 如果能支持 P2P 模式应该会更好,但有点复杂,好像 TCP 协议的 NAT 打洞实现技术难度有点大,通用性也不好,而基于 UDP 的话又需要在应用层实现类似 TCP 的传输控制。
wwqgtxx
2018-11-21 11:57:50 +08:00
@heiher udp 传输控制成熟的方案很多,最简单的办法就是直接用原版的 kcp 协议
heiher
2018-11-21 12:03:42 +08:00
@wwqgtxx 感谢,我去看看 kcp 协议。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/509783

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX