The wholesale sshd_config replacement is intentional, but two side effects
were not:
- The template had no Include line, so reinstalling dropped the
`Include /etc/ssh/sshd_config.d/*.conf` that update_ssh_banners_config
appends, leaving the per-user banner drop-in on disk but inert. Add it as
the last line: OpenSSH uses the first value it obtains for a keyword, so
the template's own settings still take precedence over any drop-in and
only the Match blocks become effective.
- The template hardcoded the Debian path for sftp-server. sshd -t does not
verify that the binary exists, so SFTP broke silently on distributions
that ship it elsewhere. install.sh now probes the common locations and
rewrites the Subsystem line.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Replace the bare-IP Gitea host (146.19.208.111) with the domain in
install.sh REPO_URL and in the README install instructions.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Panel, udp-custom, udpgw and falconproxy are now installed exclusively from
/opt/firewallfalcon-bundle. The raw.githubusercontent and GitHub releases
fallbacks are gone; a missing bundle file is a hard error via the new
ff_require_bundle_file helper.
- menu.sh: drop PANEL_REPO_BASE and every remote download branch
- menu.sh: falconproxy no longer queries api.github.com for releases
- menu.sh: ARM udpgw can use an optional bundled udpgw-linux-arm64
(the bundled udpgw is an x86-64 build), otherwise it builds from source
- install.sh: verify the staged bundle and mark binaries executable
- README: document the change and the remaining third-party dependencies
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>