|
|
e1cdff2b4a
|
security: backend validation for all inputs
- router.param('id'): all :id path params must be positive ints
(tickets/features/polls/auth/users; external/bans/notifications already
had parseInt - now consistent)
- notifications: type enum + webhook URL format + SSRF (isPrivateUrl
exported) + events whitelist + active boolean check on PUT
- bans: type enum + player_name length
- external: all-tickets type/status enums, bans status/type enums,
page/limit floor protection, ticket field length caps, clients active
boolean + id validation
- verified: 28 checks (syntax + validation coverage)
|
2026-08-21 20:10:05 +08:00 |
|
|
|
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 |
|
|
|
257cd14051
|
feat: external API for QQ bot - client id+secret auth, ticket tracking, bans, per-server data
- db: api_clients table + server_groups.alias + tickets/bans server_name (auto-migrate)
- external.js: client_id+secret auth (multi-client, bcrypt, show-once secret),
legacy x-external-key compat, JWT pass-through
- POST /tickets (optional server), GET /tickets/track?token= (full lifecycle)
- GET/POST /bans, reported-players/stats/all-tickets with server filter
- GET /servers (alias list), client CRUD (owner/admin, audit logged)
- resolveServer: alias | 分组/子服 | server_name
- polls.js: server_groups CRUD with alias (add/edit, dup check)
- servers page: alias display + edit; new 外部API page: client mgmt + quick docs
- API.md: full external API section (auth matrix, server param syntax)
- verified: 37 checks incl. resolveServer sandbox (alias/group/fallback)
|
2026-08-19 19:12:34 +08:00 |
|
|
|
4913984391
|
feat: poll groups/servers, timed polls, features sort+filter by group
|
2026-07-14 03:17:13 +08:00 |
|
|
|
d61ad2109f
|
refactor: remove polls+features, move to standalone mc-vote repo
|
2026-07-14 03:11:26 +08:00 |
|
|
|
3d7393817c
|
fix: polls /active route order, features redundant auth check
|
2026-07-14 03:03:56 +08:00 |
|
|
|
ee2f33c61f
|
feat: feature voting (PCL-style), poll owner edit/delete, blind polls for all
|
2026-07-14 01:17:56 +08:00 |
|
|
|
74974864cd
|
fix: no revote, blind result after voting, admin 1.5 vote weight
|
2026-07-13 22:01:03 +08:00 |
|
|
|
116fe89ac8
|
feat: poll/voting system with live results and bar charts
|
2026-07-13 21:37:16 +08:00 |
|