Инструмент для эмуляции зрителей на стримах платформы PumpFun с поддержкой прокси, ротации цифровых отпечатков и системой анти-детекции.
- Возможности
- Быстрый старт
- Установка
- Конфигурация
- Использование
- Масштабирование
- Мониторинг
- Документация
- Решение проблем
- ✅ Эмуляция зрителей: До 100+ одновременных зрителей
- ✅ Поддержка прокси: HTTP/HTTPS/SOCKS4/SOCKS5 с автоматическим распределением
- ✅ Анти-детекция: Stealth плагин + рандомизация fingerprints
- ✅ Масштабирование: PM2 и Docker для горизонтального роста
- ✅ Мониторинг: Детальная система логирования и метрики
- Browser Fingerprints: Canvas, WebGL, Audio рандомизация
- User-Agent ротация: Случайные Chrome/Firefox/Safari
- Proxy балансировка: Максимум 3 зрителя на прокси
- Человеческое поведение: Случайные задержки и взаимодействия
- Timezone ротация: 21 различная временная зона
- Модульная архитектура: Легко расширяемая и поддерживаемая
- Graceful shutdown: Корректное завершение всех сессий
- Resource optimization: Эффективное использование памяти и CPU
- Error handling: Robust система обработки ошибок
- Node.js: 16.0.0 или выше
- RAM: 2GB (для 10 зрителей), 8GB+ (для 50+)
- CPU: 2+ ядра
- Прокси: 4+ сервера для начала
# 1. Клонирование проекта
git clone https://github.com/your-repo/pump-proxy.git
cd pump-proxy
# 2. Установка зависимостей
npm install
# 3. Настройка прокси
echo "http://username:password@proxy1.com:8080" > config/proxies.txt
echo "socks5://user:pass@proxy2.com:1080" >> config/proxies.txt
# 4. Настройка URL (отредактируйте config/config.json)
# Замените URL на актуальную ссылку PumpFun
# 5. Запуск приложения
npm start# Скачать и запустить установочный скрипт
curl -fsSL https://raw.githubusercontent.com/your-repo/pump-proxy/main/install.sh | bashUbuntu/Debian:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejsCentOS/RHEL:
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo dnf install -y nodejs npmmacOS:
brew install node# Клонирование репозитория
git clone https://github.com/your-repo/pump-proxy.git
cd pump-proxy
# Установка зависимостей
npm install
# Создание директорий для логов
mkdir -p logs browser-profiles
# Проверка установки
node --version
npm run --version{
"stream": {
"url": "https://pump.fun/coin/YOUR_COIN_ADDRESS",
"viewTime": {
"min": 300000, // 5 минут (миллисекунды)
"max": 1200000 // 20 минут (миллисекунды)
}
},
"viewers": {
"count": 10, // Количество зрителей
"maxPerProxy": 3, // Максимум зрителей на прокси
"concurrentSessions": 3 // Одновременных запусков
},
"browser": {
"headless": true, // true для серверов, false для отладки
"userDataDir": "./browser-profiles"
},
"proxy": {
"file": "./config/proxies.txt",
"rotation": true,
"timeout": 30000 // 30 секунд
},
"fingerprinting": {
"enableStealth": true,
"randomizeCanvas": true,
"randomizeWebGL": true,
"randomizeAudio": true
}
}# HTTP/HTTPS прокси с авторизацией
http://username:password@proxy1.example.com:8080
https://user:pass@proxy2.example.com:443
# SOCKS прокси
socks4://proxy3.example.com:1080
socks5://user:pass@proxy4.example.com:1080
# Прокси без авторизации
http://free-proxy.example.com:8080
# Комментарии (игнорируются)
# http://disabled-proxy.com:8080# 10 зрителей (по умолчанию)
node src/index.js --config ./config/config.json
# 50 зрителей
node src/index.js --config ./config/config-scale-2.json
# Кастомная конфигурация
cp config/config.json config/my-config.json
# Отредактируйте my-config.json под ваши нужды# Запуск с конфигурацией по умолчанию
npm start
# Запуск с кастомной конфигурацией
node src/index.js --config ./config/my-config.json
# Запуск с мониторингом (статус каждые 30 секунд)
node src/index.js --status
# Режим разработки (с трассировкой)
npm run dev
# Показать справку
node src/index.js --helpИспользование: node src/index.js [опции]
Опции:
-c, --config <path> Путь к файлу конфигурации
-s, --status Показывать периодические обновления
-h, --help Показать справку
Примеры:
node src/index.js
node src/index.js -c ./config/config-scale-2.json
node src/index.js --status# Запуск через PM2
npm run pm2:start
# Масштабирование до 5 процессов
pm2 scale pump-viewer 5
# Мониторинг в реальном времени
pm2 monit
# Просмотр логов
pm2 logs pump-viewer
# Перезапуск без даунтайма
pm2 reload pump-viewer
# Остановка
pm2 stop pump-viewer# Сборка и запуск
docker build -t pump-viewer .
docker run -d --name viewer pump-viewer
# Docker Compose (рекомендуется)
docker-compose up -d
# Масштабирование
docker-compose up -d --scale viewer=10
# Просмотр логов
docker-compose logs -f viewer| Зрители | RAM | CPU | Прокси | Примечание |
|---|---|---|---|---|
| 10 | 2GB | 2 ядра | 4+ | Базовая настройка |
| 50 | 8GB | 4 ядра | 17+ | Средняя нагрузка |
| 100 | 16GB | 8 ядер | 34+ | Высокая нагрузка |
| 500+ | 32GB+ | 16+ ядер | 167+ | Enterprise |
# Запуск с периодическими отчетами
node src/index.js --status
# Просмотр логов в реальном времени
tail -f logs/viewers.log
# Поиск ошибок
grep "ERROR" logs/viewers.log📊 Status Report - 2025-09-05 12:30:45
===========================================
Active Viewers: 8/10
Proxy Usage: 6/12 slots used
Memory Usage: 1.2GB
Uptime: 15m 32s
Successful Sessions: 95%
Failed Connections: 2
Average Session Time: 8m 45s
🔗 Proxy Distribution:
├── proxy1.com:8080 [2/3] ████████▒▒
├── proxy2.com:1080 [3/3] ██████████
└── proxy3.com:8080 [1/3] ███▒▒▒▒▒▒▒
# Веб-интерфейс
pm2 web
# Откроется http://localhost:9615
# Мониторинг CPU/Memory
pm2 monit
# Статистика процессов
pm2 status- ARCHITECTURE.md - Подробная архитектура системы
- DOCUMENTATION.md - Техническое руководство
- CHECKLIST.md - Чеклист выполнения проекта
- API.md - Документация API (в разработке)
pump-proxy/
├── 📁 config/ # Конфигурационные файлы
│ ├── config.json # Основная конфигурация
│ ├── config-scale-*.json # Конфиги для масштабирования
│ └── proxies.txt # Список прокси-серверов
├── 📁 src/ # Исходный код
│ ├── index.js # Точка входа
│ ├── PumpViewerManager.js # Менеджер зрителей
│ ├── ProxyManager.js # Управление прокси
│ ├── FingerprintManager.js # Генерация отпечатков
│ ├── PumpViewer.js # Класс зрителя
│ ├── Logger.js # Система логирования
│ └── utils.js # Утилиты
├── 📁 logs/ # Логи (создается автоматически)
├── 📁 browser-profiles/ # Профили браузеров
├── 🐳 Dockerfile # Docker образ
├── 🐳 docker-compose.yml # Docker Compose
├── ⚙️ ecosystem.config.js # PM2 конфигурация
└── 📦 package.json # Зависимости
# Решение: Добавьте больше прокси или уменьшите количество зрителей
echo "http://new-proxy.com:8080" >> config/proxies.txt
# Или отредактируйте config.json:
# "viewers": { "count": 5 } # Уменьшить количество# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y chromium-browser libnss3 libatk-bridge2.0-0
# CentOS/RHEL
sudo yum install -y chromium libXScrnSaver# Увеличить лимит памяти Node.js
node --max-old-space-size=4096 src/index.js
# Или уменьшить одновременные сессии в config.json:
# "concurrentSessions": 2# Создать диагностический скрипт
cat > diagnose.js << 'EOF'
const fs = require('fs');
const puppeteer = require('puppeteer');
async function diagnose() {
console.log('🔍 System Diagnostics');
console.log(`Node.js: ${process.version}`);
try {
const config = JSON.parse(fs.readFileSync('./config/config.json'));
console.log('✅ Config: Valid');
} catch (e) {
console.log('❌ Config:', e.message);
}
try {
const browser = await puppeteer.launch({ headless: true });
await browser.close();
console.log('✅ Puppeteer: Working');
} catch (e) {
console.log('❌ Puppeteer:', e.message);
}
}
diagnose().catch(console.error);
EOF
# Запуск диагностики
node diagnose.js# Системные оптимизации (Linux)
sudo echo "* soft nofile 65536" >> /etc/security/limits.conf
sudo echo "* hard nofile 65536" >> /etc/security/limits.conf
# Настройки браузера для высокой нагрузки
# Добавьте в config.json:
{
"browser": {
"args": [
"--memory-pressure-off",
"--max_old_space_size=4096",
"--renderer-process-limit=10"
]
}
}# Форк репозитория
git clone https://github.com/your-username/pump-proxy.git
cd pump-proxy
# Создание ветки для новой функции
git checkout -b feature/my-new-feature
# Внесение изменений и коммит
git add .
git commit -m "Add new feature"
# Отправка в ваш форк
git push origin feature/my-new-feature
# Создание Pull RequestЭтот проект лицензирован под MIT License - см. файл LICENSE для деталей.
Этот инструмент предназначен исключительно для образовательных и тестовых целей. Пользователи несут ответственность за:
- ✅ Соблюдение условий использования платформ
- ✅ Использование легальных прокси-серверов
- ✅ Соблюдение местного законодательства
- ✅ Этичное использование инструмента
- 🐛 Баги: Создать issue
- 💬 Вопросы: Discussions
- 📧 Email: support@yourproject.com
- 📚 Wiki: Документация
⭐ Если проект оказался полезным, поставьте звезду! ⭐
Сделано с ❤️ для сообщества