问题描述
我们需要上网,我们需要阅读官方文档,我们需要学习跟多的知识,我们上网只为学习计算机技术,我们的浏览历史里只有 Stack Overflow、GitHub 等等技术站点,仅此而已。我们只是普通 IT 从业人员,想到国外查些官方文档,增长技术水平。
该笔记将整理:与代理服务器、网络加速、上网有关的内容,以及相关问题的处理方法。
解决方案
VPN:OpenVPN、L2TP/IPSec、……
这是我们最早听说的方法。现在(05/18/2021)提到网络加速已经很少用 VPN 这个术语,因为 VPN 多指虚拟私有局域网。
缺点:作为网络加速协议,协议特征过于明显,很容易被识别,被屏蔽。
HTTP(s) PROXY:Squid、……
这也是早期为网络加速而广泛使用的协议。最初为了解决问题,我们使用 HTTP(s) 实现网络加速。
缺点:作为网络加速协议,与 VPN 类似,协议特征过于明显,很容易被识别,被屏蔽。
Dynamic Port Forwarding:SSH、……
后来我们开始使用 SSH 进行动态端口转发,以实现网络加速。
缺点:但是报文具有某些特征,依旧容易被识别。
SOCKS:Shadowsocks、ShadowsocksR、……
后来我们开始使用 SOCKS 协议,使用 Shadowsocks 实现,坚持很久时间。
缺点:但是后来服务器被封禁了,大概是因为协议的原因:虽然流量是加密的,但是连接初始化的报文不是加密的,还是有很明显的协议特征。而且客户端是能够发送虚假的握手报文,只要服务端有“合理的回应”,就能证明服务器是 SOCKS 网络加速服务。
Secure Tunnels
网络加速,不管用什么技术,什么方法,什么协议,本质上都在在挖隧道:
1)挖条加密隧道,让流量通过加密隧道。只要能挖出加密隧道,就能用来网络加速;
2)然后在加密隧道中运行代理协议(HTTP、SOCKS)等等协议便能实现网络加速;
TLS + WebSocket,我们还未使用过该工具。
Stunnel + Squid,企业级翻墙服务部署文档
kcptun + Squid
软件实现、客户端工具
Clash,是个支持多种协议的客户端,通过配置规则将流量转发到不同的远程节点。
Project V (V2Ray),包含“用于构建特定网络环境工具”的项目(挖加密隧道)。
Project V
https://www.v2ray.com
https://github.com/v2ray/v2ray-core
V2Ray完全使用教程
Streisand,StreisandEffect/streisand
它实际是代理应用封装,可以用于快速部署 OpenVPN、Shadowsocks 等等服务。
php-proxy-app,Athlon1600/php-proxy-app,Web Proxy Application built on php-proxy library ready to be installed on your server
nurdism/neko: A self hosted virtual browser (rabb.it clone) that runs in docker.
这个项目也是不错的……
Tor Project | Anonymity Online
Homepage: https://www.torproject.org
服务服务商
ExpressVPN – A Fast and Secure VPN
VPN.AC – Secure, Fast, Reliable VPN Service
PandaVPN – 全球最快&最具隐私安全的 VPN
Curlie – Computers: Internet: Proxying and Filtering: Hosted Proxy Services: Free: Proxy Lists
其他的一些想法
使用cloudflare加速你的网站隐藏你的网站IP
使用 CDN 啊,CDN 提供 IP 地址,但是要使用国外的 CDN 服务器,这样封的也是 CDN 的 IP 地址。
参考文献
What is a transparent proxy?
Configure SQUID transparent proxy with basic auth
How to properly configure squid as transparent proxy with authentication
Wikipedia/Proxy server
经测试shadowsocks协议已经完全被识别
V2Ray安装使用教程
基于 v2ray 实现科学上网