GitHub - virchau13/proxy-proxy-proxyer:一个通过直接穿过限制代理来绕过它们的客户端和服务器

主要观点:

  • 介绍了一个通过代理到另一个代理来绕过网络限制代理的“proxy-proxy-proxyer”,最初是为在特定环境下绕过代理访问 GitHub 而开发。
  • 详细讲述了实现该“proxy-proxy-proxyer”的过程,包括 HTTP 和 HTTPS 代理的操作方法、遇到的 DPI 问题及解决办法(利用 SNI 实现代理),以及在不同语言(Node.js 和 Rust)中的实现和优化。
    关键信息:
  • 开发原因是在特定 coworking 空间遇到网络限制代理,无法访问 GitHub 等网站。
  • HTTP 代理操作方法:发送完整 URI 或更改 HTTP 动词,HTTPS 代理通过 CONNECT 请求建立隧道。
  • 遇到 DPI 导致连接突然终止,通过测试发现代理允许 TLS 但不允许明文 HTTP,利用 SNI 实现代理。
  • 在 Node.js 和 Rust 中分别实现并遇到内存问题,最终在 Rust 中完成。
    重要细节:
  • 开发过程中尝试了多种方法绕过代理,如强制 HTTPS、更改预设 DNS 等均失败。
  • 实现过程中遇到的各种技术细节,如 HTTP 代理请求格式、TLS 握手的 SNI 字段等。
  • 强调该工具不适合实际使用的原因,如无 proper 认证、只能连接 443 端口等。
    使用方法:设置云 VM 并开放端口,在 VM 上运行 Rust 服务器,在客户端运行 Node.js 程序并配置浏览器代理。
阅读 9
0 条评论