Чистка: устаревшие комментарии и подсказки, export-скрипт, мусорный файл
Комментарии про методы входа приведены к факту (логин/пароль и Telegram везде, stub только в development): config.py, .env.example, telegram.py, dev_stub.py, dev_auth.py, login.py. admin_login.py больше не обещает «строже игроцкого» — описаны реальные лимиты; client_ip — адрес за прокси уже даёт uvicorn. Подсказки деплоя: run.ps1/run.sh (build-push на ПК, `up -d` на Pi), compose, .env.example (build-push.ps1), Caddyfile (туннель-контейнер вместо autossh); ratelimit.py ссылается на core/events.py вместо CLAUDE.md. Удалены неиспользуемые scripts/export-prod.sh (с блоком export-ignore в .gitattributes и упоминаниями в README), db/init_db.py и случайно закоммиченный файл «h -u origin dev…». #70 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* рестарт (в т.ч. деплой) сбрасывает окно — злоумышленник получает новую квоту после
|
||||
перезапуска, но окно короткое, а рестарты редки;
|
||||
* при уходе от одного воркера лимит делится между процессами (каждый считает своё) —
|
||||
тогда счётчики нужно вынести во внешний стор (Redis pub/sub, как отмечено в CLAUDE.md
|
||||
тогда счётчики нужно вынести во внешний стор (Redis pub/sub, как отмечено в core/events.py
|
||||
про SSE-шину), общий для всех воркеров.
|
||||
Помимо пары «IP + логин» и лимита по IP есть IP-независимый лимит на аккаунт
|
||||
(`login-user:*` / `admin-login-user:*`), чтобы ротация X-Forwarded-For / многих адресов
|
||||
|
||||
Reference in New Issue
Block a user