一种作死的 Telegram 代理方案
markdown
最近实验室来了新人,作为从上到下全员布道师的好传统,自然要安利我们新生代沙雕程序员的首选im:tg,但是受限于某不可名状的墙,手上莫得梯子的新人们无法随时随地聊天吹水,于是便搞了这么个借助一台国外和一台国内vps来提供代理的作死想法。
## 解决方案
解决方案的选择一向是这种需求最重要的事情,这里我选择了暴露一个socks5代理,主要是为了近期mtproto在墙内严打风生水起,而且tg客户端原生支持socks5代理及认证。有了认证,至少理论上来讲,被爬出来做公开代理的几率应该就小不少了(余裕余裕)。而且还有clash做filter,保证只让tg流量通过。
于是拓扑图如下:
上面虽然标着使用的理由,但是做出选择的大部分原因大概还是我个人想折腾( 但是当我docker心爆发想要搞docker的时候,发现goproxy这玩意不支持在容器中运行,而且不完全开源,还强制更新,于是自己[改了改clash](https://github.com/Dreamacro/clash/pull/216),加了个认证功能,现在变成了这个样子:
## 具体部署 部署过程中发现似乎这玩意可以搞成一个Docker image,于是就开心的搞了。(
全然忘记即将考大物)
地址在此:https://hub.docker.com/r/popu111/tg-sb-proxy-server
首先不要忘了pull一下镜像:
```bash
docker pull popu111/tg-sb-proxy-server
```
在郭外的服务器上:
```bash
docker run -d --privileged --cap-add=NET_ADMIN -e IS_SERVER=1 \
-p 1433:1433 \
--name tgsb \
popu111/tg-sb-proxy-server
# 加入自动启动
docker update --restart=always tgsb
```
获取一下连接信息:
```bash
docker exec -i tgsb cat /root/keys.txt
```
然后在郭内的服务器上连上:
```bash
docker run -d --privileged -e IS_SERVER=0 \
-e SERVER_ADDR=${SERVER_ADDR} \
-e UDP2RAW_KEY=${UDP2RAW_KEY} \
-e SS_PASS=${SS_PASS} \
-e SPEED_LIMIT=1M \
-p 12121:8080 \
--name tgsb-c \
popu111/tg-sb-proxy-server
# 加入自动启动
docker update --restart=always tgsb-c
```
管理用户:
```bash
docker exec -i tgsb-c authlist
docker exec -i tgsb-c authadd [user] [pass]
docker exec -i tgsb-c authrm [user]
```
## 使用体验
能用。
不能用,镜像得更新了,回头改改镜像
## 说点别的
- 为什么不用docker-compose
因为我是原教旨主义者(逃
上面虽然标着使用的理由,但是做出选择的大部分原因大概还是我个人想折腾( 但是当我docker心爆发想要搞docker的时候,发现goproxy这玩意不支持在容器中运行,而且不完全开源,还强制更新,于是自己[改了改clash](https://github.com/Dreamacro/clash/pull/216),加了个认证功能,现在变成了这个样子:
## 具体部署 部署过程中发现似乎这玩意可以搞成一个Docker image,于是就开心的搞了。(
评论
发表评论