Skip to content

History

Revisions

  • Finish the HTTPS correction: two claims my earlier pass missed The Troubleshooting entry and the hbbs page still said the web client cannot work over plain HTTP. The first survived because its link text wraps across two lines, so the single-line substitution did not match it — and I pushed before re-checking, which is the actual mistake worth noting. Troubleshooting's opening question is now about WebSocket URL scheme, which is the real common failure, rather than about HTTPS.

    marcpope committed Jul 27, 2026
    d9dac57
  • Correct the "web client requires HTTPS" claim across the wiki The client now runs over plain http:// using Media Source Extensions, so the pages saying it could not — and specifically that it "cannot be worked around in JavaScript" — were wrong and are corrected rather than softened. Web-Client-Requires-HTTPS rewritten: what each path gives you in a table, why the difference exists, and an explicit note that the page previously said the opposite. The filename is kept so existing links and any URLs already shared do not 404, but the title and link text are now "Web client and HTTPS". Troubleshooting's first web-client question was "are you on HTTPS?", which is no longer the useful question. It now asks about the WebSocket URLs and their scheme, which is the actual common failure — ws:// from an HTTPS page is refused as mixed content. Advice on getting a trusted certificate on an internal network is unchanged and still correct; HTTPS remains the better path.

    marcpope committed Jul 27, 2026
    17b72e3
  • Updated What CortenDesk Is (markdown)

    @marcpope marcpope committed Jul 26, 2026
    3c2f2ef
  • Updated Home (markdown)

    @marcpope marcpope committed Jul 26, 2026
    2b637b1
  • Updated Home (markdown)

    @marcpope marcpope committed Jul 26, 2026
    52709e6
  • Updated Home (markdown)

    @marcpope marcpope committed Jul 26, 2026
    c2574e8
  • Widen documentation screenshots to full column width 75% left the console UI small enough that table columns and field labels were hard to read at normal zoom. These are dense screenshots of a data grid; the detail is the point of including them.

    @marcpope marcpope committed Jul 26, 2026
    8a5d3ec
  • Add screenshots to the feature documentation Twelve screenshots across ten pages, one to three per page, taken from the local Docker test stack running 0.9.6 seeded with demo data. Every image is 75% width with descriptive alt text. The demo data is entirely fictional by construction: example.com addresses, RFC 5737 documentation IP ranges (192.0.2.0/24, 198.51.100.0/24), invented hostnames and invented people. A DemoSeeder in the app repo reproduces it, so these can be retaken consistently rather than being one-off artefacts. Three passes were needed because the first screenshots leaked real data that had accumulated in the test container: - the Users screen showed the maintainer's actual personal email address on the admin account, plus a leftover local test account; - the Alarm log carried a real public IP from earlier live testing; - Settings showed a real third-party rdgen URL. All three were replaced with example/documentation values and the screens retaken. Worth remembering that a long-lived test container accumulates real data even when nothing intentionally puts it there -- screenshots need reviewing per image, not once at the start. Presence needed stabilising too: seeded devices never heartbeat, so they aged past the 60-second online window and the dashboard rendered "0 online" thirty seconds after seeding. The test container now uses a wide online window so the fleet reads as live and screenshots stay reproducible. The Add Strategy image doubles as evidence for the scroll fix in 0.9.6 -- the dialog now scrolls with its footer pinned and the Create button reachable.

    @marcpope marcpope committed Jul 26, 2026
    1dbaf1b
  • Restructure the wiki: welcome, install, upgrade, features, documentation The index mixed four feature pages in with installation and called the rest "Operations". Nine of the console's features had no page at all, so anyone wanting to know what the software actually does had to read the README and guess. Home is now Welcome -> Install -> Upgrade -> Features -> Documentation, with the feature list as a table linking to a page per feature. New pages: What CortenDesk Is what it does, what it is NOT (not a RustDesk server, no patched client), and how the two paths fit together Devices and Device Groups presence, aliases, folders, pre-registration, the approval gate, recycle bin Users and Access Scoping the exact visibility rule, and that it governs the client API too, not just the console Roles and Delegated Admin the eight areas and three levels Address Books personal vs shared, share rules, tags Audit Logs the five screens, alarm types, retention Automation API tokens, envelope, endpoints, --assign Email and Invitations SMTP, invites, reset, sign-in codes Web Client what it does and why it needs HTTPS Dashboard and Active Sessions stats, and how ending a session really works Settings Reference all six tabs, every setting, real defaults Command-Line Reference every artisan command, break-glass first Importing from rustdesk-api dry-run first, and the non-bcrypt caveat Troubleshooting by symptom Every claim was checked against the source rather than the README. Four things the README got wrong or omitted, now correct in the wiki: - The online window default is 60 seconds, not 30. - API tokens live under Settings -> Security, not their own tab, and support an expiry date. - Trusted proxies already default to loopback plus all RFC1918, so the "everyone shares one IP" advice only applies to a proxy on a public address or a hand-set list. - Most important: password sign-in does NOT come back on its own when the identity provider is merely unreachable. localLoginDisabled() gates on isConfigured(), which only checks that the discovery URL, client ID and secret are non-empty -- it never touches the network. A provider that is down while still configured leaves the password form hidden. The actual break-glass is CORTENDESK_OIDC_DISABLED=true. The SSO page claimed the safer-sounding version; both it and the new Settings Reference now state the real behaviour, since getting this wrong locks someone out of their own console. Install examples bumped 0.9.0 -> 0.9.6. All 24 pages link-checked, and the forbidden-content scan is clean.

    @marcpope marcpope committed Jul 26, 2026
    53b484c
  • Add 'RustDesk server in Docker' page; link it as an install prerequisite Standing up hbbs/hbbr correctly is the most common source of 'CortenDesk isn't working' reports. Documents both official images, a two-container Compose file with shared key material, every port and protocol with the failure mode when it is closed (UDP 21116 in particular), the ed25519 keypair and what regenerating it costs, the three CORTENDESK_* values, the WebSocket ports the browser client needs, and how to verify from the logs. Cross-linked from Install with Docker, Install on a VM and Home.

    @marcpope marcpope committed Jul 26, 2026
    925f67d
  • Install with Docker: CORTENDESK_NATIVE_WEBCLIENT defaults to true, not false config/cortendesk.php reads env('CORTENDESK_NATIVE_WEBCLIENT', true), so the web client is on unless it is explicitly turned off. The table said the opposite, which would have people setting it to enable something already enabled -- and, worse, assuming the client was off when it was reachable.

    @marcpope marcpope committed Jul 26, 2026
    5fd2352
  • Add reverse proxy and TLS page (Caddy, Traefik, nginx); cross-link from install and HTTPS pages

    Marc Pope committed Jul 26, 2026
    f628b30
  • Add: why the web client requires HTTPS, and how to get a cert on a LAN

    @marcpope marcpope committed Jul 25, 2026
    d5044c8
  • Add Docker and VM installation guides

    @marcpope marcpope committed Jul 25, 2026
    e399675
  • Add feature pages: Strategies, Single Sign-On, Two-Factor Authentication

    @marcpope marcpope committed Jul 25, 2026
    41d69cd
  • Add How to Upgrade page; wiki home

    marcpope committed Jul 24, 2026
    8ae18c3
  • Initial Home page

    @marcpope marcpope committed Jul 24, 2026
    8e1e2fc
  • Initial Home page

    @marcpope marcpope committed Jul 24, 2026
    bcc8976