YSC 的频道 头像

消息来源频道

YSC 的频道

@yscschan

频道814 位成员公开可见持续更新

Channel Owner: @ysc3839

成员规模814 位成员
在线情况待同步
消息总数5,288 条消息
浏览量总数0 次浏览

在这个频道里搜索消息……

t.me/yscschan

因为有透明代理的需求,但又不想折腾路由器全局代理,于是调查了一下 sniproxy (C语言实现的那个) 的方案。sniproxy 本身不支持走 SOCKS 代理,需要套一层 proxychains,然后由于 sniproxy 是用 UDP 解析域名,proxychains 又不支持 UDP 代理,于是再加上 https-dns-proxy 走代理使用 DoH 解析 DNS。最终方案是基于Alpine Linux,可以运行在 Docker 或 WSL1 中。WSL2 未测试,建议使用 WSL1,因为可以和主机共享网络。
GitHub 地址 https://github.com/ysc3839/sniproxy-socks
Docker Hub 地址 https://hub.docker.com/r/ysc3839/sniproxy-socks
在 WSL 中使用,需要手动下载 releases 中的 sniproxy-socks-rootfs.tar.gz,然后在 cmd 中执行:
mkdir %localappdata%\wsl\sniproxy-socks
wsl --import sniproxy-socks %localappdata%\wsl\sniproxy-socks sniproxy-socks-rootfs.tar.gz
其中 sniproxy-socks 是 WSL 的 distro name (或者叫容器名更加贴切),%localappdata%\wsl\sniproxy-socks 是安装位置,这两个选项都可以随意设置。
然后执行 wsl -d sniproxy-socks /entrypoint.sh 会自动在后台运行。
启动后在文件管理器中打开 \\wsl$\sniproxy-socks 可修改配置文件。
执行 wsl -t sniproxy-socks 停止运行。
执行 wsl --unregister sniproxy-socks 卸载。
后续会考虑写个脚本自动下载并安装到 WSL 中。(已取消)
要登录时自动运行,可以运行 shell:startup 打开“启动”文件夹,新建 start-sniproxy.jse 并写入:
new ActiveXObject('WScript.Shell').Run('wsl -d sniproxy-socks /entrypoint.sh',0)