gpt4 book ai didi

c++ - 链接 HTTP->SOCKS5 代理的简单单行解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 11:32:32 36 4
gpt4 key购买 nike

我们使用本地 TOR 代理运行许多并行抓取工具。所以有一个 SOCKS5 代理列表,总共大约 200 个:

socks5://本地主机:端口socks5://localhost:port2socks5://localhost:port3...

有些软件不能与 SOCKS 一起工作,只能与 HTTP 代理一起工作。因此,我们需要运行一些软件来充当 HTTP 代理,然后将请求重定向到 SOCKS 代理。

传统的答案是使用 Polipo\Vidalia,但它们都需要配置,如果你想运行 200 个实例,你必须处理 200 个配置文件,这不是那么简单。

另一种解决方案,如 MITM 代理 (Python) 很好,但它太慢并且占用太多 RAM(只需将每个脚本乘以 200 - 即使一个占用 30 兆然后它变成 6占用了 RAM 的演出)。

Proxychains 可以,但它仍然需要每个实例的配置文件。

一个 delegate 程序很好,但由于一些奇怪的原因它停止工作 - 它拒绝接收连接并返回类似“检测到入侵尝试,将要停止”之类的东西 - 重新启动没有帮助。它在本地界面上运行,网络服务正常且未被黑客入侵 - 所以这种行为真的很奇怪。

所以我们正在寻找类似 delegate 但更可靠且没有错误的东西。一些小的、快速的、最好用 C\C++ 编写的东西。

或者 - 任何脚本语言的任何软件解决方案(但它应该是快速和内存敏感的)。

我不是 C 程序员,所以如果你要给我一些 C 中代理代码的“示例”——它不会工作,我需要一天的时间才能进入代码,编译它并运行。不幸的是=)

谢谢!

最佳答案

Polipo 不需要配置文件——它可以从命令行读取配置。所以从 shell 脚本运行 200 polipi 是一件容易的事:

for ((i = 0; i < 100; i++)); do
polipo deamonize=true diskCacheRoot='' proxyPort=$((i + 8100)) socksParentProxy=$(host$i) pidFile="/var/run/polipo$i.pid"
done

请注意,上面禁用了磁盘缓存——不支持在多个 Polipo 实例之间共享一个磁盘缓存——如果你需要这个功能,你应该在 polipo-users 邮件列表上询问。

Polipo 可以配置为仅在几兆字节的内存中运行(检查 chunkHighMark 变量),因此运行 200 个实例应该不是问题。

关于c++ - 链接 HTTP->SOCKS5 代理的简单单行解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24164123/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com