Git Product home page Git Product logo

p2p-tunnel's Introduction

p2p-tunnel

Visual Studio 2022 LTSC 17.4.1

QQ 群:1121552990 | 介绍视频

GitHub Repo stars GitHub Repo forks star fork

使用前请确保你已知其中风险

本软件仅供学习交流,请勿用于违法犯罪

由来理念

  1. 这是一个内网穿透项目,包括p2p打洞穿透,服务器代理穿透,还包含了一些有趣的功能
  2. 之前用了一些穿透工具,存在一些问题
    1. 有go的,rust的,c++的,都看不太懂,不好加自己需要的功能
    2. .NET平台的极少,且,或仅支持服务器代理穿透,或内存占用量非常大(100MB+),都不是很符合自己的期望
  3. 基于这些有的没的,就决定了自己实现,做一个自己喜欢的内网穿透工具,也是为了学习网络协议相关知识
  4. 除了rudp(LiteNetLib),其它代码都是手写,所以代码量,内存占用率,都比较小,速度也比较快。

大致原理

一些说明

  1. 【内网穿透】
    • TCP、UDP打洞,(LiteNetLib rudp)
      • A客户端<-->B客户端
    • 服务器中继
      • A客户端<-->服务器<-->B客户端
      • 中继不参与打包解包,仅网络消耗
    • 节点中继
      • A客户端<-->某客户端(中间任意数量)<-->B客户端
      • 中继不参与打包解包,仅网络消耗
    • 服务器代理
      • 服务器<-->A客户端
  2. 【.NET7】 跨平台,高性能,小尺寸,小内存

  1. 【UI界面】 简单易用的web管理页面

  1. 【高效】 高效的打包解包,作死的全手写序列化,通信速度极佳,iperf3 原端口5201,和经过tcp转发的 11111 端口的测试结果

  1. 【加密】 支持通信数据加密(预配置密钥或自动交换密钥)
  2. 【插件式】 可扩展的插件式
  3. 【自建服务器】 自建服务器则可开启 服务器代理穿透,服务器中继
  4. 免费的打洞服务器
  5. android app

内置功能

  • 【账号管理】 简单的权限配置
    • 到期时间
    • 登入数限制(同一账号同时登入数量)
    • 权限分配
    • 流量限制
  • 【tcp转发】 转发tcp协议
    • (访问端,访问127.0.0.1:11111) <----> A客户端(监听11111端口) <--打洞/服务器中继/节点中继--> B客户端<----> 内网服务(8088端口)
  • 【udp转发】 转发udp协议
    • (访问端,访问127.0.0.1:11111) <----> A客户端(监听11111端口) <--打洞/服务器中继/节点中继--> B客户端<----> 内网服务(8088端口)
  • 【http代理】 以节点或者服务端作为代理目标
    • (访问端,访问www.domain.com) <----> A客户端 <--打洞/服务器中继/节点中继--> B客户端 <----> 外网服务(www.domain.com)
    • (访问端,访问www.domain.com) <----> A客户端 <----> 服务器 <----> 外网服务(www.domain.com)
  • 【socks5代理】 以节点或者服务端作为代理目标
    • (访问端,访问www.domain.com) <----> A客户端 <--打洞/服务器中继/节点中继--> B客户端 <----> 外网服务(www.domain.com)
    • (访问端,访问www.domain.com) <----> A客户端 <----> 服务器 <----> 外网服务(www.domain.com)
  • 【虚拟网卡组网】
    • (访问端,访问192.168.54.2:8088) <----> A客户端(192.168.54.1) <--打洞/服务器中继/节点中继--> B客户端(192.168.54.2)<----> 内网服务(8088端口)
    • tun2socks虚拟网卡组网,让你的多个不同内网客户端组成一个网络,通过其ip访问,更有局域网网段绑定,访问目标局域网任意设备(暂时仅支持windows、linux、osx),如果无法运行虚拟网卡软件,你可能得自行下载对应系统及cpu版本的软件进行同名替换 tun2socks下载

部署运行

windows 可使用托盘程序

  • client.service.tray.exe //客户端
  • server.service.tray.exe //服务端

linux 按你喜欢的方式进行托管

支持作者

请作者喝一杯咖啡,使其更有精力更新代码

p2p-tunnel's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.