# p2p-tunnel
**Repository Path**: xlizzard_admin/p2p-tunnel
## Basic Information
- **Project Name**: p2p-tunnel
- **Description**: .NET6 内网穿透,UDP,TCP打洞,转发,代理,组网,实现访问内网服务 ,内网桌面,及其它TCP/UDP上层协议服务
- **Primary Language**: C#
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: http://snltty.gitee.io/p2p-tunnel
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 104
- **Created**: 2022-10-20
- **Last Updated**: 2022-10-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# p2p-tunnel
## Visual Studio 2022 LTSC 17.3.0


[](https://gitee.com/snltty/p2p-tunnel/stargazers)
[](https://gitee.com/snltty/p2p-tunnel/members)
1. 有任何想法,皆可进群(**1121552990**)了解
2. 在线web管理端,win7不能运行.NET6的补丁
3. 服务器 或 内网电脑,暴露服务在公网时,请做好安全防范
4. 组网可以让你直接访问目标端所在局域网的任一设备
5. 用一台垃圾手机作为客户端放家里,就可以远程开机了
## 为什么需要穿透
1. A、B 任一设备在NAT后面,没有公网ipv4,没有ipv6,无法直接通信,这种情况当然需要穿透
2. A、B 一台设备有公网ipv4,一台设备有ipv6(没有ipv4公网),这时候仍然需要穿透,因为只有ipv4的一方,无法访问ipv6
3. A、B 两台设备都是ipv4,或者都是ipv6,可以直接通信(ipv4开启upnp映射,ipv6允许入栈,之类的),但如此一来,任何人都可以访问你开放的端口,并不安全,如果使用打洞,则相对安全很多
## 穿透方式
- [x] p2p打洞、A<---->B(网络环境支持打洞时,打洞连接效率最好)
- [x] 中继、A<---->server<---->B(免费打洞服务器不开启,服务器开启时,打洞失败则退化为服务器中继)
- [x] 服务器代理、server<---->A(免费打洞服务器不开启,网络环境不支持打洞,可以选择服务器代理)
## 通信方式
- [x] tcp转发
- [x] udp转发
- [x] http代理
- [x] socks5代理(支持tcp,udp,不实现bind)
- [x] tun2socks虚拟网卡组网,让你的多个不同内网客户端组成一个网络,通过其ip访问,更有局域网网段绑定,访问目标局域网任意设备(**暂时仅支持windows、linux、osx**),如果无法运行虚拟网卡软件,你可能得自行下载对应系统及cpu版本的软件进行同名替换 tun2socks下载
## 其它内容
- [x] .NET6 跨平台,小尺寸,小内存
- [x] 内网穿透 访问内网web,内网桌面,及其它TCP上层协议服务
1. 远程桌面
2. windows,android,ios,macOS,web 微软rdp全家桶
3. linux xrdp 或者 FreeRDP
- [x] p2p 打洞、tcp、udp(LiteNetLib rudp)
- [x] 简单易用的客户端web管理页面
- [x] android app
- [x] 支持通信数据加密(预配置密钥或自动交换密钥)
- [x] 可扩展的插件式
- [x] 免费的打洞服务器
- [x] 高效的打包解包,作死的全手写序列化
## 介绍视频
- 基础介绍 https://www.bilibili.com/video/BV1Pa411R79U/
- 联机cs1.6 https://www.bilibili.com/video/BV18d4y1u7DN/
## 部署说明
- 服务端 linux docker托管
- 客户端 linux supervisor托管