Wings, hardened in Rust

As part of my Development Manager role at Elcro Digital Services LLC, I maintained and extended the Rust-based Wings fork behind its Lagless.gg brand: containers, files, backups, and communication with the panel.

Reliable underneath.

  1. Panel
  2. Rust daemon
  3. Containers & storage

Architecture sketch: Rust, Docker, S3, Linux

Node infrastructure / Rust. Illustration, not a screenshot.
Role and contribution
Development Manager at Elcro
Documented activity
May — September 2026
Stack
Rust, Docker, S3, Restic, SFTP, Linux

Context

A good panel depends on a reliable node daemon. My work focuses on recovering data safely, provisioning services without manual handoffs, handling broken connections, and making asynchronous operations observable.

Engineering notes

Streaming user backups

S3-compatible multipart uploads, bounded concurrency, timeout and retry handling, durable indexes, status callbacks, and coordination between backups and server deletion.

Backup compatibility & recovery

Restic initialization and legacy-panel compatibility, restore configuration adapters, Google Drive backup work, and retention coordination with the panel.

Database provisioning

CLI and asynchronous HTTP setup flows for MariaDB/MySQL, PostgreSQL, and Redis, with progress reporting and safer tenant provisioning.

Container & storage lifecycle

Guarded orphan-container cleanup, SFTP quota accounting corrections, folder-size and system-stat APIs, and safer startup log handling.

Connection reliability & protection

WebSocket lifecycle hardening, BBR configuration with documented tradeoffs, process-based miner detection, and file-signature scanning with false-positive corrections.

Builds & release delivery

Nightly build naming, release compatibility fixes, and CI delivery of binaries through Cloudflare R2.

How it evolved

  1. Compatibility comes first

    Restic compatibility work establishes the fork's contribution history before system and storage APIs are extended.

  2. User backups across panel and node

    S3-backed user backups connect the daemon to a recoverable deleted-server workflow.

  3. Correct storage accounting

    SFTP quota accounting is corrected so retries and file truncation do not leave usage counters out of sync.

  4. Backup reliability and visibility

    Streaming uploads, durable state, deletion coordination, and panel notifications improve how long-running backups are handled.

  5. Connection lifecycle hardening

    WebSocket handling receives another reliability pass after the network and provisioning improvements.

The contribution record

Reviewed commits
45
Authored by me
45
Reviewed repositories
1

The daemon builds on an existing Rust Wings implementation. The reviewed Lagless fork contains 45 commits authored by me; the rewrite's upstream foundations are not presented as my original work. Commit history records implementation changes, not independently verified performance or uptime guarantees.

Reviewed on . This is a reviewed snapshot, not a live GitHub counter. Dates describe repository activity, not employment start dates. Private commit subjects are summarized; source code, author emails, internal paths, and credentials are not published.

45 matching commits · showing 1–12

  1. Harden websocket connection handling (v1.6.1)

    wings-rsAuthored by me

  2. Enable the rustix features Wings actually uses

    wings-rsAuthored by me

  3. Default to BBR congestion control (v1.6.0)

    wings-rsAuthored by me

  4. Drop the unused is_running helper from DatabaseSetupManager

    wings-rsAuthored by me

  5. Expose `database setup` over HTTP so the panel can provision a node (v1.5.0)

    wings-rsAuthored by me

  6. Fix two build errors in the user backup rewrite

    wings-rsAuthored by me

  7. Harden user backups and report their status to the panel (v1.4.0)

    wings-rsAuthored by me

  8. Add orphaned-container reaper and harden `database setup` (v1.3.0)

    wings-rsAuthored by me

  9. Fix SFTP disk quota accounting leak on truncate (v1.2.0)

    wings-rsAuthored by me

  10. Authentication, security, or deployment hardening update

    wings-rsAuthored by me

  11. Fix websocket broken-pipe error flood (v1.1.2)

    wings-rsAuthored by me

  12. Authentication, security, or deployment hardening update

    wings-rsAuthored by me

Let's build your next project.

An addon, a plugin, a bot or a whole server setup. Rough ideas are welcome.