dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
Apache 2.4용 저지연 봇 탐지로 작업증명 챌린지, 공유 메모리 평판, 크롤러 정책, 내장 가시성을 제공합니다
Low-latency bot detection for Apache 2.4 with proof-of-work challenges, shared-memory reputation, crawler policy, and built-in observability.
보안C · PythonGitHub @hubzero온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Adaptive bot mitigation for the Apache HTTP Server
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Disciplined Judgment. Proportionate Response.
Adaptive bot mitigation for the Apache HTTP Server, running in
production.
BotShield scores requests, tracks short-term reputation, and decides
whether to pass, challenge, slow down, or block before application
code has to absorb the traffic. Development is driven by that
deployment: most changes trace back to something measured on real
traffic — a scanner swarm, a lockout, a metric that didn't answer the
question an incident needed — rather than to a feature list decided
in advance.README 전문 보기 ↗Adaptive bot mitigation for the Apache HTTP Server, running in production.
BotShield scores requests, tracks short-term reputation, and decides whether to pass, challenge, slow down, or block before application code has to absorb the traffic. Development is driven by that deployment: most changes trace back to something measured on real traffic — a scanner swarm, a lockout, a metric that didn't answer the question an incident needed — rather than to a feature list decided in advance.
Status: in production, still hardening. The core pipeline
(scoring, tiers, cookies, policy, observability) is stable and load-bearing.
Newer surfaces — the interactive/captcha tiers, the load-shedding
ladder — are earlier in that same real-traffic exercise and change
faster. Architecture, threat model, and per-extension design notes
live in DESIGN.md. Site handbook lives in docs/ and
renders to GitHub Pages via gh-pages/; see the
documentation index below.
ServerName
by default; opt into sharing across vhosts explicitly.mode=observe or BotShieldEnabled LogOnly and watch what it
would have done in the decision log before it enforces anything.See DESIGN.md for the cryptographic envelope, the SHM layout, and the rest of the implementation detail this list leaves out on purpose.
You need Apache 2.4 development headers — apache2-dev on
Debian/Ubuntu, httpd-devel on RHEL-family.
make enable # build, install, a2enmod, configtest, reload
Step-by-step equivalents: make, sudo make install,
sudo a2enmod botshield, sudo apachectl configtest && sudo systemctl reload apache2. make disable removes the module without
deleting the .so.
Minimal vhost configuration:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example
# ... SSLEngine, cert files, etc.
BotShieldEnabled On
BotShieldSecretFile /etc/botshield/secret
BotShieldAlgorithm sha256zeros
</VirtualHost>
Generate the secret with openssl rand -hex 32 > /etc/botshield/secret; chmod 600 /etc/botshield/secret. Full setup walkthrough in
docs/getting-started.md.
Site handbook (rendered to hubzero.github.io/botshield from these sources):
| Topic | Source |
|---|---|
| Getting started — install, first vhost, smoke test | docs/getting-started.md |
| Site model — scoring, tiers, cookie reputation, multi-vhost | docs/site-model.md |
| Directives reference | docs/directives.md |
| Example configs — the starter flag/heuristic-trigger slate | docs/examples.md |
| Policy — triggers, rate limits, robots.txt | docs/policy.md |
| Captcha tier — providers, hardening, configuration | docs/captcha.md |
| Deployment — reverse proxy, slowloris, capacity sizing, secret rotation | docs/deployment.md |
| Staging policy changes — shadow mode + per-rule observe | docs/staging.md |
| Observability — decision log, metrics, mod_status | docs/observability.md |
| Background jobs — load monitors, bot-range refresh timer |
Internal references:
Under BotShieldEndpointPrefix (default /botshield):
| Path | Method | Purpose |
|---|---|---|
<prefix>/captcha-verify | POST | Bare verify URL (single-provider vhosts) |
<prefix>/captcha-verify/<provider> | POST | Per-provider verify URL |
<prefix>/metrics | GET | Prometheus 0.0.4 text exposition. Closed unless BotShieldMetricsAccess names the caller |
<prefix>/dashboard | GET | Operator dashboard, plus /bots, /responses, /internals, /app-bots, /app-users. Closed unless BotShieldDashboardAccess names the caller |
<prefix>/preview | GET | Renders each challenge tier as a visitor sees it, plus /safeguard. Public |
<prefix>/embedded.js | GET | Embedded noninteractive verify wrapper |
<prefix>/embedded-worker.js | GET | Web Worker that runs the proof-of-work off the main thread |
<prefix>/embedded-bootstrap | GET | Issues a challenge to an embedded client |
<prefix>/embedded-verify | POST | Accepts an embedded client's solution |
<prefix>/form-widget.js | GET | Inline form-captcha widget shell |
<prefix>/safeguard-info | GET | Built-in explainer page rendered when challengesafeguard trips (and no BotShieldRedirectURL is set in <BotShieldSafeguard>). Accepts ?return=<urlencoded path> |
The dashboard and metrics are closed until BotShieldDashboardAccess /
BotShieldMetricsAccess name who may read them; a refusal is a 404, not
a 403. Do not use Require ip here — an Apache-level denial writes
AH01630 on every refusal, and the dashboard's own auto-refresh can
trip a fail2ban jail watching for that pattern and ban the very address
you meant to allow. See docs/directives.md for
the full rationale and syntax:
BotShieldDashboardAccess 127.0.0.1 ::1
BotShieldMetricsAccess 10.9.0.5
<Location> still composes on top for something Apache has and the
module doesn't, such as a password:
<Location /botshield/dashboard>
AuthType Basic
AuthName "BotShield"
AuthUserFile /etc/httpd/botshield.htpasswd
Require valid-user
</Location>
The remaining endpoints — captcha-verify, the embedded-* family,
safeguard-info, preview — are the challenge flow itself and must
stay public.
The repo ships a working HTTPS dev vhost at
tests/setup/botshield-dev.conf that exercises every directive against
the committed tests/site/ docroot. Bring it up:
sudo tests/setup/provision.sh
Idempotent — safe to re-run. After it completes, the dev vhost
listens on https://localhost/. Test infrastructure (pytest harness,
fuzz, benchmarks) is documented in
tests/README.md.
Patches, bug reports, and questions are all welcome — see CONTRIBUTING.md for how the project is built, tested, and reviewed.
Security bugs are the exception: please don't open a public issue. SECURITY.md has the disclosure process and what to expect after you report.
MIT. See LICENSE.
docs/monitoring.md| Troubleshooting | docs/troubleshooting.md |
| FAQ | docs/faq.md |