Skip to content

Braid 0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Sep 19:14

Braid splits one download across every network path you have — Wi-Fi, Ethernet, and a phone's mobile data at the same time — verifies every chunk, and survives links that expire mid-transfer.

This is the first release that is not a beta.

New: run it on a server

braid-server is the same engine with no window: a container, a web UI, and an API.

services:
  braid:
    image: ghcr.io/infodivelabs/braid:0.1.0
    ports: ["8080:8080", "6881:6881", "6881:6881/udp"]
    volumes: ["./config:/config", "./downloads:/downloads"]
    environment: [PUID=1000, PGID=1000]

It answers qBittorrent's API, so Sonarr, Radarr, Prowlarr and Lidarr drive it by changing the host, port and password on the qBittorrent client they already have. Verified against a real Sonarr 4.0.20 and Radarr 6.4.4, from grab to library import, with those exchanges replaying as tests.

It exists because a media stack usually runs a torrent client and something else for direct downloads, and the something else is a shell script with curl in it — no resume, no integrity check.

Also in the container: multi-interface downloads, per-torrent folders and tags, categories that survive a restart, and password changes from the Settings page. Migration steps are in docker/README.md.

Desktop

Platform File Notes
macOS 11+ Braid-0.1.0-macos.dmg Unsigned: first launch needs right-click, then Open
Debian, Ubuntu braid_0.1.0_amd64.deb sudo apt install ./braid_*.deb
Fedora, RHEL braid-0.1.0.x86_64.rpm sudo dnf install ./braid-*.rpm
Windows 10+ braid-0.1.0.msi Multi-NIC is unverified on hardware

Pair an Android phone to add its mobile data as an extra lane: braid-android-0.1.1.apk, checked on a Pixel 7 Pro against a real carrier.

Known limitations

  • Windows multi-NIC is unverified. IP_UNICAST_IF is implemented from Microsoft's documentation with no Windows hardware to confirm it. Everything else on Windows is unaffected. The Network settings page shows the binding mechanism actually in force, so a silent fall back is visible.
  • Nothing is code signed. macOS and Windows will both warn.
  • The server's qBittorrent API covers what the *arr apps ask for, not everything qBittorrent documents. A generic client or mobile app will find trackers, peers, per-file priority, recheck and rename missing. Tracked in #12.
  • Seed and leecher counts read zero in the server's API.