mirror of
https://github.com/p1neappleXpress/OpenFlux.git
synced 2026-10-02 05:04:39 +08:00
* Node wizard: choose the channel's transports; self-updating nodes A new channel is no longer Yandex-only: it takes any mix of a Yandex document, a Mail.ru public document and cups.online rooms, with direct always as the backup. The app creates the cups.online rooms (cupsonline.CreateRoomList) so the node starts with them in node.conf and keeps the same rooms, and link, across restarts. provision.ShareLink builds the link with the priorities and encryption context node-install.sh writes; TestNodeConfMatchesShareLink runs the script's write_node_conf and checks the core derives the same. node-install.sh update, run every 6 hours by the optional openflux-node-update.timer, moves the server to the newest node-v* release of p1neappleXpress/OpenFlux (or repo= in /etc/openflux-node/update.conf): the core must match both the release's node-install.sh at its tag and its SHA256SUMS. If a channel does not stay up on it the previous core comes back and that release is skipped. An older app's pinned script no longer downgrades a server the updater has moved on. TestInstallOnVDS covers the install with every transport, the updater, an update, a rollback from a crashing core and the cleanup. * provision: pin the node-install.sh with transport choice and the updater * node-install.sh: keep only cores it installed; autoupdate on|off for existing nodes A core some other installer left behind, such as an old fork's node-v1.4.0, has a version number that says nothing about this repository's releases. The no-downgrade rule and the updater now trust only the versions this script or the updater installed (bin/.managed), so such a server is moved to the pinned core by the wizard and to the newest release by the updater instead of being stuck on it. node-install.sh autoupdate on|off turns the updater on for channels installed before the wizard offered it. * provision: pin node-install.sh1f7bd2a* cupsonline: say why new rooms were refused The wizard showed "cups: транспорт остановлен" when cups.online turned the address away with 403 until its deadline. createRooms now keeps the last error, and CreateRoomList names a 403/429 refusal for what it is. * node-install.sh: remember which repository a core came from A core is now the release of one repository: .managed lists "repo tag", the plan says where the core comes from, and a script following another repository (a fork's, say) moves the server to that repository's core instead of keeping a release whose number only happens to be higher. The updater's script copy is replaced by a script from another repository in the same way. CORE_BASE now follows RELEASE_REPO. * provision: pin node-install.sh122ab88* provision: pin node-install.shfe9dc8b* mobile: the upstream link test on the transports-JSON NodeShareLink * mobile: OfferExitCookies hands a sign-in to the exit over the Session