Упрощённый клон Keitaro Tracker — система для управления и отслеживания трафика с возможностями сплит-тестирования, ротации потоков и учёта конверсий.
Для автоматической установки на "чистый" Linux сервер выполните команду в терминале (под root / sudo):
wget -qO- https://raw.githubusercontent.com/fenjo26/Orbitra.link/main/install.sh | bashУстановщик автоматически скачает исходный код GitHub, установит Nginx, PHP 8+, SQLite, загрузит собранный релиз Frontend'a и настроит бесплатный SSL-сертификат Let's Encrypt для вашего домена.
- SQLite база данных (
orbitra_db.sqlite), создаваемая на лету(без необходимости MySQL). - Единый конфигурационный файл
config.phpс автоматическим накатом таблиц. - Таблицы:
campaigns,offers,landings,affiliate_networks,streams,clicks,conversions,domains,traffic_sources,telegram_bot_chatsи другие. - Анти-дребезг (Debounce) ядро: Встроенная система защиты от двойных кликов при агрессивной фоновой предзагрузке (prefetch/prerender) ссылок современными браузерами.
- Современная SPA админ-панель, вдохновленная дизайном Keitaro (боковая панель слева, контент справа, серый чистый фон, минималистичные тени).
- Разделы:
- Дашборд: Главная страница со сводкой и логами кликов/конверсий.
- Кампании: Список кампаний с удобной полноэкранной панелью редактирования (
CampaignEditor.jsx). Левая часть — основные параметры, правая — гибкая настройка потоков (Streams). - Офферы, Лендинги, Источники, Партнёрки, Домены: Полноценные CRUD-таблицы с модальными окнами для редактирования. Плавное закрытие, кнопки "Сохранить", чекбоксы "Добавить еще".
- Гео Базы: Загрузка и обновление
SxGeoCity.datнапрямую из админки в один клик. - Настройки: Аналог инструментария Keitaro "Advanced Settings". Смена паролей, глобальные конфигурации системы, настройка конверсий (mapping), кастомные метрики и мощный анти-бот (user-agents, IPs).
- Миграции и Обновления системы: Встроенная система наката схем БД и автоматический
git pullпрямо из админки. - Архив: Безопасное "мягкое" удаление элементов с возможностью их восстановления или полной очистки сборщиком мусора.
- Smart UI: Компонент
GeoSelectorс поддержкой визуальных тегов (флагов), режима массового ввода текста (textarea) и автодополнения по профилям (EU, CIS, etc). Встроенная "Детализация клика" (Click Details Modal) для аналитики логов. - Сплит-тесты: Поддержка A/B тестирования прямо внутри потоков (Stream Schema) со встроенным валидатором весов.
- WordPress Плагин: Официальный WP-плагин для быстрой монетизации трафика и вставки мультиязычных кнопок на сайты.
- Безопасность API: Полная защита интерфейсов μέσω Session Management (Anti-Fraud, SSRF Protection, JWT-совместимость аутентификации React).
- Полная поддержка двух языков: Русский (RU) и Английский (EN).
- Контекст
LanguageContextс хукомuseLanguage()для доступа к функции переводаt(). - Файлы переводов:
src/locales/en.js(~1100 ключей) иsrc/locales/ru.js(~1260 ключей). - Все 46 компонентов переведены — нет захардкоженных строк в UI.
- Переключение языка в Профиль → Настройки с мгновенным применением без перезагрузки.
- Страница профиля (
ProfileSettings.jsx):- Выбор языка интерфейса (Русский / English)
- Настройка часового пояса (полный список IANA)
- Первый день недели (Понедельник / Воскресенье)
- Смена пароля
- Настройки сохраняются per-user и применяются глобально.
- Полнофункциональный Telegram-бот для мониторинга трекера:
/stats//stats 7d— статистика (клики, конверсии, доход, ROI)/campaigns— список активных кампаний с метриками/campaign ID— детальная статистика по кампании/top— ТОП-5 кампаний по доходу (🥇🥈🥉)/conversions— последние 10 конверсий/notify on|off— уведомления о новых конверсиях/daily on|off— ежедневная сводка/lang ru|en— смена языка бота
- Автоматические уведомления:
- Мгновенное при каждой конверсии (кампания, статус, сумма, страна + флаг)
- Ежедневная сводка с ТОП-3 кампаниями
- UI настройки во вкладке Интеграции → Telegram Bot:
- Ввод токена с показом/скрытием
- Индикатор подключения (зелёный/красный)
- Список подключённых чатов
- Toggle уведомлений и время ежедневной сводки
- Тестовое сообщение
- Бот мультиязычный — поддерживает RU и EN.
- Проверка DNS статуса в реальном времени (автоматический резолв A-записи).
- Модальное окно с инструкциями по парковке и автоопределением IP сервера.
- HTTPS-only: Тумблер для принудительного 301 редиректа на безопасный протокол.
- Защита от ботов: Встроенный перехват
/robots.txtи отдача заголовковX-Robots-Tag: noindex, nofollowдля паркованных доменов.
- Графики по метрикам: клики, уники, конверсии, доход, расход, прибыль, CTR, CR
- Группировка: по дням, неделям, месяцам, часам
- Таблица с данными
- Фильтры по параметрам
- 4 секции таблиц: Кампании, Офферы, Лендинги, Источники (в сетке 2x2)
- Сортировка топов с учетом глобального фильтра по датам и автоматическое скрытие сущностей с нулевым трафиком
- Синхронизация времени обновления дашборда со строгим серверным часовым поясом логирования
- Перемещён ConversionsLog в раздел Admin
Orbitra/
├── config.php # Конфигурация БД и инициализация таблиц SQLite
├── database.sql # Схема БД (документация SQLite)
├── api.php # REST API для React frontend
├── index.php # Основной трекер — приём кликов и редиректы
├── postback.php # Приём постбеков от партнёрских сетей
├── telegram_bot.php # 🤖 Telegram Bot webhook handler
├── telegram_notify.php # 🤖 Уведомления бота (конверсии + daily)
├── router.php # Router для PHP built-in server
├── admin.php # Admin panel (React App)
├── .htaccess # Apache mod_rewrite правила
├── orbitra_db.sqlite # Файл БД SQLite (создаётся автоматически)
├── landings/ # Папка для загруженных локальных лендингов
└── frontend/ # React + Vite frontend
├── src/
│ ├── App.jsx # Главный компонент с роутингом
│ ├── main.jsx # Entry point
│ ├── index.css # Стили + CSS переменные для темизации
│ ├── contexts/
│ │ └── LanguageContext.jsx # 🌍 Контекст мультиязычности
│ ├── locales/
│ │ ├── en.js # 🌍 Английские переводы (~1100 ключей)
│ │ └── ru.js # 🌍 Русские переводы (~1260 ключей)
│ └── components/ # 46 React компонентов
│ ├── Navbar.jsx # Навигация + переключатель темы
│ ├── StatCards.jsx # Карточки метрик
│ ├── MainChart.jsx # График кликов/конверсий
│ ├── DataTables.jsx # 4 таблицы на дашборде
│ ├── DashboardHeader.jsx # Шапка дашборда с фильтрами
│ ├── DashboardSettingsModal.jsx # Настройки дашборда
│ ├── TrendsPage.jsx # Страница аналитики и трендов
│ ├── CampaignEditor.jsx # Полноэкранный редактор кампаний
│ ├── CampaignReports.jsx # Отчёты по кампаниям
│ ├── RecentClicks.jsx # Последние клики
│ ├── ClickDetailsModal.jsx # Детализация клика
│ ├── Campaigns.jsx # Список кампаний
│ ├── Offers.jsx # Список офферов
│ ├── OfferEditor.jsx # Редактор оффера
│ ├── Landings.jsx # Список лендингов
│ ├── LandingEditor.jsx # Редактор лендинга
│ ├── Domains.jsx # Управление доменами
│ ├── TrafficSources.jsx # Источники трафика
│ ├── TrafficSourceEditor.jsx # Редактор источника
│ ├── AffiliateNetworks.jsx # Партнерские сети
│ ├── AffiliateNetworkEditor.jsx # Редактор сети
│ ├── IntegrationsPage.jsx # Скрипты интеграции + Telegram Bot 🤖
│ ├── ConversionsLog.jsx # Лог конверсий
│ ├── ConversionTypesSettings.jsx # Настройка типов конверсий
│ ├── CustomMetricsSettings.jsx # Кастомные метрики
│ ├── PostbackSettings.jsx # Настройки Postback
│ ├── TrafficSimulation.jsx # Симуляция трафика
│ ├── GeoSelector.jsx # Селектор стран с флагами
│ ├── GeoProfilesPage.jsx # Гео-профили
│ ├── GroupsModal.jsx # Универсальный модал групп
│ ├── ProfileSettings.jsx # 👤 Профиль (язык, часовой пояс)
│ ├── Login.jsx # Авторизация
│ ├── SetupWizard.jsx # Мастер первичной настройки
│ ├── UsersPage.jsx # Управление пользователями
│ ├── BrandingPage.jsx # Настройки брендинга и тем
│ ├── BotSettings.jsx # Настройки бот-фильтров
│ ├── PrivacySettings.jsx # Настройки приватности
│ ├── GeneralSettings.jsx # Общие настройки системы
│ ├── SystemSettings.jsx # Системные настройки
│ ├── Settings.jsx # Расширенные настройки трекера
│ ├── ArchivePage.jsx # Архив удалённых элементов
│ ├── MigrationsPage.jsx # Миграции БД
│ ├── UpdatePage.jsx # Обновление системы
│ ├── LogsPage.jsx # Расширенные логи аудита и трафика
│ ├── AdminPage.jsx # Страницы администрирования
│ └── GeoDBPage.jsx # Управление гео-базами
├── index.html
├── vite.config.js
└── package.json
GET ?action=metrics— агрегированные метрики (клики, конверсии, доход)GET ?action=chart— данные для графика по днямGET ?action=logs— последние кликиGET ?action=trends— данные для графиков и таблиц аналитики
GET ?action=campaigns— список кампаний со статистикойGET ?action=get_campaign&id=X— получение кампании с потокамиPOST ?action=save_campaign— создание/обновление кампанииPOST ?action=delete_campaign— удаление кампанииGET/POST ?action=campaign_groups— группы кампанийGET ?action=campaign_logs&campaign_id=X— логи кликов кампанииPOST ?action=clear_campaign_stats— очистка статистики кампании
GET ?action=offers— список офферов со статистикойGET ?action=all_offers— краткий список активных офферовGET ?action=get_offer&id=X— получение оффераPOST ?action=save_offer— создание/обновление оффераPOST ?action=delete_offer— удаление оффера
GET ?action=landings— список лендинговGET ?action=get_landing&id=X— получение лендингаPOST ?action=save_landing— создание/обновлениеPOST ?action=delete_landing— удалениеPOST ?action=upload_landing— загрузка ZIP архива
GET/POST ?action=traffic_sources— CRUD источниковGET ?action=traffic_source_templates— шаблоны (Facebook, Google, TikTok и др.)
GET/POST ?action=affiliate_networks— CRUD партнерских сетейGET ?action=affiliate_network_templates— шаблоны (Leadbit, M4Leads и др.)
GET ?action=conversions— лог конверсий с фильтрами и пагинациейGET ?action=conversion_statuses— список статусовPOST ?action=import_conversions— импорт конверсий
GET ?action=settings— получение настроекPOST ?action=save_settings— сохранение настроекGET/POST ?action=profile_settings— настройки профиля пользователя
GET ?action=geo_profiles— список гео-профилейGET ?action=countries_list— список всех стран с кодами
GET ?action=users— список пользователейPOST ?action=save_user— создание/обновление пользователяPOST ?action=login— авторизацияGET ?action=init_admin— инициализация администратора
GET ?action=telegram_settings— статус бота, список чатовPOST ?action=save_telegram_settings— сохранение токена, установка webhookPOST ?action=telegram_test— отправка тестового сообщения
GET ?action=archive_items— элементы в архивеPOST ?action=archive_restore— восстановление из архиваPOST ?action=archive_purge— окончательное удаление
┌─────────────────────────────────────────────────────────┐
│ Header: [Сохранить] [Copy] [Log] [⋮] [X] │
├──────────────┬──────────────────────────────────────────┤
│ Слева (320px)│ Справа - Потоки │
│ ────────────│ ┌─────────────────────────────────────┐ │
│ Основные │ │ [Перехват] [Обычный] [Замыкающий] │ │
│ Финансы │ ├─────────────────────────────────────┤ │
│ Параметры │ │ Потоки с фильтрами и схемами... │ │
│ Интеграции │ └─────────────────────────────────────┘ │
│ S2S Postbacks│ │
│ Заметки │ │
└──────────────┴──────────────────────────────────────────┘
- Название кампании
- Алиас (автогенерация 6 символов)
- URL кампании (с копированием)
- Домен, Группа, Источник трафика
- Код для лендингов (JavaScript)
- 6 моделей вознаграждения:
- CPC (Оплата за клик)
- CPuC (Оплата за уникальный клик)
- CPM (Оплата за тысячу показов)
- CPA (Оплата за действие)
- CPS (Оплата за продажу)
- RevShare (Процент от дохода)
- Метод уникальности (IP, IP+UA, Cookies)
- Срок уникальности (часов)
- Ротация потоков (по весу / по позиции)
37 параметров для передачи:
- keyword, cost, currency, external_id
- creative_id, ad_campaign_id, source
- sub_id_1 .. sub_id_30
5 предустановленных интеграций:
- 🎵 TikTok
- 🔍 Яндекс
- 🔎 Google Ads
- 💬 VK Ads
- URL для постбеков
- Метод (GET/POST)
- Статусы для отправки
- Текстовое поле для заметок
- Отчёты по источнику
- Отчёты по ГЕО
- Отчёты по потоку
- Лог конверсий
- Обновить расходы
- Симуляция трафика
- Очистка статистики
| Метрика | Цвет на графике |
|---|---|
| Клики | 🔵 Синий |
| Уник. клики | 🟢 Зелёный |
| Конверсии | 🟡 Жёлтый |
| Доход | 🟣 Фиолетовый |
| Расход | 🔴 Красный |
| Прибыль | 🔵 Голубой |
| CTR | 💗 Розовый |
| CR | 🟢 Лаймовый |
- По дням
- По неделям
- По месяцам
- По часам
- По дню недели
- По всем полям кликов
- Операторы: содержит, не содержит, равно, не равно, начинается с, заканчивается на
┌─────────────────────┬─────────────────────┐
│ Кампании (Топ 10) │ Офферы (Топ 10) │
├─────────────────────┼─────────────────────┤
│ Лендинги (Топ 10) │ Источники (Топ 10) │
└─────────────────────┴─────────────────────┘
Каждая таблица показывает: Название, Клики, Уники, Конверсии
- Создайте бота через
@BotFatherв Telegram - Откройте Интеграции → Telegram Bot → вставьте токен → Подключить
- Отправьте
/startботу в Telegram - Готово! Бот активен и начнёт отправлять уведомления.
| Команда | Описание |
|---|---|
/start |
Приветственное сообщение |
/stats |
Статистика за сегодня |
/stats 7d |
Статистика за 7 дней (также: 1d, 30d, yesterday) |
/campaigns |
Список активных кампаний |
/campaign ID |
Детальная статистика по кампании |
/top |
ТОП-5 кампаний по доходу |
/conversions |
Последние 10 конверсий |
/notify on|off |
Вкл/выкл уведомлений о конверсиях |
/daily on|off |
Вкл/выкл ежедневной сводки |
/lang ru|en |
Смена языка бота |
/help |
Справка по командам |
- Конверсия: кампания, статус, сумма, валюта, страна (с флагом), время
- Ежедневная сводка: клики, конверсии, доход/расход/профит + ТОП-3 кампании
# Терминал 1: Backend
cd Orbitra
php -S localhost:8080 router.php
# Терминал 2: Frontend
cd Orbitra/frontend
npm install
npm run devcd Orbitra/frontend
npm run build$db_file = __DIR__ . '/orbitra_db.sqlite'; // Путь к БД
$postback_key = 'fd12e72'; // Ключ для постбеков- URL: http://localhost:8080
- Логин:
admin - Пароль:
admin
- Рефакторинг CampaignEditor (интерфейс как в Keitaro)
- TrendsPage с графиками
- 4 секции на Dashboard
- 6 моделей вознаграждения
- 30+ параметров
- Интеграции (Facebook, TikTok, Яндекс)
- Автогенерация алиаса
- Умный Geo Selector с тегами и текстом
- А/Б тестирование офферов (сплит по весам)
- Детерминированная маршрутизация и сортировка потоков
- Продвинутое управление доменами (DNS-чекер, HTTPS, защита от ботов)
- Мультиязычность (RU/EN) — полная локализация всех компонентов
- Профиль пользователя (язык, часовой пояс, первый день недели)
- Telegram Bot интеграция (статистика, уведомления, 10 команд)
- Архив с мягким удалением и восстановлением
- Полноценные отчёты по кампаниям
- Экспорт статистики в CSV
- Интеграция с гео-базами (MaxMind)
- Backend: PHP 8+ (без фреймворков)
- Database: SQLite 3
- Frontend: React 18 + Vite
- UI: CSS Variables + Custom Design System
- Icons: Lucide React
- HTTP Client: Axios
- i18n: Custom LanguageContext (RU/EN)
- Bot: Telegram Bot API (webhook)
Создано как учебный и коммерческий проект для арбитражников и вебмастеров по управлению трафиком.
Tags: tracker, affiliate-marketing, keitaro-clone, php-tracker, react-admin, cpa, cpa-network, traffic-management, split-testing