Skip to content

Push mode refuses a network without its secret; telegramSecretToken; .peg button; nginx docs - #55

Merged
robdevops merged 7 commits into
mainfrom
claude/kind-newton-ad0z2q
Oct 21, 2026
Merged

robdevops merged 7 commits into
mainfrom
claude/kind-newton-ad0z2q

Conversation

@robdevops

Copy link
Copy Markdown
Owner

What this PR holds

Every commit on the work branch since #54:

Push-mode security

  • A network whose webhook URL is set but not what checks a request (Telegram's secret token, Slack's signing secret or token, Discord's public key) is turned off: its URL is served by nobody (404), the network is not registered at start, it is left out of the networks: line, and the log says what is missing (bot.unsecured(), Webhook.secured()).
  • The startup config warnings say "turned off".

Telegram

  • telegramOutgoingToken is now telegramSecretToken (Telegram's own name for secret_token). The old key still works (the new wins where both are set), with a note at start and in util/check_config.py to rename it (config.RENAMED).
  • The Telegram keyboard has a .peg button (typed .peg is /ratio peg; still no slash command of its own).

Docs

  • The network guides' push/pull tables say how finbot knows a request is the network's, and by which key.
  • The nginx examples lose the generated subnet lists (and the scripts that wrote them); Telegram's example allows only 149.154.160.0/20 and 91.108.4.0/22; the firewall script and its doc go.
  • origin/main is merged in (the owner's doc/slack.md wording).

Test plan

  • .venv/bin/python -m unittest discover -s tests -b (651 tests, offline)
  • CI on 3.x and 3.13.5, and the docker job

Generated by Claude Code

…w-lists and how to generate them

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVEkZofdPjQ4jtXFKipeUX
…is turned off, not served or started; the firewall script and its doc go

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVEkZofdPjQ4jtXFKipeUX
…s the network's, and by which key

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVEkZofdPjQ4jtXFKipeUX
…slash command)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVEkZofdPjQ4jtXFKipeUX
…); the old key still works, with a note to rename it

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVEkZofdPjQ4jtXFKipeUX
@robdevops
robdevops merged commit e2e9e69 into main Oct 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants