tunnel.cr
tunnel
tunnel 是一个采用对称加密的TCP隧道项目,采用 client/server 架构建立一条传输层加密隧道保障传输数据的安全。tunnel的灵感来自于 qtunnel。
安装
- 注意:当前还不支持在 Windows 环境安装本程序
你需要根据你使用的 Linux 发行版先安装 crystal 和 shards,以及 openssl-devel 库才能顺利编译本项目。
安装步骤:
git clone https://github.com/gnuos/tunnel.cr.git
cd tunnel.cr
shards update --verbose
shards build --release
ls -lh ./bin/
使用
在编译完成后,会在当年目录下产生一个 bin 目录,编译好的二进制可执行程序 tunnel
就在 bin 目录中。
查看使用说明:
./bin/tunnel -h
默认是关闭debug信息和透明传输的,如果有调试方面的需要,可以加上 -d 和 -t参数,这样可以单独调试任何一端的程序。
Development
TODO List:
- 要添加自定义协议防止TCP Replay的攻击
- 要给数据包加上顺序标签防止数据包被意外drop后无法正确接收
- 要给数据包加上散列签名,在数据被中间人修改后可以辨认出真伪
- 要加入数据重传机制,确保数据可靠传输到对端
- 加入适合企业级使用的更多的认证方式
Contributing
- Fork it (https://github.com/gnuos/tunnel/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Kevin - creator and maintainer
Repository
tunnel.cr
Owner
Statistic
- 1
- 0
- 0
- 0
- 0
- about 5 years ago
- August 31, 2019
License
MIT License
Links
Synced at
Fri, 08 Nov 2024 02:39:41 GMT
Languages