UGC Reactions from Real Creators
真实创作者视频库,视频仅需 11 美元,图片仅需 8 美元。定制化制作起价 25 美元/视频,最低消费 250 美元。包含商业授权。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
Доменомер — бесплатная массовая проверка Ahrefs Domain Rating (DR) для списка доменов. Инструмент экосистемы Делосвод: серверная очередь под лимит API, кэш, экспорт CSV
翻译准备中
正在加载完整 README。
查看完整 README ↗https://domenomer.ru — бесплатная массовая проверка Ahrefs Domain Rating (DR) для списка доменов. Вставили список — получили таблицу с DR, отфильтровали, выгрузили в CSV. Бесплатный инструмент экосистемы Делосвод.
Работает через бесплатный эндпоинт Ahrefs domain-rating-free (0 API units), но ему нужен ключ APIv3 — он лежит на сервере и в браузер не попадает.
www. нормализуются, дубли убираются, кириллические домены (.рф) поддерживаютсяRetry-After или экспоненциальный backoff), кнопка «Стоп» (или Esc) с сохранением уже полученных результатовgit clone https://github.com/kotophalk/domenomer.git
cd domenomer
cp .env.example .env # вписать AHREFS_API_KEY=...
./start.sh # или: python3 server.py
Открыть http://localhost:3000. Ключ Ahrefs APIv3 создаётся в Ahrefs: Account settings → API keys (подробнее); переменная окружения AHREFS_API_KEY имеет приоритет над .env.
Через Docker:
docker compose up -d --build # порт 127.0.0.1:8003, .env читает compose
GET /api/dr?target=<домен> — DR одного домена. Ответ Ahrefs пробрасывается как есть:
{"domain_rating": {"domain_rating": 42.0, "license": "..."}}
Заголовок X-Cache: HIT|MISS. Ошибки — {"error": "..."}: 400 (некорректный домен), 429 (лимит на IP или очередь к Ahrefs заполнена; заголовок Retry-After), 502 (Ahrefs недоступен / неожиданный ответ), 503 (не задан ключ).
Служебные: GET /api/limits → {"max_domains", "upstream_rate_per_min", "cache_ttl"}; GET /healthz (503, если нет ключа).
Страницы: / — интерфейс, /privacy — политика конфиденциальности (static/privacy.html). Счётчик Яндекс.Метрики и уведомление о cookie появляются только при заданном METRIKA_ID.
| Переменная | По умолчанию | Смысл |
|---|---|---|
AHREFS_API_KEY | — | ключ Ahrefs APIv3, обязателен |
HOST, PORT | 0.0.0.0, 3000 | адрес и порт (в Docker — 8080) |
UPSTREAM_RATE_PER_MIN | 60 | лимит Ahrefs на ключ, держится глобально |
QUEUE_MAX_WAIT | 30 | секунд ожидания слота в очереди, дальше 429 |
PER_IP_CONCURRENCY | 6 | одновременных запросов к /api/dr с одного IP |
MAX_DOMAINS | 200 | доменов за один прогон (сообщается фронтенду) |
CACHE_TTL, CACHE_MAX | 86400, 50000 | кэш успешных ответов, сек / записей (0 — выключить) |
TRUST_PROXY | 0 | 1 — брать IP клиента из X-Forwarded-For / X-Real-IP |
CORS_ALLOW_ORIGIN | пусто | * или список origin через запятую — разрешить API с других сайтов |
METRIKA_ID | пусто | Номер счётчика Яндекс.Метрики; пусто — сниппет из index.html вырезается |
AHREFS_API_URL | боевой URL | подмена апстрима (для тестов) |
LOG_LEVEL | INFO | уровень логирования |
Схема та же, что у соседних инструментов на том же VPS (подробно — в docs/deploy.md репозитория slovostat): Caddy на хосте терминирует TLS, каждый инструмент — свой каталог в /opt со своим docker-compose.yml и портом на 127.0.0.1.
sudo install -d -o deploy -g deploy /opt/domenomer
git clone https://github.com/kotophalk/domenomer.git /opt/domenomer
cd /opt/domenomer
cp .env.example .env # вписать AHREFS_API_KEY; порт 8003
docker compose up -d --build
curl -s http://127.0.0.1:8003/healthz
Домен: deploy/domenomer.caddy (domenomer.ru → 127.0.0.1:8003; www, domenomer.delosvod.ru и доменомер.рф → 301 на domenomer.ru) кладётся в /etc/caddy/conf.d/, затем sudo -u caddy caddy validate --config /etc/caddy/Caddyfile && sudo systemctl reload caddy. Сертификат Caddy получит сам. Редиректы с бренд-доменов domenomer.ru / доменомер.рф — deploy/domenomer-redirects.caddy, ставится отдельно, когда их A-записи укажут на сервер.
Обновление: /opt/domenomer/deploy/update.sh (подтягивает origin/main, пересобирает, ждёт /healthz). Автодеплой: GitHub Actions после зелёных тестов на main запускает тот же скрипт по SSH-ключу с forced command; секреты DEPLOY_SSH_KEY, DEPLOY_HOST, DEPLOY_KNOWN_HOSTS — как у slovostat.
python3 -m unittest discover -s tests -v
Офлайн: нормализация доменов, лимитер (окно, FIFO, пауза), кэш, лимит на IP, HTTP-контракт с подменённым апстримом, защита статики от обхода пути.
server.py — HTTP-сервер: статика, /api/dr (прокси к Ahrefs с очередью, кэшем и лимитами), /api/limits, /healthz.static/ — фронтенд (ванильный JS/CSS, без сборки).deploy/ — Caddy-блоки и update.sh.tests/ — тесты.Domain Rating by Ahrefs. Использование DR-данных регулируется Ahrefs Domain Rating License: атрибуция обязательна, обход лимитов и сбор датасета запрещены — отсюда серверный лимит и короткий TTL кэша.