Under Development
This chapter covers parts of Bindle that are still being built. They are early, they may change, and they are not part of the iPhone, iPad, or Mac apps. Nothing here changes how Bindle works on your Apple devices.
Linux (Omarchy)
Bindle has a first client for Linux, made with Omarchy in mind: bdl, a program that runs in a terminal. It joins your circle like any other device, so links you save on Linux reach your iPhone, iPad, and Mac, and theirs reach Linux.
With no command, bdl opens a terminal screen with two tabs:
- Links lists your links. You can search them, add one, open one in your browser (which marks it read), and mark links read, archived, or starred. The number keys switch between Unread, All, Archived, and Starred.
- Devices shows this device, whether it is on the network, and each device in your circle: in sight, away, or syncing, and when it last synced. Pair and rename from here.
Press ? for every key. Tab switches between Links and Devices, S syncs with the devices in sight now, and q quits.
Get It Running
There is no package yet. To try it, build it from Bindle's source code with Rust's cargo:
cargo run --release -p bindle-cli
bdl works on any Linux whose local network lets devices find each other, the same way your Apple devices find each other over Wi-Fi.
Pair It With Your Devices
You pair Linux with one device already in your circle, and it joins the whole circle. It works either way round.
- To show a code on Linux, open the Devices tab and press
p. It shows a QR code and a pairing link. On the iPhone or iPad, open Settings > Add device and choose Scan Pairing Code. On the Mac, open Settings > Add device, paste the link into "Or paste a bindle://pair/ link", and choose Join. - To join from Linux instead, choose Show Pairing Code on the other device, open the Devices tab in
bdl, pressj, and paste the link shown under the code. - Both devices show the same code. Check that they match, then press
y(Codes Match) inbdl, ornif they differ, and choose Codes Match on the other device.
A pasted link could come from anyone, so bdl reminds you to pair only with your own device.
Commands
A few commands do one thing each, for scripts and quick use:
| Command | What it does |
|---|---|
bdl | Opens the terminal screen. |
bdl status | This device, its circle, and whether everyone has everything. |
bdl list | Lists unread links. Add --all, --archived, or --starred for those. |
bdl add <url> | Saves a link. --title gives it a title of your own. |
bdl sync | Syncs with your devices on the local network for 20 seconds, then exits. --seconds changes how long. |
bdl pair host | Shows a pairing code for another device. |
bdl pair join <link> | Joins from the link another device shows under its pairing code. |
bdl --help lists them all. Every command takes --data-dir to use a library somewhere else.
Where It Keeps Things
Your library and this device's keys are in ~/.local/share/bindle, or in $XDG_DATA_HOME/bindle when that is set. Only your user can open the folder. The keys are in a file called identity.keys; bdl refuses to use it if other users can open it.
After an Update
The first time an updated bdl opens your library, it copies the whole folder to bindle-backups/pre-161-install beside it, so ~/.local/share/bindle-backups by default. It makes the copy once.
After that update, Linux waits for your other devices before it saves changes, as every device does once. A line under the top bar says which devices it is waiting for. Until they sync, an edit says "Not saved: Bindle is catching up after a restore." Press H to edit anyway; bdl asks first, because changes made now may clash with what those devices still hold. Pairing asks the same. bdl status shows the same line, and bdl add and Super+Alt+B say "Not saved".
On this device in the Devices tab, Stored says how many changes Linux keeps and how many are not on every device yet. Once a day, after a sync, Linux clears history every device already has. Cleanup says what the last one cleared, and for 7 days after it U undoes it, after asking.
What It Doesn't Do Yet
- It syncs only while it runs. Keep the terminal screen open, or run
bdl sync. A background service that syncs on its own comes later. - Local network only. No Bluetooth, and no pairing by sound.
- No reader. Opening a link opens it in your browser. There are no saved copies, Listen, highlights, collections, tags, or reminders on Linux yet.
Planned next: the background service, Omarchy keyboard shortcuts to save from the clipboard and pick a link, Bluetooth, pairing by sound, saved copies, and a reader with speech.