qTunnel:曲径开源的网络隧道软件(Go语言实现)

qTunnel 是一个用 Go 语言编写实现的网络隧道软件,用于客户端和服务端(远程/本地)之间的加密包装。可当做 Stunnel/stud 的替代品。遵循 Apache 2.0 许可。

qTunnel 由曲径开发并开源,过去几个月中,平均每天支撑了超过 1000 万的链接。

为什么要造轮子?

Stunnel/stud 在基于 SSL/TLS 的环境中很出色,但是我们需要的是一个更轻量级更快的解决方案,只做一件事:在客户端和服务端传输加密数据。我们不需要处理认证设置,我们想尽可能快地传输。所有我们做了 qTunnel。基本上来说,qTunnel 就是一个不需要认证设置和 SSL 握手的 Stunnel/stud 。

需求

qtunnel 用 golang 1.3.1 编写,build 之后可以所有操作系统上运行。

Build

build qtunnel

$ make

测试 qtunnel

$ make test

用法

qtunnel 支持两种加密方法: rc4 和 aes256cfb。服务端和客户端都应该使用相同的 crypto 和 secret.

例子

比如说,在主机 A 上有个 redis 服务器,你想从主机 B 起连接。正常来说,用下面这个命令:

就可以搞定。拓扑结构是:

如果主机 B 在某个不安全的网络环境,比如另外的数据中心或区域,此时明文的 redis 协议就不够好了,你可以用 qtunnel 来安全封装:

在主机 B 上:

在主机 A 上:

然后连接主机 B:

这将在  redis-cli 和 redis 服务器之间建立一个安全隧道,拓扑结构是:

之后,你就可以加密后的包装来通信,而不是明文。

开源地址:https://github.com/getqujing/qtunnel

1 收藏

资源整理者简介:伯小乐

伯乐在线小编一枚~~~~PS:我不是@小编辑,不要问我了 个人主页 · 贡献了46个资源 · 257


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer