Commit Graph

48 Commits

Author SHA1 Message Date
UNITRONIX dc6b6c088e feat(centralization): move help/chat to Go server and harden agent TLS
Phases 1-4 of the Go-server centralization plan plus optional-TLS transport.

Go server:
- db: HelpRequest model + SQLite/PostgreSQL stores (help_requests_*.go), GetDeviceOrgID.
- cdap: handleHelpRequest/handleChatMessage handlers, SendChatToDevice delivery.
- api: REST help endpoints (help_handlers.go), publish help_request/chat_message events.

Node.js panel:
- bd-api.routes.js: drop local in-memory Maps, proxy all help/chat/notification
  endpoints to the Go server (read-proxy) with status/id/timestamp normalization.

Agent (native Go + Tauri sidecar):
- config.go/agent.go: optional EnforceTLS, ServerCertPin (SPKI pin), TLSInsecureSkipVerify
  with env overlays and dialOptions() cert pinning via VerifyPeerCertificate.
- HTTP (ws://) stays a fully supported transport: TLS enforcement is an explicit
  operator opt-in (never auto-derived from the URL scheme). The agent logs a warning
  recommending wss:// for untrusted networks instead of blocking the connection.
- config.rs/sidecar.rs: propagate enforce_tls + server_cert_pin from AgentConfig
  through SidecarConfig to the Go agent config; warn on plaintext ws:// to remote hosts.

This commit was made possible thanks to Insolve.
2026-06-01 00:51:29 +02:00
UNITRONIX 27c082205f fix(i18n): complete web console translations
Complete the web console locale set so all 26 language files share the EN/PL baseline with no missing keys, extra keys, empty values, or English fallback values.

Keep strict i18n audit behavior and disabled auto-fix flow so incomplete translations are surfaced for manual review instead of being filled with English fallback text.

Validated with the strict web-nodejs i18n audit, JSON parsing for all locale files, placeholder preservation checks, and VS Code diagnostics.

This commit was made possible thanks to Insolve.
2026-05-31 18:46:27 +02:00
UNITRONIX 8558f4cf4d chore: gitignore fix, enrollment token re-issue, desktop session events
.gitignore: scope /lib/ and /lib64/ to repo root only — was matching Tauri src/lib directories. Go server: re-issue device_token on re-registration so agents that lost config can recover auth. Go agent: emit SESSION_START/SESSION_END stdout events for overlay integration, handle DESKTOP_STOP stdin command.

This commit was made possible thanks to Insolve.
2026-05-28 01:14:09 +02:00
Knienartowicz bb9f944c3d docs: add INSOLVE as Honorary Supporter
- Create SPONSORS.md with dedicated section for INSOLVE (insolve.pl) and acknowledgment tier definitions (Honorary Supporter, Corporate Sponsor, Individual Backer).

- Add Honorary Supporter section with logo to README header linking to insolve.pl and SPONSORS.md.

- Relocate logo asset from repo root to docs/assets/insolve-logo.png.

This commit was made possible thanks to Insolve.
2026-05-26 13:39:38 +02:00
Knienartowicz 8da6f8c9fd security: fix 3 critical + 3 high findings from production audit
Critical:

- C-01: WebSocket Origin validation (CSWSH protection) via new middleware/wsOrigin.js, applied to wsRelay, chatRelay, remoteRelay, bdRelay, cdapTerminalProxy, cdapMediaProxy

- C-02: Remove Tauri Origin-based CSRF bypass in server.js; only /api/bd/* skipped

- C-03: Update vulnerable deps (express 4.21.2, multer 2.0.0, protobufjs 7.4.0, helmet 7.2.0, axios 1.9.0, cookie-parser 1.4.7, express-session 1.18.1)

High:

- H-01: Disable auto-create-local-user on login by default; opt-in via BETTERDESK_AUTH_AUTOCREATE=true (does not affect ensureDefaultAdmin fresh-install bootstrap)

- H-02: Bearer-only auth for /api/bd/*; session cookie fallback removed; tokens redacted in logs

- H-05: Replace custom PBKDF2 with golang.org/x/crypto/pbkdf2; 600k iterations; new format pbkdf2-sha256\\\ with backward-compat for legacy salt:hash

Backward compatibility: legacy password hashes still verify; CSRF tokens still obtainable via csrfTokenProvider; fresh-install admin bootstrap (.admin_credentials flow) unchanged.

Audit report: docs/security/AUDIT_PRODUCTION_2026-04-10.md

This commit was made possible thanks to Insolve.
2026-05-26 13:35:12 +02:00
UNITRONIX 3996c0cd35 fix: avoid Docker bridge relay advertisements 2026-05-19 00:24:54 +02:00
UNITRONIX a1e054cdd3 fix: keep RustDesk WSS rendezvous sessions alive
Send empty binary keepalive frames on signal WebSockets and ignore empty RustDesk heartbeat replies across the WS protobuf adapter. This prevents reverse-proxied WSS clients from timing out after the advertised keep_alive interval.

Document the Nginx /ws/id and /ws/relay upstream mapping for BetterDesk Docker deployments.

Fixes #144

Reported-by: @odixz
2026-05-17 23:12:30 +02:00
UNITRONIX a8d3259d43 feat(server-management): add server management service and terminal proxy
- Implemented server management service providing resource snapshots, file browser, service control, and audit logging.
- Added terminal proxy for WebSocket-backed PTY, allowing browser-based shell access with user authentication and role-based access control.
- Created server management view with tabs for overview, terminal, file management, and services, including UI elements for displaying system metrics and managing files/services.

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 03:09:03 +02:00
UNITRONIX ab6adff56f fix(security): harden login and audit endpoints 2026-04-26 02:09:44 +02:00
UNITRONIX 4eed88673c fix(updates): atomic binary replace + accurate modal status
- deployServerBinary: use rename(2) for atomic replace, fixes ETXTBSY
  when target Go binary is busy (Linux kernel handles inode swap).
  Falls back to copyFileSync on cross-device rename or non-Linux.
  Windows: rename target out of the way first, then move new in.
- settings.js: mark 'server' phase as error when build succeeded but
  deploy failed (was incorrectly marking 'done' from build alone).
- settings.js: completion modal now shows error title, error message
  and pre-formatted stderr when serverDeploy.success === false.
- i18n: added complete_with_errors, modal_done_with_errors_title in
  en/pl.
2026-04-26 01:23:18 +02:00
UNITRONIX 762ffd9719 Unify web remote, improve agent UI & telemetry
Multiple coordinated changes: frontend, backend (Tauri Rust), and web server.

Key points:
- Web remote unified to /remote/🆔 redirects legacy /remote-desktop, updated device actions, and removed old viewer rendering.
- Added adaptive quality to RDClient to avoid low-FPS stalls and defaulted to Balanced@30 with runtime promotion/demotion logic.
- Fixed session/tab cleanup to avoid stale tabs and made session teardown more robust.
- Improved agent startup responsiveness: get_agent_status now avoids slow SystemSnapshot::collect(); added a separate get_system_info command for expensive telemetry. Frontend invokes now use timeouts and parallel checks so the UI never hangs, and SetupWizard normalizes addresses before validation.
- Windows privilege check changed to CheckTokenMembership against Administrators group so menu items remain visible to admin users even without UAC elevation; tray menu items are always visible and checked on click.
- Registration/probing: server scheme (HTTPS vs HTTP) is probed and cached; API URL builder updated accordingly.
- UI/UX: added bottom navigation bar, help-session event handling, diagnostics feedback, locale display name support, CSS updates (including bundling Material Symbols font); included material-symbols-rounded.ttf and adjusted CSP to allow fonts.googleapis.com / fonts.gstatic.com.
- Added docs/PATCH_PLAN_2026-04-18.md with patch plan and rationale.

These changes aim to make the desktop agent snappier at startup, unify the web remote entrypoint, improve remote streaming stability, and harden privilege/UX behaviors.
2026-04-18 02:30:25 +02:00
UNITRONIX fd7790ab56 Add BETTERDESK_STRICT_TLS gating & hardening
Centralize HTTP client creation and add an opt-in TLS hardening gate (BETTERDESK_STRICT_TLS). Refactor repeated reqwest::Client::builder() usages into helper builders that warn once when self-signed certs are accepted and allow enforcing strict validation. Apply changes across agent-client and management codepaths (registration, commands, inventory collector, bd_registration). Also: warn when native agent is configured with plaintext ws:// to non-local hosts, whitelist LOG_FORMAT env var to {"text","json"} in server config, and update the audit docs to reflect these fixes.
2026-04-17 23:34:37 +02:00
UNITRONIX 7b453d852f Security hardening and audit cleanup
Multiple security and maintenance fixes across components:

- betterdesk-mgmt: validate peer_id format to prevent injection in connect_to_peer (reject empty/oversized/invalid chars).
- betterdesk-mgmt (tauri.conf.json): tighten CSP by removing 'unsafe-eval' from script-src.
- betterdesk-agent-client: increase device ID entropy from 4 to 8 bytes (BD- prefix) to reduce collision/brute-force risk.
- betterdesk-server: enforce RBAC (operator+) before upgrading CDAP video WebSocket to block unauthorized access.
- betterdesk-server DBs: exclude soft_deleted peers in GetPeer queries for Postgres and SQLite.
- web-nodejs: add audit log housekeeping (hourly cleanup), add indices for audit_log, and implement cleanupOldAuditLogs(days) in sqlite adapter.
- web-nodejs brandingService: validate logo/favicon URLs to allow only http(s) or relative paths, preventing javascript:/data: XSS/SSRF vectors.
- docs: add AUDIT_BETTERDESK_2026-04-17.md (security audit summary).

These changes tighten client CSP, improve input validation, increase device identifier entropy, ensure RBAC is enforced before websocket upgrades, hide soft-deleted peers from normal queries, and add audit log maintenance and DB indexes for better performance and retention management.
2026-04-17 23:21:11 +02:00
UNITRONIX 43756c2ba1 Add Enterprise TLS & SSL configuration
Introduce comprehensive SSL/TLS management across installers and services. Adds interactive SSL menu and `do_configure_ssl` handlers (self-signed with SANs, custom certs, Let's Encrypt guidance, disable, and an Enterprise TLS mode that enables HTTPS on panel, signal, relay and API). Implements platform-specific support: docker compose helper (configure_docker_ssl), systemd and service ExecStart updates for Linux, NSSM support for Windows, .env updates (NODE_EXTRA_CA_CERTS, ALLOW_SELF_SIGNED_CERTS, ENTERPRISE_TLS) and automatic SAN detection (public/LAN IPs, optional domain). Uses long-lived self-signed certs (10 years) with RSA 2048/4096 and fallbacks for older OpenSSL; prompts users on fresh installs to configure HTTPS. Also updates menus and documentation to expose SSL configuration option.
2026-04-16 01:44:45 +02:00
UNITRONIX 45e5fda9d0 Implement RBAC v52, org scoping and assorted fixes
Adds a full Phase-52 RBAC implementation and multiple server/frontend fixes. Key changes: new auth/permissions.go with 28 granular permissions and DefaultRolePermissions, expanded 7-role hierarchy and helpers in auth/roles.go, JWT org context and GenerateOrgToken, requirePermission/requireOrgMembership middlewares (Go + Node.js), DB schema & adapter changes for role_permissions and is_server_admin, org role boundary checks and peer org scoping, and guards for last-admin demotion and self-demotion. Also: TCP EOF/connection-reset log filtering in signal/relay servers, improved startup banner port display, KEYS_PATH auto-detect warning, CSS hover/transition layout fixes, admin password race mitigation, ID-change ghost peer cleanup, added Tauri ACL schema files, and a new RBAC_PHASE52.md doc. Misc: numerous web-nodejs i18n, CSS, JS and route updates and an updated .github/copilot-instructions.md timestamp/summary.
2026-04-10 23:40:55 +02:00
UNITRONIX dd0889e3d6 Add SessionManager; update docs, i18n & CI
Introduce a SessionManager for relay-based remote sessions in the Tauri MGMT client: new SessionCommand API, start/stop/session input routing, clipboard/recording/quality controls, and notification read/dismiss state. Wire AppState with new mutexes and show main window on startup. CI: add SBOM generation (anchore) and Trivy vulnerability scan steps. Misc: change console Docker DB path, large README/CHANGELOG updates (chat E2E, unattended access/WOL, i18n expansion, CDAP/SDK docs), and many web-nodejs assets/locales/routes/views/services and server-side changes.
2026-04-05 13:42:07 +02:00
UNITRONIX be9e65dcae Add MGMT and Agent Tauri clients
Introduce two new desktop apps: betterdesk-mgmt (operator/admin console) and betterdesk-agent-client (lightweight endpoint agent).

Key changes:
- Add complete betterdesk-agent-client scaffold: frontend (index.html, TSX components, i18n, styles, Vite/TS configs, package.json) and Rust Tauri backend (Cargo.toml, build.rs, tauri.conf.json, commands.rs, config.rs, registration.rs, sysinfo_collect.rs, NSIS language file).
- Add betterdesk-mgmt entries and assets (registered in docs) and update repo docs to describe both MGMT and Agent clients.
- Update .github/copilot-instructions.md to reflect MGMT/Agent client split and add detailed TODO/feature lists.
- Update .gitignore to exclude build artifacts for both new Tauri apps.
- Add docs/new_agents/client1.md and docs/new_agents/client2.md.
- Minor changes to server DB files and web-nodejs i18n/asset files.

This commit adds the initial scaffolding and core IPC/registration/diag features for the agent and registers the MGMT client in repository docs; further implementation and testing remain.
2026-04-03 00:41:49 +02:00
UNITRONIX bbf839754e Harden bd-mgmt, API key, and WS security
Add multiple security hardenings across the server and web console: enforce proof-of-possession for /ws/bd-mgmt using Ed25519-signed headers with timestamp/nonce and replay protection (public key binding, canonicalization, storage, verification, and tests); remove legacy API key query param and config-table fallback in favor of scoped api_keys (migrate bootstrap key into api_keys); tighten WebSocket origin handling for relay and signal servers to allow only localhost origins by default unless an explicit allowlist is set; update auth middleware public paths and test helpers to use X-API-Key header; add ensureScopedAPIKey migration and related helpers; add a GitHub Secret Scan workflow and an audit report. Misc: propagate audit logging on bd-mgmt connect/disconnect and validate enrollment public keys during device register.
2026-03-29 01:48:14 +01:00
UNITRONIX af28d0d766 Add draggable zone borders, access policies, WOL fix, i18n 2026-03-28 00:08:42 +01:00
UNITRONIX 95f2beb744 feat: organizations, desktop mode, i18n (ja/ko/ru), security docs, client i18n integration 2026-03-25 20:27:04 +01:00
UNITRONIX 3e3f6748db Add chat API, management WS, and DB support
Introduce persisted chat features and a BetterDesk desktop management WebSocket channel. Adds new REST chat handlers (history, send, read, unread, contacts, groups), bd-mgmt WebSocket and management REST endpoints, and routes in the HTTP server. Extend Database interface and models (ChatMessage, ChatGroup, ChatContact) and implement schema migrations + CRUD for PostgreSQL and SQLite. Adjust auth middleware to allow /ws/bd-mgmt/* and relax server WriteTimeout / increase IdleTimeout to accommodate long-lived WS connections. Also add a 3.0 roadmap document and minor frontend/localization/service updates related to chat and relay.
2026-03-25 06:40:42 +01:00
UNITRONIX 1e2047c033 BetterDesk 3.0.0 Alpha 2026-03-24 00:26:25 +01:00
UNITRONIX 9c3631c1e8 Disable API TLS, escape $ in systemd, fix ports
Prevent breaking RustDesk clients by keeping the API port HTTP-only and removing automatic API TLS: update APITLSEnabled logic (config.go) and remove/add-removal of -tls-api / -force-https from install scripts and service updates (betterdesk.sh, betterdesk.ps1). Fix systemd escaping for admin password and PostgreSQL URL by converting $ → $$ before writing ExecStart/Environment so credentials with $ are preserved. Add MainThread to port diagnostic patterns to avoid false positives for Node.js on newer Linux (betterdesk.sh). Also include minor struct/tag formatting and response key alignment in CDAP Go code and update changelog and copilot instructions. These changes restore client compatibility, harden installer/service writes, and improve diagnostics.
2026-03-21 00:20:53 +01:00
UNITRONIX a957f3fe2a Add CDAP gateway & redesign devices UI
Introduce full CDAP subsystem and devices UI overhaul. Adds a new CDAP WebSocket gateway (cdap/gateway.go) with auth, connection lifecycle, message loop, heartbeat monitor and APIs (cdap/api.go, cdap/auth.go, cdap/handler.go, cdap/manifest.go, cdap/messages.go). Wire CDAP into the server (api/server.go + handlers in api/cdap_handlers.go) exposing REST endpoints for status, device list, info, manifest, state and sending commands. Enhance peer handling: CDAP-connected overlay in peer list/get, device revocation/cascade support in handleDeletePeer (blocklist, connection teardown, events + audit), and new audit action ActionPeerRevoked. Frontend updates include CDAP device page, widgets, commands, styles and services; major devices page UI redesign (responsive folder chips, toolbar, slim table, kebab menu) plus related CSS/JS/views, translations, docs and assets. Overall adds CDAP features, revocation workflow, and a responsive devices UI.
2026-03-20 02:01:48 +01:00
UNITRONIX ccc12145cf Detect IPv6-only relay and prefer IPv4
Add IPv6-only relay detection to the installers (betterdesk.sh and betterdesk.ps1). If the public IP is IPv6, the scripts attempt to resolve an IPv4 address and prefer it for relay compatibility, emitting warnings if no IPv4 is found. Also add a Troubleshooting doc section explaining the "Relay Connection Failed (IPv6)" issue, how to check and fix RELAY_SERVERS, and note the auto-detection behavior as of v2.4.0.
2026-03-13 23:31:29 +01:00
UNITRONIX db46242023 Preserve DB config, PG compatibility & logging
Preserve existing DB config during update/repair and add PostgreSQL compatibility and reliability fixes. Added preserve_database_config()/Preserve-DatabaseConfig and invoked them before console reinstall in betterdesk.sh and betterdesk.ps1 to avoid unintentionally switching PostgreSQL → SQLite. Fixed folder/user route responses to use result.id (Postgres-compatible) in web-nodejs routes. Added automatic TOTP column migrations for both SQLite and Postgres in web-nodejs/services/dbAdapter.js. Improved relay error logging and write-error handling in betterdesk-server/relay (server.go, ws.go). Updated docs and tooling: added SELinux troubleshooting (DOCKER_TROUBLESHOOTING.md), Windows build/usage notes for the migrate tool (README.md), and updated changelog/instructions (.github/copilot-instructions.md) and last-updated date.
2026-03-13 23:14:06 +01:00
UNITRONIX 447c22af48 SELinux volume helper, folder fixes, Synology docs
Add create_data_directory helper to prepare Docker data volumes with proper permissions and optional SELinux (svirt_sandbox_file_t) support, and use it in install/migrate flows with user guidance on failures. Add comprehensive SYNOLOGY_INSTALLATION.md with Synology/Portainer/container-manager/docker-compose setup, firewall, troubleshooting and update instructions. Update DB adapters (SQLite/Postgres) to treat device_folder_assignments as the single source of truth: clear assignments on folder delete, stop writing folder_id into peer table, and make getUnassignedDeviceCount resilient by trying 'peers' then 'peer' schemas and returning -1 on error. Minor UI tweaks: add console.error on folder assignment failure and add WIP banners/margin adjustments to remote viewer pages.
2026-03-13 00:45:53 +01:00
UNITRONIX e20c7663e5 docs: enhance Nginx HTTPS & WebSocket setup
Expand Nginx example and docs to properly support WebSocket and large uploads. Adds an Upgrade map, increases client_max_body_size, separates /ws/ location with WebSocket upgrade headers, disables proxy_buffering, enables long timeouts and keepalive, and preserves proxy headers for standard HTTP routes. Also adds nginx -t validation, troubleshooting steps (curl test, logs, agent reachability), and optional proxy blocks and notes for BetterDesk Go WebSocket ports (21118/21119). These changes improve reliability for the Web Remote Client and clarify deployment guidance.
2026-03-10 22:54:34 +01:00
UNITRONIX 6f5c6b09bb Switch to Apache-2.0, update docs & Dockerfiles
Replace AGPL-3.0 with Apache License 2.0 across the repository and update related documentation and metadata. Remove legacy RustDesk-specific architecture docs, delete deprecated Dockerfile.hbbr, rename Dockerfile.hbbs → Dockerfile.server and update docker-compose / install scripts to use it. Add Apache license headers to protobuf defs, remove obsolete web service (hbbsApi.js), and adjust README, CONTRIBUTING and PROJECT_STRUCTURE to reflect the license and commercial/clean-room notices. Includes a small formatting tweak in client_api_handlers.go.
2026-03-06 23:45:46 +01:00
UNITRONIX e855f5786d Add Go server and security audit; update web console
Add a new betterdesk-server Go codebase (server, api, auth, db, relay, signal, metrics, audit, ratelimit, proto, tools, tests) and related deployment/migration scripts. Add a comprehensive SECURITY_AUDIT_2026-03-01 report and .gitattributes; update copilot-instructions (ALL-IN-ONE v2.4.0), README, VERSION, Dockerfiles, scripts, docker-compose and entrypoint. Large updates to web-nodejs (translations, routes, services, frontend assets and middleware) and numerous new utilities; remove legacy Flask web files and archive hbbs-patch-v2 artifacts. Prepares repository for PostgreSQL support, DB migration tooling and the new Go server as the production backend.
2026-03-02 00:43:04 +01:00
UNITRONIX 6ccf7c6130 Add Docker migration and branding UI
Introduce an interactive Docker migration flow and branding/theme support. Adds automatic/manual RustDesk-to-BetterDesk migration logic and menu option (betterdesk-docker.sh), plus a full migration guide (docs/DOCKER_MIGRATION.md) and README updates. Switches project license references to AGPL-3.0 and updates LICENSE locations for hbbs patches. Web console enhancements: new branding service and default theme, i18n middleware now injects branding, extended translations (en/pl), settings UI/JS and CSS for branding/theming, and login JS updated to include CSRF token. Also includes various view/template updates to surface branding across the UI.
2026-02-22 15:22:44 +01:00
UNITRONIX 12d195ff78 Release v2.3.0: Node.js console & security
Bump to v2.3.0 and switch to Node.js web console as the primary console (Flask deprecated). Add comprehensive security and feature updates: CSRF protection, session-fixation prevention, timing-safe auth, WebSocket auth, TOTP 2FA, operator/admin roles, address-book sync, desktop connect (URI handler), and SSL certificate configuration in installers. Introduce a dedicated RustDesk Client API (WAN port 21121) and related web-nodejs middleware, routes, views, protos, and client JS (rdclient) plus vendor libs. Add developer tooling and scripts (dev_modules), update hbbs-patch-v2 Rust sources, README and changelog/docs, and ignore Node.js artifacts in .gitignore.
2026-02-22 03:44:00 +01:00
UNITRONIX 3125d2a69d feat(i18n): Add internationalization system with language settings
- Add i18n.py module with translation management and Flask integration
- Add language files: en.json (English), pl.json (Polish)
- Add i18n.js client-side translation loading
- Add i18n.css for language selector styling
- Add Language Settings section in Settings page
- Add custom language pack upload/delete functionality
- Add CSRF exemption for i18n POST endpoints
- Add i18n documentation to README
- Add CONTRIBUTING_TRANSLATIONS.md guide
2026-02-11 23:58:31 +01:00
UNITRONIX 59216f7620 Refactor BetterDesk PowerShell and Dockerfile
Major refactor of betterdesk.ps1: convert to modern PowerShell script with Param/Help, enforce RunAsAdministrator, introduce script-scoped variables, structured logging, Print-* helper functions, auto-mode handling, public IP and password helpers, improved path detection and defaults, binary verification (Verify-*), dependency installation, venv setup for the web console, service setup using NSSM with scheduled-task fallback, and database migration/initialization logic. UI and status output were cleaned up and many functions renamed for clarity. Dockerfile.console: make resolv.conf DNS edits conditional (skip on read-only / Oracle Cloud VCNs) to avoid modifying immutable resolv.conf. .github/copilot-instructions.md: update project status date. These changes improve robustness, non-interactive automation, and Windows service management for BetterDesk.
2026-02-11 23:04:28 +01:00
UNITRONIX b14a8cf162 Add CI, build scripts, docs, and dev utilities
Add a full automated build pipeline, interactive build scripts, documentation and development utilities.

- Add GitHub Actions workflow (.github/workflows/build.yml) to build BetterDesk (hbbs/hbbr) for Linux x64, Linux ARM64 and Windows x64, upload artifacts, optionally create a release and update repository binaries.
- Add interactive build scripts for Windows and Unix (build-betterdesk.ps1, build-betterdesk.sh) supporting download, patch application, cross-build and checksum generation.
- Add build and status docs (docs/BUILD_GUIDE.md, docs/STATUS_TRACKING_v3.md) and update project README/instructions (.github/copilot-instructions.md) with new items and updated timestamp.
- Add development utilities under dev_modules/ (multiple database/patch/test helpers) and move test_generator.py into dev_modules/test_generator.py.
- Update .gitignore to exclude archive/ folder.
- Modify hbbs-patch-v2 sources (database.rs, http_api.rs, main.rs, peer.rs and add rendezvous_server.rs) and remove legacy fixed files; update web UI backend and static files (web/app.py, web/static/*, web/templates/index.html).

These changes set up CI/CD for multi-platform builds, provide local build tooling, expand docs for v3 status tracking and ID-change features, and add developer test/patch utilities.
2026-02-06 23:34:35 +01:00
UNITRONIX cf219a3e5a Add diagnostics, Docker build notes & hbbs v2
Add an offline-diagnosis script and Copilot guidelines, update Docker flow to require local image builds, and promote hbbs-patch-v2 binaries with checksums.

Highlights:
- New dev_modules/diagnose_offline_status.sh to detect and fix "all devices offline" issues.
- Added .github/copilot-instructions.md with project state and build guidelines for Copilot.
- Emphasized local Docker builds in DOCKER_SUPPORT.md, DOCKER_TROUBLESHOOTING.md, docker-compose.yml and docker-quickstart.sh (replace pull with build/rebuild).
- Updated docs/TROUBLESHOOTING_EN.md and README to document offline-status causes/fixes and Windows/Linux v2 binaries (API port 21114).
- Added hbbs-patch-v2 Windows binaries, updated CHECKSUMS.md, and removed legacy hbbs-patch v1 files.
- Bumped VERSION to 1.5.5 and adjusted installer scripts (install-improved.sh/ps1) accordingly.

These changes improve diagnostics, clarify deployment (Docker/local builds), and roll out the v2 BetterDesk server binaries with verification info.
2026-02-04 21:34:17 +01:00
UNITRONIX 99ff852fa6 Add v2 binaries and update install for BetterDesk 1.5.4
Introduces pre-compiled v2.0.0 binaries (hbbs/hbbr) with improved performance and HTTP API on port 21120. Updates README, CHANGELOG, and install script to prioritize v2 binaries, adds systemd service templates, and enhances documentation for new features and migration steps.
2026-02-02 15:23:43 +01:00
UNITRONIX ee38d1aa01 Add automatic systemd service update for API binaries
Introduces automatic detection and update of RustDesk systemd service files to use API-enabled binaries (hbbs-v8-api, hbbr-v8-api) during installation. Adds dev_modules/fix_systemd_services.sh for manual service correction, improves service restart logic to handle multiple naming conventions, and updates documentation and changelogs to reflect these critical changes.
2026-02-02 14:15:40 +01:00
UNITRONIX 6fcfb33b1b Rename files and fix database schema issues
Renamed versioned files (app_v14.py, script_v15.js, index_v15.html) to generic names (app.py, script.js, index.html) and updated all references accordingly. Added missing columns (updated_at, deleted_at) to the peer table and improved database schema checks and fixes in scripts. Introduced fix_peer_columns.sh for quick peer table repair, enhanced Python dependency installation logic, and updated documentation to reflect these changes. Removed obsolete deployment script and incremented version to v1.5.2.
2026-02-02 11:14:45 +01:00
UNITRONIX 890f3a0411 Clean up v14 assets, add v15 deploy script and cache busting
Removed obsolete v14 static and template files, and deleted legacy scripts and performance config. Added scripts/deploy_v15.sh for clean v15 deployment. Updated app_v14.py to support cache busting via version injection and cache headers. Updated documentation and troubleshooting to reflect new manual key permission steps and streamlined upgrade process. Bumped version to v1.5.1.
2026-02-01 01:14:16 +01:00
UNITRONIX bc624a4a32 Add bugfixes, GPU optimizations, and documentation
Resolved Docker bash and PowerShell function naming issues, updated Dockerfile and entrypoint script, and refactored install-improved.ps1 for compatibility. Added and translated extensive documentation for client generator, GPU optimization, troubleshooting, and quick fixes. Introduced new service and static files for performance profiles, and updated README with recent fixes and documentation links.
2026-02-01 00:06:01 +01:00
UNITRONIX 80dd1a6b06 Add fresh install support and improve RustDesk detection
Enhanced install-improved.sh and docker-quickstart.sh to auto-detect RustDesk installations and support both fresh and update scenarios. Updated documentation and changelogs to reflect new installation logic, improved user prompts, and clarified migration steps. Docker and install scripts now handle fresh RustDesk setups, copying required files and setting up the BetterDesk Console automatically.
2026-01-22 08:31:35 +01:00
UNITRONIX d810384cd5 Release v1.5.0: authentication, UI overhaul, docs cleanup
Major update introducing authentication (bcrypt password hashing, role-based access, session tokens), new sidebar UI, user management, settings, and extended About page. API now uses X-API-Key authentication and is LAN-accessible. Updated installation and update scripts, added migration for auth system, and removed deprecated/archived documentation and scripts. Documentation and screenshots updated to reflect new features and security model.
2026-01-15 20:36:24 +01:00
UNITRONIX 19b409b48a Remove implementation summary and v9 docs, update README
Deleted IMPLEMENTATION_SUMMARY.md and docs/IMPLEMENTATION_v9.md, which summarized and detailed the v9 implementation. Updated README.md to note AI-assisted development. These changes clean up documentation and clarify the project's development process.
2026-01-13 17:54:48 +01:00
UNITRONIX 0f244a6959 Add v9 key protection, docs, and repair tool
Introduces comprehensive encryption key protection, dynamic .pub file scanning, enhanced backup options, and improved Docker detection in the installer. Adds new documentation files (KEY_TROUBLESHOOTING.md, QUICK_FIX.md, RELEASE_NOTES_v9.md, IMPLEMENTATION_v9.md), a repair-keys.sh utility for key management and recovery, and updates README and VERSION to reflect v9 changes and troubleshooting guidance.
2026-01-13 13:44:04 +01:00
UNITRONIX ffeb8fc6fe Add Docker detection and update repo references
Added DOCKER_SUPPORT.md with guidance for Docker users. Updated install-improved.sh to detect running RustDesk Docker containers and warn users, providing Docker management instructions and an option to continue. Changed all documentation and scripts to reference the new repository name 'Rustdesk-FreeConsole' instead of 'BetterDesk-Console'.
2026-01-12 03:55:23 +01:00
UNITRONIX 899d28410b Move documentation files to docs/ and update references
Moved various documentation files (e.g., CHANGELOG.md, CONTRIBUTING.md, security and release notes) into the docs/ directory and updated references in README.md accordingly. Also deleted obsolete scripts (restore_hbbs.sh, update.sh) and removed top-level CHANGELOG.md and CONTRIBUTING.md, consolidating changelogs in docs/CHANGELOG.md.
2026-01-10 12:08:27 +01:00
UNITRONIX bf68beed6f 1.2.0-v8 2026-01-06 03:24:36 +01:00