做了一个基于域前置的反代hf/github访问小工具,请大伙看看

当时假期看到bypass-GFW-SNI这个项目就想着自己也写一个学习一下,所以就有了这个项目

YASRP - https://github.com/Illusion2-1/YASRP

组件 技术 关键决策依据
传输协议栈 .NET Core 8 1. 原生HTTP/2与TLS 1.3无缝衔接能力 2. SocketsHttpHandler提供底层TCP连接精准控制 3. 跨平台兼容性满足实验规模化部署需求
请求代理引擎 Kestrel Middleware 1. 并发能力 2. 基于流水线架构动态注入ConnectCallback
DNS设施 DoH Local LRU Cache 1. 规避基于UDP的传统DNS劫持问题 2. 利用公共DoH服务实现解析结果校验 3. 缓存预加载机制降低首次查询延迟
TLS策略 SNI重写 证书卸载 1. 在握手阶段动态注入TargetHost的伪装逻辑 2. 允许绕过中间设备SNI过滤规则

找补

因为已经有很多成熟的像steamcommunity302或者watt toolkit这样的工具了,所以写这个项目主要还是学习为主,写出了个控制台小工具,不期待能用在生产环境上;

编写的过程中也确实学到了很多,也能有幸向Steamcommunity302的作者Dogfight360请教技术。

目前支持Linux,Windows还未测试过,workflow也没有提供Windows的可执行程序。

但是最后因为一开始就是抱着学习技术的心态去写的,也不知道要写什么了,希望能得到大伙都宝贵意见~

场景

主要是用在大陆鸡上的,对我自己而言经常要拉一些hf和github的资源,直接拉肯定是拉不下来的,我又懒得总是去找镜像;有这个工具就可以直接访问了

使用示例

从Workflow下载最新的可执行文件,赋予执行权限并运行

sudo apt-get install -y aspnetcore-runtime-8.0 #安装.net runtime
chmod  x YASRP
sudo ./YASRP
#绑定443端口普遍需要root,如果不想使用root,可以用sudo setcap cap_net_bind_service= ep YASRP

接着用curl或wget,例如下载hf的模型:

curl --resolve huggingface.co:443:127.0.0.1 -L -k https://huggingface.co/BlinkDL/rwkv-5-music/resolve/main/RWKV-5-MIDI-560M-v1-20230902-ctx4096.pth --output RWKV-5-MIDI-560M-v1-20230902-ctx4096.pth

原本打算还做写hosts解析和安装证书的功能,但是既然已经放完假了,就还没写

点赞
  1. tansel说道:

    我来试试

  2. Illusion2-1说道:

    @tansel #1 也欢迎给咱提issue~

  3. tansel说道:

    @Illusion2-1 #2 比如我要在国内服务器下这个应该怎么写

    https://github.com/zhboner/realm/releases/download/v2.7.0/realm-x86_64-unknown-linux-gnu.tar.gz
    

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮