了解开源代理格局
秉承“和”(wa,和谐)的精神,开源代理工具诚邀用户加入一个以透明和共享改进为准则的社区。近期发布的几款免费代理解决方案以开源形式丰富了数字世界,如同一座精心打理的禅宗花园——每一块石头都经过精心布置,清晰易懂,目的明确。
下面,我们将探讨这些新开源的代理,如何利用它们的潜力,以及为什么拥抱开放可以培养安全性和适应性。
关键开源代理工具发布
工具名称
代理类型
语言
明星特色
GitHub 存储库
执照
mitmproxy
HTTP/HTTPS,SOCKS
Python
交互式控制台 UI、脚本、TLS 拦截
https://github.com/mitmproxy/mitmproxy
麻省理工学院
大纲
Shadowsocks
去
易于部署、跨平台、用户管理
https://github.com/Jigsaw-Code/outline-server
Apache-2.0
戈斯特
HTTP、SOCKS、Shadowsocks 等
去
多协议、可链接、SNI 代理
https://github.com/go-gost/gost
麻省理工学院
3代理
HTTP、HTTPS、SOCKS、FTP
碳
轻量级、IPv6、用户授权
https://github.com/z3APA3A/3proxy
Apache-2.0
TinyProxy
HTTP
碳
最小、轻量、易于配置
https://github.com/tinyproxy/tinyproxy
GPL-2.0
为何开源?来自金缮碗的智慧
如同日本的金缮艺术(用金子修复破损的陶器)一样,开源项目对其漏洞也保持透明。漏洞并非被隐藏,而是被展现出来,从而吸引社区共同努力,使其更加坚固、更加美观。安全性、灵活性和可信赖性正是源于这一过程。
安全: 开放代码让社区可以审核后门或恶意代码。
适应性: 您可以定制功能或与您的基础设施集成。
长寿: 社区驱动的项目往往比专有项目更持久,因为用户不依赖于单一公司。
实际用例和部署
1. 设置 mitmproxy 进行 HTTP/HTTPS 检查
mitmproxy 非常适合调试、测试或教育用途。它充当中间人角色,让您可以观察和修改 HTTP(S) 流量。
一步一步:安装并运行 mitmproxy
pip 安装 mitmproxy mitmproxy
启动 mitmproxy:这将启动一个交互式控制台界面。
配置您的浏览器/设备 使用 本地主机:8080 作为 HTTP/HTTPS 代理。
安装mitmproxy CA证书 在您的设备上进行 SSL 流量解密:
https://docs.mitmproxy.org/stable/concepts-certificates/
笔记: 就像小心使用武士刀一样,负责任地使用 mitmproxy;切勿在未经同意的情况下拦截流量。
2. 部署 Outline 以实现安全、用户友好的访问
大纲 基于 Shadowsocks 协议,旨在易于部署和使用,特别适合团队或组织。
一步步:Ubuntu 上的 Outline Server
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
按照提示操作 完成设置。
共享访问密钥 通过大纲管理器与用户沟通。
资源:
https://github.com/Jigsaw-Code/outline-server
3. gost 的多协议灵活性
戈斯特 是一种多功能工具,支持多种代理协议和链接。
示例:运行本地 SOCKS5 代理
gost -L=:1080
代理类型: 默认为 SOCKS5。
链代理:
狂欢
gost -L=:1080 -F=socks5://remote.host:1080
这会将请求从本地端口转发到远程代理。
资源:
https://github.com/go-gost/gost/blob/master/README_en.md
4. 轻量级 HTTP 代理:TinyProxy
TinyProxy 适用于嵌入式系统或最小环境。
示例:在 Debian/Ubuntu 上安装
sudo apt-get 安装 tinyproxy sudo systemctl 启动 tinyproxy sudo nano /etc/tinyproxy/tinyproxy.conf
编辑 港口, 允许 指令,然后重新启动:
sudo systemctl 重启 tinyproxy
选择正确的代理:比较表
功能/需求
mitmproxy
大纲
戈斯特
3代理
TinyProxy
协议支持
HTTP/HTTPS
Shadowsocks
多
多
HTTP
平台
跨平台
跨平台
跨平台
Linux/Windows
Linux/Unix
易于设置
缓和
简单的
缓和
缓和
简单的
可扩展性
高(Python)
低的
高(Go)
缓和
低的
资源使用情况
中等的
中等的
低-中
低的
非常低
预期用途
调试/测试
安全访问
灵活的
轻的
嵌入式
技术考虑和安全
验证: 大多数工具都支持某种形式的用户身份验证。例如,3proxy 允许在其配置文件中轻松设置用户名/密码。
加密: 与普通的 HTTP 代理不同,Outline(Shadowsocks)等工具默认提供强加密。
记录: 考虑日志记录策略。mitmproxy 记录流量以进行调试,而 TinyProxy 可以配置为最少日志以保护隐私。
防火墙集成: 始终将代理访问限制在受信任的网络或经过身份验证的用户,就像晚上关闭障子门以挡住风一样。
示例:链接代理以实现分层安全(gost)
gost -L=:1080 -F="http://proxyA:8080" -F="socks5://proxyB:1080"
这会通过两个上游代理路由流量,将匿名性融合在一起,就像和服中的丝绸层一样。
资源和进一步阅读
mitmproxy 文档: https://docs.mitmproxy.org
概要文档: https://docs.outline.org
gost 用户指南: https://github.com/go-gost/gost/blob/master/README_en.md
3proxy 维基: https://github.com/z3APA3A/3proxy/wiki
TinyProxy 手册: https://tinyproxy.github.io/
一般代理概念: https://wiki.archlinux.org/title/Proxy_servers
代理就像京都花园里的竹篱笆,既坚固又灵活,既能控制流量,又能与周围环境和谐融合,堪称最佳选择。开源工具提供了适应新威胁和新需求所需的灵活性和透明度,使用户能够明智而谨慎地塑造自己的数字环境。