星河避难所

返回

用自己的服务器做一个「临时网络代理」:记录一下开发阶段的一个小技巧Blur image

⚠️ 本文不涉及任何“科学上网”内容,仅用于记录我在服务器开发过程中遇到的依赖下载问题。
之前网安的朋友都专门打电话提醒过我,我也不敢乱写。
这里讲的只是一个开发场景下的代理转发技巧,仅涉及客户端问题,不涉及任何服务端内容。


背景:有些烦人的客户#

很多时候,我们的服务器环境要下载外部依赖:

  • PHP 用 Composer 拉包
  • Node.js 要 npm
  • Python 要 pip
  • Go 要 go get
  • 甚至 Git clone GitHub

理论上,我们都可以找国内代理源,比如:

  • Composer 的中国镜像
  • npm 的淘宝镜像
  • pip 的清华源

不过,国内代理源的状况暂且不论——万一挂了,还得去找别的方案。

问题是,有时候你会遇到这种客户:

“你做的时候给我录个屏,每一步怎么做的我也学一下”
“你这个东西怎么搞好的,跟我讲一下,下次我自己来”

然后等你把他教会了之后,他居然又来一句:

“原来这么就好了,我看你们技术也没多难,我自己搞搞看也挺行哈”

😑😑😑

这一不是我的项目,我只是帮忙解决基础问题。
二来我也没收费,一顿教完没个感谢就算了,还贬低人。

平时有人找我问东西,我还是愿意尽力帮忙,毕竟 解决问题 = 经验积累
我不讨厌经验积累,顺手帮忙也算交个朋友。

但有时候遇上完全不懂技术、又不尊重别人工作价值的情况……
我就干脆不折腾那些国内代理源了。

遇到环境问题,我就直接让服务器连我自己的服务器做代理
我这边配置好、调整完,把问题解决掉,然后断掉代理

大家要是愿意聊天、问问题,我就教;
碰到那种不尊重人的客户,教了也没意义,反而亏了自己的时间。


方案概览#

我自己用来工作的服务器(工作集)网络通畅,于是我在上面开了一个小小的服务端。

需要处理环境问题的服务器(开发机)作为客户端连接它,从而获得一个「临时代理隧道」。

整个过程:

开发机 → 工作机 → 外部依赖源(GitHub、Composer、npm 等)
plaintext

我只需要保持一次新的连通即可。


开发服务器配置#

安装客户端(以 Ubuntu 为例):

apt install shadowsocks-libev -y
bash

编辑 /etc/shadowsocks-libev/config.json

{
    "server": "服务器IP",
    "server_port": 8399,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "临时密码",
    "timeout": 300,
    "method": "chacha20-ietf-poly1305",
    "mode": "tcp_and_udp"
}
json

启动客户端:

systemctl enable shadowsocks-libev-local
systemctl start shadowsocks-libev-local
bash

现在,本地会有一个可用的 SOCKS5 代理:

127.0.0.1:1080
plaintext

让工具临时使用这个代理#

Git#

Git 有自己的代理配置:

git config --global http.proxy socks5h://127.0.0.1:1080
git config --global https.proxy socks5h://127.0.0.1:1080
bash

Shell / 命令行工具#

如果你想让 pip、go get、composer 等命令行工具都走这个代理,可以给当前 shell 设置环境变量:

export https_proxy=socks5h://127.0.0.1:1080
export http_proxy=socks5h://127.0.0.1:1080
export all_proxy=socks5h://127.0.0.1:1080
bash

命令执行完后,删除临时设置即可恢复正常网络:

unset all_proxy http_proxy https_proxy
bash

如果再也不打算上这台代理服务器,也可以直接删除客户端配置,或者我这边直接改掉在服务端的密码即可。


总结#

这套方案可以:

  • 快速帮客户解决依赖下载问题
  • 不用折腾国内代理源
  • 保留自己对操作环境的控制,避免被“白嫖”

一句话概括就是:

用完即走,帮你搞定,不教你翻车。

用自己的服务器做一个「临时网络代理」:记录一下开发阶段的一个小技巧
https://hejunjie.life/blog/di19fk4u/
作者 何俊杰
发布时间 2025年10月20日
版权信息 CC BY-NC-SA 4.0
评论似乎卡住了,尝试刷新?✨