Yellow TDS
_ __ __ _ _ __ __ _
| | \ \ / / | | | \ \ / / | |
| |__ _ _ \ \_/ /__| | | _____ _\ \ /\ / /__| |__
| '_ \| | | | \ / _ \ | |/ _ \ \ /\ / /\ \/ \/ / _ \ '_ \
| |_) | |_| | | | __/ | | (_) \ V V / \ /\ / __/ |_) |
|_.__/ \__, | |_|\___|_|_|\___/ \_/\_/ \/ \/ \___|_.__/
__/ |
|___/ https://yellowweb.top
If you like this script, PLEASE DONATE!
USDT TRC20: TKeNEVndhPSKXuYmpEwF4fVtWUvfCnWmra
Bitcoin: bc1qqv99jasckntqnk0pkjnrjtpwu0yurm0qd0gnqv
Ethereum: 0xBC118D3FDE78eE393A154C29A4545c575506ad6B
Yellow TDS - PHP-приложение для маршрутизации трафика по правилам кампании: white/black/trafficback, с логированием кликов, лидами, постбэками и UI для управления.
- PHP
>= 8.2 - Расширения PHP:
curl,sqlite3 - Рабочий HTTPS на домене
- Права записи для папки проекта (создаются/обновляются
db,logs,cache, сессии)
Проверки выполняются в debug.php при каждом запросе.
- Разверните содержимое папки
fromfolder/на хостинге. - Откройте
settings.phpи минимум задайте:
adminPasswordadminDomain(опционально)dbConnection(имя SQLite-файла вdb/)debug(falseдля production)maxMindKey(если нужен автоапдейт GeoLite2)
- Откройте
https://your-domain/admin/и авторизуйтесь. - Создайте кампанию, заполните домены, white/black, фильтры, постбэки, сохраните.
index.php->tds.php-> выбор действия (white,black,trafficback)core.phpсобирает параметры клика: IP, GEO, ISP, OS, browser, UA, query paramsnext.phpиsend.phpобрабатывают переходы по шагам воронки и отправку формpostback.phpпринимает S2S-статусы и обновляет лиды
SQLite в db/<dbConnection>.
Основные таблицы:
campaigns- кампании и их JSON-настройкиclicks- разрешенные клики и лидыblocked- отфильтрованные кликиtrafficback- клики без подходящей кампанииcommon- общие настройки UI
Схема: db/db.sql.
Основные страницы:
admin/index.php- список кампанийadmin/campsettings.php- настройки кампанииadmin/clicks.php- allowed/blocked/leads/trafficbackadmin/statistics.php- агрегированные таблицы
Ключевые блоки настройки кампании:
- Domains
- Safe page (white):
folder,redirect,curl,error - Money page (black): multi-step flows (
steps[], folder/redirect на каждом шаге) - Filters (query-builder, AND/OR группы)
- Scripts (backfix, replace transit/landing, lazy images)
- Statistics (timezone, tables/columns/grouping)
- Postbacks (входящий + исходящий S2S)
- API key для
phpconnect.php
Подключение скрипта:
<script src="https://your-domain/js/index.php"></script>js/index.php может:
- вернуть JS с подменой контента
- показать iframe
- отдать meta-redirect
- обработать JS-check сценарий
Эндпойнт: phpconnect.php
Ограничения:
- только
POST User-Agentдолжен содержатьYellowTDS- тело: JSON с
api_keyи параметрами (tds_ua,tds_ref,tds_ip, ...)
Пример клиента есть в phpclient.php.
Эндпойнт: postback.php
Обязательные параметры:
clickidstatuspayout
Опционально:
currency(по умолчаниюUSD, есть конвертация вcurrency.php)
Если settings.php -> useUTP = true, после лида используется thankyou/index.php.
UTP:
- выбирает/генерирует шаблон
- переводит текст через
thankyou/translator.php - кеширует страницы в
thankyou/cache/ - подставляет макросы (
{NAME},{PHONE},{CLICKID})
Логи пишутся в logs/<subdir>/.
Часто используемые:
logs/errorlogs/loginlogs/postbacklogs/trace(приdebug=true)
Обновление GeoLite2: bases/update.php (использует maxMindKey).
- Сразу смените
adminPassword. - Ограничьте
adminDomain, если админка должна открываться только с одного домена. - Держите
debug=falseна бою. - Не храните репозиторий с рабочими ключами/паролями в публичном доступе.
- Если используете nginx, закройте прямой доступ к SQLite-файлу.
- Источник правды для кампаний - UI + SQLite, не ручной
settings.phpкампаний. - Автоапдейтер в
admin/autoupdate.phpчастично заготовлен (копирование файлов сейчас отключено TODO). - В некоторых dev-конфигах в репозитории есть тестовые папки (
black,white,student) и они не обязательны для production.