Commit Graph

11 Commits

Author SHA1 Message Date
8c5ce78fd0 chore: add AGPLv3 copyright header to all source files
- 52 JS files (backend + public/js): header with
  Copyright (C) 2026 Sea Network Technology Studio
  Author: CangLan <admin@sea-studio.top>
  + AGPLv3 notice
- idempotent (skips if header present), all syntax-checked
2026-08-19 20:27:05 +08:00
65edbaf157 refactor: session-based external auth, dynamic sources, drop netease UID
Auth (external API):
- ID: 16-digit random (non-sequential); Secret: SeaReport- + 32 hex
- POST /auth/session: ID+Secret -> Bearer SESSION (24h, single-session,
  old session invalidated on re-issue, disabled client invalidates)
- clientAuth now validates Bearer SESSION via api_sessions JOIN api_clients

Sources (dynamic, no default, open-source friendly):
- sources table + CRUD route (/api/sources, owner; delete guarded by usage)
- users/user_identities.source ENUM -> VARCHAR, seeded netease/skin
- register/admin create/identity bind: validate against enabled sources
- UI: 来源管理 page; source dropdowns loaded dynamically everywhere
  (register, dashboard identity, users admin, bans), labels dynamic

UID removal:
- game_uid/reporter_game_uid no longer required (db default '', validations
  dropped, frontend fields optional)

Docs: EXTERNAL-API.md session flow + new credential format; API.md updated
Verified: 37 checks (syntax, session logic, source CRUD, UID removal, docs)
2026-08-19 20:08:06 +08:00
021351d898 fix: restore from regex corruption, JS-bind modal close, data-action delegation 2026-07-15 03:53:16 +08:00
f0e891b17c fix: data-action delegation + convert onclick to event listeners, sidebar+logout+modals 2026-07-15 02:44:18 +08:00
4f4df7e479 fix: backend+frontend full audit - 15 bugs fixed across all files 2026-07-13 04:07:18 +08:00
33078855cb feat: appealing status, auto-close parent on appeal resolved, closed=final 2026-07-12 17:42:42 +08:00
10b6ff94ed feat: admin complaint (owner only) + result appeal (one per ticket, owner only) 2026-07-12 15:19:09 +08:00
6657c05dec fix: add escJs for JS string escaping in onclick attributes, apply to users/templates/notifications 2026-07-12 13:09:52 +08:00
da5aa09421 fix: escape single quotes in U.esc to prevent onclick attribute injection 2026-07-12 13:09:10 +08:00
3ec9e80e0d fix: remove fragile setTimeout in confirm, bind handlers directly 2026-07-12 13:03:02 +08:00
247a4e851d feat: MC Report System - MySQL + Express + Vanilla JS SPA 2026-07-12 01:23:19 +08:00