aboutsummaryrefslogtreecommitdiff
path: root/modules/ext/calc.js
diff options
context:
space:
mode:
authorWebX11 SysOp <darkmotox11@gmail.com>2026-11-05 22:26:25 +0100
committerWebX11 SysOp <darkmotox11@gmail.com>2026-11-05 22:26:25 +0100
commit2efbcea4785402134c4db09d3febda0e82aab71e (patch)
tree23b58bb76090bba34a88f46ab841cd64425d124c /modules/ext/calc.js
parent4f279d975c8aa55f44934a2ab6af67ebd3f7d454 (diff)
feat(git): contrib push surface with automated moderation
Users push to push.newos.webx11.duckdns.org with a per-user token; the read-only host is untouched. http.receivepack is unset so git only allows receive-pack when REMOTE_USER is present, which only that vhost sets. A pre-receive hook (installed by the publisher every run) allows refs/heads/contrib/* only and refuses banned paths, credential-shaped blobs, >200 files or >2MB, logging user+ref+decision. moderate-contrib.py triages every 10 min: deletes hard violations, stamps the rest ready-docs/review/stale into a queue rendered at /admin/git-contrib.html. A human still decides what merges. Verified end to end: contrib push accepted, main refused, credential file refused, accepted ref visible on the read-only host; guard extended (push host 401, hook present+executable, receivepack unset) and proven RED by removing the hook.
Diffstat (limited to 'modules/ext/calc.js')
0 files changed, 0 insertions, 0 deletions