Skip to content

Kuzko-coder/pump-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PumpFun Proxy Viewer 🚀

Инструмент для эмуляции зрителей на стримах платформы PumpFun с поддержкой прокси, ротации цифровых отпечатков и системой анти-детекции.

Node.js Puppeteer License Docker

📋 Содержание

✨ Возможности

🎯 Основные функции

  • Эмуляция зрителей: До 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+ сервера для начала

Установка за 5 минут

# 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 | bash

Ручная установка

1. Установка Node.js

Ubuntu/Debian:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

CentOS/RHEL:

curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo dnf install -y nodejs npm

macOS:

brew install node

2. Клонирование и настройка

# Клонирование репозитория
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

⚙️ Конфигурация

Основная конфигурация (config/config.json)

{
  "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
  }
}

Конфигурация прокси (config/proxies.txt)

# 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 развертывание (рекомендуется для продакшн)

# Запуск через 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 развертывание

# Сборка и запуск
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 мониторинг

# Веб-интерфейс
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            # Зависимости

🚨 Решение проблем

Частые ошибки

"No available proxy slots"

# Решение: Добавьте больше прокси или уменьшите количество зрителей
echo "http://new-proxy.com:8080" >> config/proxies.txt

# Или отредактируйте config.json:
# "viewers": { "count": 5 }  # Уменьшить количество

"Chrome launch failed" (Linux)

# 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

"Memory limit exceeded"

# Увеличить лимит памяти 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 для деталей.

⚠️ Отказ от ответственности

Этот инструмент предназначен исключительно для образовательных и тестовых целей. Пользователи несут ответственность за:

  • ✅ Соблюдение условий использования платформ
  • ✅ Использование легальных прокси-серверов
  • ✅ Соблюдение местного законодательства
  • ✅ Этичное использование инструмента

📞 Поддержка


⭐ Если проект оказался полезным, поставьте звезду! ⭐

Сделано с ❤️ для сообщества

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors