Rinkhals Community Apps
Catalog release from the rinkhals-community fork of Rinkhals.Apps. All apps are built and tested against the community build infrastructure.
Rinkhals is a custom firmware for the Anycubic Kobra 3 family of 3D printers. It allows side-loading apps to extend your printer with remote access, improved network discovery, alternative slicing interfaces, and more.
What's new in this release
App version bumps
| App | Previous | This release | Notes |
|---|---|---|---|
tailscale
| 1.84.0 | 1.98.3 | 14 minor versions ahead of 20260527_01; current upstream stable.
|
octoapp
| 2.1.10 | 3.0.4 | Major release line bump (3.x). |
octoeverywhere
| 4.1.0 | 5.0.2 | Major release line bump (5.x). |
vanilla-klipper
| rolling master
| pinned to b7c0329f
| Builds are now reproducible. The previous release fetched master.zip at build time so each SWU captured whatever was master HEAD.
|
All other apps are functionally unchanged from 20260527_01.
New: upstream-tracking schema (upstream field in app.json)
Catalog manifests can now declare where to look for the live upstream version:
"upstream": {
"type": "github-release",
"repo": "tailscale/tailscale",
"strip_prefix": "v"
}"upstream": {
"type": "github-branch-head",
"repo": "Klipper3d/klipper",
"branch": "master"
}Two consumers use this:
- The Rinkhals Web catalog tab now shows an "Upstream: vX.Y.Z" line on each card with a "Bundled is behind" pill when the SWU bundle is older than current upstream stable. Apps without an
upstreamblock (the self-contained shell-script apps) are unaffected and show no upstream line. - The new auto-bump CI bot (see below).
Added to the four apps that actually pull binaries from external sources: tailscale, octoapp, octoeverywhere, vanilla-klipper. The other six (cloud2lan-bridge, cloudflare-tunnel, discovery-helper, nfs-mount, remote-debugging, stunnel) are self-contained and have nothing to track.
New: weekly auto-bump CI bot
.github/workflows/auto-bump.yml runs every Monday 09:00 UTC. For each app with an upstream block, it resolves the live upstream version via the GitHub API, compares it against the pinned VERSION="..." in the app's get-*.sh, and opens a one-line bump PR when they drift. Idempotent: an open PR for the same target is not duplicated.
Can also be triggered manually from the Actions tab, with a dry_run checkbox for testing. The bump logic lives in scripts/auto-bump-versions.sh and runs locally too (bash scripts/auto-bump-versions.sh --dry-run, no GH_TOKEN needed beyond a logged-in gh).
Schema: advanced: true on property objects
Apps can mark individual properties as advanced so the Rinkhals Web portal hides them from the default Configure drawer until the user opts in via a persistent "Advanced" toggle. This release marks two qr-type properties (Tailscale's account_login, OctoEverywhere's printer_link) as advanced. These are interactions (scan a QR to authenticate or link the printer), not config values; hiding them from the default view means installs auto-enable cleanly instead of opening a Configure drawer with a meaningless text input.
The flag is a UX hint, not a security boundary; the front-panel UI doesn't honor it and continues to expose the QR flow.
Installation
SWU Package (recommended)
- Download the
.swufile matching your printer model:- K2 Plus / K3 variants:
*-k2p-k3.swu - KS1 variants:
*-ks1.swu - K3 Max variants:
*-k3m.swu
- K2 Plus / K3 variants:
- Rename the file to
update.swu - Copy it to a FAT32-formatted USB drive inside a folder named
aGVscF9zb3Nf - Plug the USB drive into your printer
- Wait for two beeps (the second beep confirms installation is complete)
- Enable the app via the Rinkhals touch UI, or create the file
/useremain/home/rinkhals/apps/<APP_NAME>.enabled - Reboot if needed
Install via Rinkhals Web (new)
If you are running a recent build of Rinkhals firmware with the Rinkhals Web portal enabled:
- Open the portal in your browser (
http://<printer-ip>:8090, default credentialsadmin/rinkhals— change them on first run). - Navigate to Apps → Catalog.
- Click Install on the app you want. The portal downloads the matching per-model SWU and installs it without a USB drive or reboot.
- Apps with no required configuration are enabled and started automatically. Apps that need configuration are left disabled; the portal opens their Configure drawer so you can set values before enabling.
Manual Installation
- Connect to your printer via SSH/SFTP
- Copy the app folder into
/useremain/home/rinkhals/apps/ - Enable the app as described above
Apps Included
Remote Access & Networking
Tailscale (app-tailscale) — v1.98.3
Secure, private remote access to your printer via the Tailscale VPN mesh network. Access your printer's web interface, SSH, and other services from anywhere without opening ports on your router. Uses end-to-end encryption and works across NAT and firewalls. After installation, authenticate via the Rinkhals touch UI (QR code) or SSH command line.
Cloudflare Tunnel (app-cloudflare-tunnel)
Exposes your printer's web interface (Mainsail/Fluidd) to the internet through a Cloudflare Tunnel. Requires a free Cloudflare account and your own domain. Strongly recommended to pair with Cloudflare Zero Trust access policies for authentication. You must configure your tunnel token after installation.
OctoEverywhere (app-octoeverywhere) — v5.0.2
OctoEverywhere provides free remote access, AI-powered failure detection, real-time print notifications, and live streaming for your printer. After installation, link your printer to your OctoEverywhere account via the QR code shown in the Rinkhals touch UI.
OctoApp Companion (app-octoapp) — v3.0.4
Companion service for the OctoApp mobile application, enabling push notifications, remote monitoring, and control of your printer from your phone.
Printer Functionality
Cloud to LAN Bridge (app-cloud2lan-bridge)
Bridges Anycubic cloud messages to LAN mode, allowing you to use most Anycubic cloud features (app control, monitoring) while keeping your printer in LAN mode. Only works when LAN mode is enabled on the printer.
Discovery Helper (app-discovery-helper)
Fixes printer discovery in Anycubic Slicer Next when your network uses IGMP snooping. Some routers/switches filter multicast packets, preventing the slicer from finding your printer on the network. This app sends the necessary IGMP report to join the SSDP multicast group so discovery works reliably.
Klipper - Vanilla (app-vanilla-klipper) — pinned to commit b7c0329f
Replaces the Anycubic GoKlipper reimplementation with upstream Klipper. As of this release the build is pinned to a specific master commit instead of a rolling master.zip download, so each SWU captures the same Klipper source. This is experimental and intended for advanced users who want to run stock Klipper firmware on their printer.
NFS Mount (app-nfs-mount)
Replaces local gcode storage with a network NFS share, offloading file I/O from the printer's internal storage. Configurable NFS server IP, port, and share path via the app properties. Useful for users with large gcode libraries or who want centralized file management.
Security & Infrastructure
TLS Add-on / stunnel (app-stunnel)
Adds HTTPS (TLS) endpoints to Rinkhals services using self-signed certificates. Wraps existing HTTP services so you can access them securely:
| Service | HTTPS Port | HTTP Port |
|---|---|---|
| Default UI | 443 | 80 |
| MJPG Streamer | 8443 | 8080 |
| Fluidd | 4443 | 4408 |
| Mainsail | 5443 | 4409 |
| Moonraker | 7143 | 7125 |
| Rinkhals Web UI | 1443 | 1414 |
Note: Your browser will show a certificate warning for self-signed certificates. Review the warning and accept if appropriate.
Remote Debugging (app-remote-debugging)
Provides remote SSH-like access for debugging purposes via ngrok tunneling. Use with extreme caution — this exposes your printer to the internet. Intended only for developers and troubleshooting. Do not share any connection links or codes unless you fully understand the security implications.
Development
Example App (app-example)
A reference implementation demonstrating the Rinkhals app system. Shows how to implement app.sh (start/stop/status), app.json (manifest with properties), and the various UI property types (text, number, enum, report, QR code). Use this as a starting point when developing your own apps.
Supported Printers
All apps are built for three printer families:
- Anycubic Kobra 2 Plus / Kobra 3 (
k2p-k3) - Anycubic Kobra S1 (
ks1) - Anycubic Kobra 3 Max (
k3m)
Prerequisites
- Rinkhals firmware must be installed on your printer before installing any apps
- A FAT32-formatted USB drive for SWU installation (or the Rinkhals Web portal Catalog tab for browser-based install)
Changelog (since 20260527_01)
- #1
chore(tailscale): bump pinned version 1.84.0 -> 1.98.3 - #2
feat(catalog): upstream-tracking schema, version bumps, qr-property advanced flag - #3
ci: weekly auto-bump bot for catalog upstream versions - #4
chore(vanilla-klipper): pin to master b7c0329f, sync app.json version
Diff: 20260527_01..20260531_01