Створення власної ферми проксі на Raspberry Pi для роботи з антидетектом
Готові захистити свою цифрову особистість?
Оберіть тариф і запускайте непомітні профілі вже сьогодні.
Резидентні та мобільні проксі від комерційних провайдерів коштують $5-15 за гігабайт. При серйозних обсягах трафіку це стає значною статтею витрат. Альтернатива — побудувати власну інфраструктуру проксі на базі Raspberry Pi з USB-модемами або SIM-роутерами, що дає реальні мобільні IP-адреси за вартістю мобільного інтернет-тарифу.
Це не найпростіший шлях, але для операцій, що використовують більше 100-200 ГБ трафіку на місяць, фінансовий сенс очевидний. До того ж, власні проксі дають повний контроль над ротацією IP та якістю з’єднання.
Архітектура ферми: варіанти побудови
Є кілька підходів до побудови, залежно від бюджету та цілей.
Мінімальний варіант (1-5 вузлів): Raspberry Pi 4 + USB-модем або HUAWEI MiFi-роутер. Один вузол = один мобільний IP. Вартість: $50-100 за вузол без вартості SIM і тарифу.
Середній масштаб (10-30 вузлів): Кілька Raspberry Pi в одному rack-корпусі, централізоване управління через Ansible або скрипти, автоматична ротація IP через перепідключення модемів.
Великий масштаб (50+ вузлів): Спеціалізовані SIM-банки (пристрої, що підтримують 8, 16 або 32 SIM-карти одночасно), мінімалізація обладнання на один IP. Часто використовують одноплатні комп’ютери дешевші за Raspberry Pi (Orange Pi, Banana Pi) для зниження витрат.
Обладнання: що купувати
Raspberry Pi 4 (4GB RAM) — оптимальний вибір для проксі-вузла. Достатньо потужний для запуску проксі-сервера і управляючих скриптів, достатньо тихий для роботи в квартирі, споживає 5-10W.
Альтернативи для зниження витрат:
- Raspberry Pi Zero 2W — дешевший ($15 vs $55), але слабший CPU. Для простого проксі вистачає.
- Orange Pi Zero 3 — порівнянна потужність з Raspberry Pi за нижчою ціною ($20-30).
- GL.iNet роутери — компактні роутери під OpenWrt, деякі з підтримкою USB-модемів. Простіший у налаштуванні, ніж Raspberry Pi.
USB-модеми — рекомендовані HUAWEI E3372 або ZTE MF833 за їхню широку підтримку в Linux і простоту переключення в IP-режим (замість NCM/CDC). Важливо: купуйте незалочені версії або unlocked firmware.
SIM-карти — для різноманітності IP-адрес бажані SIM від різних операторів. Проблема: більшість мобільних тарифів мають dynamic IP — це бажана поведінка, але оператор може присвоювати IP з одного пулу. Для максимальної різноманітності: SIM від різних операторів у тій самій країні.
MicroSD карти — для Raspberry Pi використовуйте якісні карти класу A1 або A2 (Samsung Endurance, SanDisk High Endurance). Дешеві карти швидко виходять з ладу при постійному записі логів.
Живлення — USB-хаби з активним живленням для кількох Raspberry Pi в одному місці. Для 5+ пристроїв розгляньте PoE-рішення або PoE HAT для Raspberry Pi.
Встановлення ОС та базове налаштування
Для кожного Raspberry Pi встановлюємо Raspberry Pi OS Lite (64-bit) — без графічного інтерфейсу, мінімальні витрати ресурсів.
# Після першого завантаження - оновлення системи
sudo apt update && sudo apt upgrade -y
# Встановлення необхідних пакетів
sudo apt install -y \
3proxy \ # Проксі-сервер
usb-modeswitch \ # Перемикання USB-модема в правильний режим
ppp \ # PPP-з'єднання (деякі модеми потребують)
network-manager \ # Управління мережею
curl \
jq \
python3 \
python3-pip
# Встановлення часового поясу (для логування)
sudo timedatectl set-timezone UTC
Налаштування USB-модема:
Більшість сучасних USB-модемів підтримують два режими: “накопичувач” (для завантаження драйверів в Windows) та “модем” (фактичний мережевий пристрій). usb-modeswitch автоматично перемикає модем у правильний режим.
# Перевірка, чи визначився модем
lsusb | grep -i "huawei\|zte\|option"
# Перегляд мережевих інтерфейсів
ip link show
# Модем повинен з'явитися як eth1, usb0 або wwan0
Налаштування 3proxy
3proxy — легковаговий проксі-сервер для Linux. Підтримує SOCKS5 та HTTP з аутентифікацією.
# /etc/3proxy/3proxy.cfg
# Логування
log /var/log/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
maxconn 100
# Аутентифікація
auth strong
users proxy:CL:your_password_here
# Дозвол
allow *
# SOCKS5 на порту 1080
socks -p1080 -i0.0.0.0
# HTTP проксі на порту 3128
proxy -p3128 -i0.0.0.0
# Запуск 3proxy
sudo systemctl enable 3proxy
sudo systemctl start 3proxy
# Перевірка
sudo systemctl status 3proxy
Ротація IP: скрипт перепідключення
Мобільні оператори зазвичай призначають новий IP при кожному перепідключенні. Для ротації IP достатньо відключити і знову підключити модем.
#!/bin/bash
# /usr/local/bin/rotate-ip.sh
MODEM_INTERFACE="wwan0" # або eth1, usb0 - залежить від модема
LOG_FILE="/var/log/ip-rotation.log"
rotate_ip() {
OLD_IP=$(curl -s --max-time 10 ifconfig.me 2>/dev/null || echo "unknown")
# Відключення
sudo ip link set $MODEM_INTERFACE down
sleep 3
# Для HUAWEI модемів - повний reset через AT-команди
if command -v mmcli &> /dev/null; then
MODEM_NUM=$(mmcli -L | grep -o "[0-9]*" | head -1)
mmcli -m $MODEM_NUM --command="AT+CFUN=0" 2>/dev/null
sleep 2
mmcli -m $MODEM_NUM --command="AT+CFUN=1" 2>/dev/null
sleep 5
fi
# Підключення
sudo ip link set $MODEM_INTERFACE up
sleep 10 # Очікуємо отримання IP
NEW_IP=$(curl -s --max-time 10 ifconfig.me 2>/dev/null || echo "unknown")
echo "$(date): Rotated from $OLD_IP to $NEW_IP" >> $LOG_FILE
echo $NEW_IP
}
rotate_ip
Для планової ротації:
# Cron для ротації кожні 30 хвилин
*/30 * * * * /usr/local/bin/rotate-ip.sh >> /var/log/cron-rotation.log 2>&1
Централізоване управління: API для ферми
При наявності кількох вузлів потрібен централізований спосіб управління та моніторингу. Найпростіший підхід — Flask API на кожному вузлі:
#!/usr/bin/env python3
# /usr/local/bin/proxy-api.py
from flask import Flask, jsonify
import subprocess
import requests
import os
app = Flask(__name__)
API_KEY = os.environ.get('API_KEY', 'change-me')
def check_api_key(request):
return request.headers.get('X-API-Key') == API_KEY
@app.route('/status')
def status():
try:
current_ip = requests.get('https://ifconfig.me', timeout=5).text.strip()
except:
current_ip = "unavailable"
return jsonify({
'ip': current_ip,
'hostname': os.uname().nodename,
'proxy_port': 1080
})
@app.route('/rotate', methods=['POST'])
def rotate():
if not check_api_key(request):
return jsonify({'error': 'Unauthorized'}), 401
result = subprocess.run(
['/usr/local/bin/rotate-ip.sh'],
capture_output=True, text=True, timeout=60
)
new_ip = result.stdout.strip()
return jsonify({'new_ip': new_ip, 'success': result.returncode == 0})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
Центральна панель управління — простий Python скрипт, що агрегує статус всіх вузлів:
#!/usr/bin/env python3
# proxy-manager.py (запускається на вашій основній машині)
import requests
import json
NODES = [
{"name": "pi-01", "host": "192.168.1.101", "port": 8080},
{"name": "pi-02", "host": "192.168.1.102", "port": 8080},
# ...
]
API_KEY = "your-api-key"
def get_all_proxies():
proxies = []
for node in NODES:
try:
resp = requests.get(
f"http://{node['host']}:{node['port']}/status",
timeout=5
).json()
proxies.append({
"name": node["name"],
"socks5": f"socks5://{node['host']}:1080",
"current_ip": resp["ip"]
})
except Exception as e:
proxies.append({"name": node["name"], "error": str(e)})
return proxies
def rotate_all():
for node in NODES:
requests.post(
f"http://{node['host']}:{node['port']}/rotate",
headers={"X-API-Key": API_KEY},
timeout=120
)
if __name__ == '__main__':
proxies = get_all_proxies()
print(json.dumps(proxies, indent=2))
Інтеграція з антидетект-браузером
Для Santiago Browser або іншого антидетект-браузера, що підтримує SOCKS5, налаштування проксі тривіальне. У налаштуваннях профілю:
- Тип: SOCKS5
- Хост: IP-адреса вашого Raspberry Pi у локальній мережі (або зовнішня IP при доступі ззовні)
- Порт: 1080
- Логін/пароль: з конфігурації 3proxy
Для роботи ззовні домашньої мережі потрібне або:
- Порт-форвардинг на роутері (не рекомендується через безпеку)
- WireGuard VPN з’єднання між Pi і вашим сервером
- Tailscale (найпростіший варіант для non-tech-oriented налаштування)
WireGuard для безпечного доступу до ферми
WireGuard — найпростіший сучасний VPN для з’єднання Pi з управляючим сервером:
# На кожному Pi:
sudo apt install wireguard
# Генерація ключів
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
# /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <pi-private-key>
Address = 10.0.0.X/24 # X = унікальний для кожного Pi
[Peer]
PublicKey = <server-public-key>
Endpoint = your-server.com:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
Після налаштування WireGuard ви підключаєтесь до ферми через VPN-адреси, і трафік для проксі виходить через мобільний інтернет Pi.
Витрати та ROI
Початкові витрати (10 вузлів):
- 10x Raspberry Pi Zero 2W: ~$150
- 10x USB-модемів: ~$200
- 10x MicroSD 32GB: ~$50
- Power, кабелі, корпус: ~$100
- Разом: ~$500
Щомісячні витрати:
- 10x SIM з мобільним інтернетом (10 ГБ/місяць кожна): ~$50-150 залежно від країни та оператора
- Електроенергія (10 вузлів по ~3W): ~$5
Порівняння з комерційними проксі:
- Комерційні мобільні проксі: $10-15/ГБ
- Власна ферма: ~$0.5-1.5/ГБ ефективна вартість
- ROI досягається приблизно на 50-80 ГБ трафіку
Для операцій, що використовують більше 100 ГБ мобільного трафіку на місяць, власна ферма окупається протягом 2-4 місяців і залишається значно дешевшою в довгостроковій перспективі.
Типові проблеми та вирішення
Модем не визначається — перевірте lsusb, встановіть usb-modeswitch, можливо потрібна ручна конфігурація для нестандартного модема.
IP не ротується при перепідключенні — деякі оператори фіксують IP на сесію. Спробуйте відключати SIM на кілька хвилин. Деякі модеми підтримують AT+CGDCONT для примусового скидання сесії.
Висока затримка через проксі — мобільний інтернет має вищу затримку, ніж провідний. Для задач де latency критична, мобільні проксі менш оптимальні. Для більшості завдань антидетект-браузинга затримка 50-150ms є прийнятною.
Модеми перегріваються — забезпечте вентиляцію. USB-модеми без активного охолодження можуть перегріватися при постійній роботі. Пасивні радіатори або невеликий вентилятор вирішують проблему.
Готові захистити свою цифрову особистість?
Оберіть тариф і запускайте непомітні профілі вже сьогодні.
Отримуйте 15% довічну комісію з кожного реферала.
Стати партнером →