https://github.com/THTProtocol/Birthday
· scanned 2026-06-16 00:35 UTC (2 months, 2 weeks ago)
66 raw signals (0 security + 66 graph)
Last scanned 2 months, 2 weeks ago · v1 · 65 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 106 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
with_state_lock |
software | healthy | server.py:17 |
wrapper |
software | healthy | server.py:21 |
_get_gdrive_service |
software | healthy | server.py:31 |
upload_to_gdrive |
software | dead | server.py:51 |
load_missions |
software | healthy | server.py:136 |
get_missions |
software | healthy | server.py:147 |
get_mission_data |
software | dead | server.py:151 |
_default_team |
software | healthy | server.py:157 |
load_state |
software | healthy | server.py:178 |
save_state |
software | healthy | server.py:207 |
get_opponent_color |
software | healthy | server.py:215 |
now_iso |
software | healthy | server.py:219 |
elapsed_seconds |
software | healthy | server.py:223 |
index |
software | healthy | server.py:237 |
unlock |
software | healthy | server.py:248 |
api_missions |
software | healthy | server.py:272 |
team_create |
software | healthy | server.py:284 |
team_join |
software | healthy | server.py:320 |
api_unlock |
software | healthy | server.py:343 |
team_list |
software | healthy | server.py:379 |
submit |
software | healthy | server.py:395 |
skip |
software | healthy | server.py:533 |
buy_hint |
software | healthy | server.py:620 |
api_state |
software | healthy | server.py:626 |
api_team |
software | healthy | server.py:654 |
bonus_offer |
software | healthy | server.py:665 |
bonus_respond |
software | healthy | server.py:693 |
bonus_cancel |
software | healthy | server.py:788 |
bonus_fail |
software | healthy | server.py:802 |
verify_pushups |
software | healthy | server.py:836 |
admin_reset |
software | healthy | server.py:872 |
admin_start |
software | healthy | server.py:886 |
admin_bonus |
software | healthy | server.py:904 |
admin_state |
software | healthy | server.py:917 |
admin_clear_block |
software | healthy | server.py:924 |
admin |
software | healthy | server.py:941 |
editor |
software | healthy | server.py:948 |
editor_load |
software | healthy | server.py:953 |
editor_save |
software | healthy | server.py:964 |
editor_upload |
software | healthy | server.py:986 |
uploaded_file |
software | healthy | server.py:1002 |
static_files |
software | healthy | server.py:1007 |
qr_codes_v2 |
software | healthy | server.py:1011 |
qr_page |
software | healthy | server.py:1015 |
missions_red_json |
software | healthy | server.py:1034 |
missions_blue_json |
software | healthy | server.py:1038 |
| Label | Layer | Status | Path |
|---|---|---|---|
ANY / |
api | healthy | server.py |
ANY /unlock/<int:mission_id> |
api | healthy | server.py |
ANY /api/missions |
api | healthy | server.py |
ANY /api/team/create |
api | healthy | server.py |
ANY /api/team/join |
api | healthy | server.py |
ANY /api/unlock |
api | healthy | server.py |
ANY /api/team/list |
api | healthy | server.py |
ANY /api/submit |
api | healthy | server.py |
ANY /api/skip |
api | healthy | server.py |
ANY /api/hint |
api | healthy | server.py |
ANY /api/state |
api | healthy | server.py |
ANY /api/team/<team_name> |
api | healthy | server.py |
ANY /api/bonus/offer |
api | healthy | server.py |
ANY /api/bonus/respond |
api | healthy | server.py |
ANY /api/bonus/cancel |
api | healthy | server.py |
ANY /api/bonus/fail |
api | healthy | server.py |
ANY /api/verify/pushups |
api | healthy | server.py |
ANY /api/admin/reset |
api | healthy | server.py |
ANY /api/admin/start |
api | healthy | server.py |
ANY /api/admin/bonus |
api | healthy | server.py |
ANY /api/admin/state |
api | healthy | server.py |
ANY /api/admin/clear-block |
api | healthy | server.py |
ANY /admin |
api | healthy | server.py |
ANY /editor |
api | healthy | server.py |
ANY /api/editor/load |
api | healthy | server.py |
ANY /api/editor/save |
api | healthy | server.py |
ANY /api/editor/upload |
api | healthy | server.py |
ANY /uploads/<filename> |
api | healthy | server.py |
ANY /static/<path:filename> |
api | healthy | server.py |
ANY /qr-codes-v2/<path:filename> |
api | healthy | server.py |
ANY /qr |
api | healthy | server.py |
ANY /missions/red.json |
api | healthy | server.py |
ANY /missions/blue.json |
api | healthy | server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
missions_red.json |
software | healthy | missions_red.json |
generate_qr.py |
software | healthy | generate_qr.py |
README.md |
software | healthy | README.md |
start.sh |
software | healthy | start.sh |
missions_blue.json |
software | healthy | missions_blue.json |
hetzner-deploy.md |
software | healthy | hetzner-deploy.md |
missions.json |
software | healthy | missions.json |
server.py |
software | healthy | server.py |
requirements.txt |
software | healthy | requirements.txt |
manifest.json |
software | healthy | static/manifest.json |
decoy2.html |
software | healthy | static/decoy2.html |
decoy4.html |
software | healthy | static/decoy4.html |
decoy1.html |
software | healthy | static/decoy1.html |
decoy3.html |
software | healthy | static/decoy3.html |
unlock_result.html |
software | healthy | templates/unlock_result.html |
index.html |
software | healthy | templates/index.html |
unlock.html |
software | healthy | templates/unlock.html |
admin.html |
software | healthy | templates/admin.html |
editor.html |
software | healthy | templates/editor.html |
| Label | Layer | Status | Path |
|---|---|---|---|
static |
software | healthy | static |
templates |
software | healthy | templates |
| Label | Layer | Status | Path |
|---|---|---|---|
port:101 |
network | healthy | start.sh |
port:8080 |
network | healthy | start.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | start.sh |
192.168.8.101 |
network | healthy | start.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-i_w0axdi |
software | healthy | /tmp/repobility-clone-i_w0axdi |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::hetzner |
hardware | healthy | start.sh |
This page is publicly accessible at:
https://repobility.com/scan/cf4e68c6-0670-4449-9f72-b9dedbf7ddbb/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/cf4e68c6-0670-4449-9f72-b9dedbf7ddbb/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.