Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

License

NotificationsYou must be signed in to change notification settings

jjzhang166/kcpraw

Repository files navigation

运行在伪造的 TCP 协议之上的 kcptun, 主要目的是避免 ISP 对 UDP 协议可能的 QOS.
在三次握手后会进行 HTTP 握手, 将流量伪装成 HTTP 流量.
kcptun 的具体参数与使用方法参见kcptun

基本用法

为了使用原始套接字,服务端与客户端都需要 root 权限

服务端

./kcpraw_server_linux_amd64 -t "TARGET_IP:TARGET_PORT" -l "KCP_SERVER_IP:KCP_SERVER_PORT"

客户端

./kcpraw_client_darwin_amd64 -r "KCP_SERVER_IP:KCP_SERVER_PORT" -l ":LOCAL_PORT"

注意事项

为了避免内核返回的 RST 报文影响连接的建立,需要添加相应的 iptables 规则
现在 linux 下的客户端和服务端会自动添加和清理 iptables 规则

windows 客户端参考windows firewall port exceptions 链接中的方法为 LOCAL_PORT 设置防火墙规则
windows 下推荐直接下载编译好的客户端,依赖winpcap

macos 下使用客户端可以参考enable steath mode 打开静默模式即可
macos 下使用推荐通过设置 pf 规则来过滤 RST 报文

# 在 /etc/pf.conf 文件后添加一行 block drop proto tcp from any to <your kcp-server ip address> flags R/R# 例如 block drop proto tcp from any to 45.88.75.23 flags R/R  # 然后在终端下执行 sudo pfctl -f /etc/pf.conf sudo pfctl -e

如果找不到方法过滤 RST 报文,现在可以使用选项 --ignrst 来在应用层忽略 RST 报文,但是并不推荐使用这个选项,因为并不能保证 RST 发出去以后连接还能继续保持,请谨慎使用

由于使用 windows 或者 macos 服务器运行 kcptun 服务的情况并不多见, 并没有进行相应的测试, 所以并不能保证服务端在非 linux 环境下能够正常使用

伪装的 Host 可以通过选项 --host 进行设置
如果不希望伪装为 HTTP 流量可以通过设置选项 --nohttp 关闭此功能, 注意客户端和服务端在这一选项上必须保持一致

构建

go get -u -v github.com/ccsexyz/kcpraw/client  go get -u -v github.com/ccsexyz/kcpraw/server

windows 下编译依赖winpcap 和 gcc 请自行解决环境问题
对 windows10 使用者你可能需要参考这个链接stackoverflow  

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp