Skip to content

将tcp连接转为websocket连接使其可以通过cdn传输 支持域前置技术以隐藏域名

Notifications You must be signed in to change notification settings

earth-hotfix/websocket_tunnel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

保护mc服务器免受ddos的侵扰

对于ddos的发起者技术水平我们将其从低到高分为

  1. 只会打开客户端查看域名然后购买ddos。dns使用srv记录而不是a记录
  2. 懂得使用资源监视器查看进程创建的连接的ip。使用srv记录无法防御此类攻击者,买高防或买cdn使用websocket隧道
  3. 会使用wireshark进行简单的抓包。买高防或买cdn使用伪装sni的websockets隧道防御
  4. 懂得反编译和逆向相关知识。加钱买高防

选择cdn之前要确认其支持域前置

构建前需确认已经安装golang最新版并将go添加进环境变量,windows添加环境变量之后需重启

使用powershell执行

git clone https://github.com/yu1745/websocket_tunnel.git
cd websocket_tunnel
./build.ps1

此时生成的server.exe可用,但是client.exe不可用 考虑到client.exe要随mc客户端一起分发,使用命令行传参的方式调用就有泄露域名的风险,因此将参数在编译时写死是更好的选择。 打开build.ps1,需要为client修改的参数有5个

参数名 默认值 可选值 例子 意义
addr 域名+英文冒号+端口号 opencdn.jomodns.com:443 要连接的cdn节点的cname地址,需要用户手动寻找 如何寻找(还未完工)
https false true|false true 是否开启https,不开启https有暴露域名的风险
listen localhost:25565 localhost+英文冒号+可监听的端口号 localhost:9999 mc客户端连接的地址
fake 任意合法域名(仅域名,不需要端口号) www.baidu.com 与cdn建立https连接时发送的sni
real 任意合法域名(仅域名,不需要端口号) mc.example.com 用户在cdn处登记的需要加速的域名
debug false true|false true 是否开启debug模式打印日志

About

将tcp连接转为websocket连接使其可以通过cdn传输 支持域前置技术以隐藏域名

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 90.7%
  • PowerShell 9.3%