文件名称:tunnel:一款单线程、轻量级和高性能的内网穿透程序,支持TCP流量转发(支持所有TCP上层协议,包括HTTP,SSH等),支持多客户端同时连接
文件大小:32KB
文件格式:ZIP
更新时间:2024-05-30 04:44:09
c select epoll C
Tunnel Tunnel是一款单线程、轻量级和高性能的内网穿透程序,支持TCP流量转发(支持任何TCP上层协议,包括HTTP,SSH等),支持多客户端同时连接。 解决公网无法访问内部网络服务问题,使内部网络服务能被公网访问。 说明 该项目使用CMake构建,Linux系统编译后会产生两个可执行文件,tunneld(服务器端)和tunnel(客户端),其他系统编译后只会产生tunnel(客户端)。 tunneld考虑性能原因,使用epoll I/O模型,仅支持Linux系统,且Linux内核版本要大于等于2.5.44。 tunnel使用select I/O模型,支持主流系统(Mac OS、Windows、Linux)。 公网映射端口为动态分配,暂时不支持指定端口。 tunneld(服务器端)使用说明 执行 tunneld 文件 $ tunneld $ Enter listening por
【文件预览】:
tunnel-master
----client()
--------common.c(4KB)
--------common.h(638B)
--------client.h(1KB)
--------client.c(10KB)
--------os.c(4KB)
--------os.h(2KB)
----server()
--------server.c(11KB)
--------server.h(1KB)
--------tunnel.h(421B)
--------common.c(5KB)
--------common.h(536B)
--------listener.c(1KB)
--------cmd.c(2KB)
--------tunnel.c(4KB)
--------cmd.h(238B)
--------listener.h(251B)
----structure()
--------array.h(3KB)
--------array.c(4KB)
--------queue.c(2KB)
--------stack.c(2KB)
--------queue.h(2KB)
--------stack.h(2KB)
----LICENSE(11KB)
----common()
--------global.c(1KB)
--------command.h(221B)
--------global.h(802B)
----tunnel.c(790B)
----CMakeLists.txt(893B)
----README.md(2KB)
----tunneld.c(2KB)