这些代理服务器刚刚开源

这些代理服务器刚刚开源

最新开源代理服务器:实用指南

新开源代理服务器概述

代理服务器是当今互联网匿名性、负载均衡和内容过滤的支柱。最近,一些强大的代理服务器已开源,为管理员、开发者和业余爱好者提供了前所未有的灵活性。本指南将分析一些最知名的项目、它们的核心功能以及如何有效地使用它们。


主要开源代理服务器比较

代理服务器 语言 HTTP/HTTPS 支持 SOCKS 支持 验证 缓存 显著特点 GitHub 链接
ProxyRoller Python 是的 是的 是的 API,免费旋转代理 https://github.com/proxyroller/proxyroller
乌贼 C++ 是的 是的 是的 高级缓存、ACL http://www.squid-cache.org/
3代理 是的 是的 是的 轻量级,IPv6 https://github.com/z3APA3A/3proxy
微型代理 是的 是的 轻量级、最小配置 https://github.com/tinyproxy/tinyproxy
GoProxy 是的 是的 是的 可插拔、云原生 https://github.com/snail007/goproxy
Mitmproxy Python 是的 是的 拦截、修改 HTTP 流量 https://github.com/mitmproxy/mitmproxy
COW(牛代理) 是的 是的 Shadowsocks,GFW 绕过 https://github.com/cyfdecyf/cow

ProxyRoller:免费、开源的旋转代理服务器

核心功能

  • 免费代理列表: 聚合并验证数千个代理。
  • API 访问: 用于获取代理的简单 RESTful API。
  • 轮换代理: 自动旋转以实现抓取和匿名。
  • SOCKS 和 HTTP/HTTPS 代理: 支持两种协议。
  • Docker 支持: 使用容器快速部署。

安装和使用

Docker部署
docker run -d -p 8000:8000 proxyroller/proxyroller
通过 API 获取代理

使用以下命令检索新的代理:

curl http://localhost:8000/api/v1/proxies?protocol=http
与 Python 请求集成
import requests

proxy = requests.get('http://localhost:8000/api/v1/proxies?protocol=http').json()['proxy']
proxies = {"http": proxy, "https": proxy}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
用例:网页抓取

ProxyRoller 非常适合大规模数据抓取,可以自动轮换代理以避免 IP 被封。示例如下: Scrapy:

import requests

def get_proxy():
    r = requests.get('http://localhost:8000/api/v1/proxies?protocol=http')
    return r.json()['proxy']

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
    'myproject.middlewares.RandomProxy': 100,
}

class RandomProxy:
    def process_request(self, request, spider):
        proxy = get_proxy()
        request.meta['proxy'] = proxy
资源

Squid:高级缓存和访问控制

核心功能

  • HTTP/HTTPS 缓存可节省带宽。
  • 用于访问控制的细粒度 ACL。
  • 身份验证(基本、摘要、NTLM)。
  • SSL 碰撞用于 HTTPS 检查。

Squid 安装示例(Ubuntu)

sudo apt update
sudo apt install squid

基本配置

编辑 /etc/squid/squid.conf:

http_port 3128
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all

重新启动 Squid:

sudo systemctl restart squid

资源


3proxy:轻量级、一体化

特征

  • 支持HTTP、HTTPS、SOCKS、FTP。
  • 身份验证和访问控制。
  • IPv6支持。
  • 最少的资源使用。

安装(Linux)

sudo apt-get install 3proxy

示例配置(3proxy.cfg)

auth strong
users admin:CL:password
proxy -p3128
socks -p1080
flush

启动 3proxy:

3proxy /etc/3proxy/3proxy.cfg

资源


TinyProxy:轻量级 HTTP 代理

特征

  • 简约、快速、低内存占用。
  • 适用于嵌入式设备或简单用例。

安装(Debian/Ubuntu)

sudo apt-get install tinyproxy

基本配置

编辑 /etc/tinyproxy/tinyproxy.conf:

Port 8888
Allow 192.168.1.0/24

重新启动 TinyProxy:

sudo systemctl restart tinyproxy

资源


GoProxy:可扩展、可插入代理

特征

  • 用Go编写,性能高。
  • HTTP、HTTPS、SOCKS5代理。
  • 插件架构。
  • 跨平台。

安装

wget https://github.com/snail007/goproxy/releases/download/v10.7/proxy-linux-amd64.tar.gz
tar -zxvf proxy-linux-amd64.tar.gz
cd proxy
./proxy http -t tcp -p 8080

资源


Mitmproxy:拦截并检查 HTTP/S 流量

特征

  • 实时拦截和修改。
  • 用于查看/编辑流程的 Web UI。
  • 使用 Python 编写脚本。

安装(pip)

pip install mitmproxy

启动交互式代理

mitmproxy

资源


部署开源代理的实用技巧

  • 安全: 始终启用身份验证并限制允许的 IP。
  • 记录: 监控日志是否存在滥用或故障。
  • 表现: 对于高负载场景,最好使用 Go 或基于 C 的代理。
  • 自动化: 使用 Docker 或 systemd 来管理代理生命周期。
  • 代理来源: 杠杆作用 ProxyRoller 通过 API 获取最新的、经过验证的免费代理。

可操作的工作流程:构建旋转代理池

1.部署ProxyRoller:
使用 Docker 或从源运行来托管您的本地代理 API。

2.与Scraper集成:
为每个请求动态获取代理地址。

3. 监测健康状况:
跟踪响应时间和故障以自动过滤掉无效代理。

4.自动更新:
安排 ProxyRoller 的 API 定期更新,以保持您的代理列表保持最新。


其他资源

日瓦丁·彼得罗维奇

日瓦丁·彼得罗维奇

代理集成专家

Zivadin Petrovic 是数字隐私和数据管理领域的一位聪明且富有创新精神的人,他担任 ProxyRoller 的代理集成专家。年仅 22 岁的 Zivadin 已经为开发高效代理部署的精简系统做出了重大贡献。他的职责包括策划和管理 ProxyRoller 的综合代理列表,确保它们满足寻求增强浏览、抓取和隐私解决方案的用户的动态需求。

评论 (0)

这里还没有评论,你可以成为第一个评论者!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注