# p2p-tunnel_1
**Repository Path**: fork_libs/p2p-tunnel_1
## Basic Information
- **Project Name**: p2p-tunnel_1
- **Description**: .NET6 Socket编程实现内网穿透,UDP,TCP打洞实现点对点直连,通过tcp转发,http1.1代理,socks5代理,实现访问内网web ,内网桌面,及其它TCP上层协议服务
- **Primary Language**: C#
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: http://snltty.gitee.io/p2p-tunnel
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 106
- **Created**: 2022-12-07
- **Last Updated**: 2022-12-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## p2p-tunnel
1. 在线web管理端
2. 使用说明
3. 可执行程序目录
客户端client/client.service/public/
服务端server/server.service/public/
publish需要安装.NET环境, publish-single单文件自包含环境
4. 自己开通的网络更容易打洞,当使用租房的房东网络时,打洞比较困难
5. 服务器 或 内网电脑,暴露服务在公网时,请做好安全防范
6. win7不能运行.NET6的补丁
## 几个通信线路
1. p2p、A<---->B
2. 中继、A<---->server<---->B(免费打洞服务器不开启)
3. 服务器代理、server<---->A(免费打洞服务器不开启)
## 几个通信模式
1. **tcp转发**1对1,不支持像ftp这样的多通道
2. **http1.1代理**多对多,支持ftp
3. **socks5代理**多对多,支持ftp
## 几个通信流程
1. A <--tcp转发-->B<---->内网服务
2. server <--tcp转发-->A<---->内网服务
3. A <--http1.1代理-->B<---->内网或外网服务
4. A <--http1.1代理-->server<---->内网或外网服务
5. A <--socks5代理-->B<---->内网或外网服务
6. A <--socks5代理-->server<---->内网或外网服务
## 几个要点
- [x] .NET6 跨平台,小尺寸,小内存
MessagePack 序列化,LiteNetLib rudp,fleck websocket
- [x] 内网穿透 访问内网web,内网桌面,及其它TCP上层协议服务
windows<-->windows 可使用mstsc,其它可使用 TightVNC
- [x] p2p 打洞、tcp、udp
- [x] tcp转发(不支持ftp)
- [x] http代理(支持ftp(被动模式))
- [x] socks5代理(仅tcp,不实现bind,支持ftp(被动模式))
- [x] 简单易用的客户端web管理页面
- [ ] 服务端web管理页面
- [x] 支持通信数据加密
- [x] 可扩展的插件式
- [x] 免费的打洞服务器
- [x] 高效的打包解包,序列化->打包->粘包解析->解包->反序列化 整个流程时间


