From c6feb75c6fcdbb5fb2063e35617cb3897c7bb5ba Mon Sep 17 00:00:00 2001 From: nak0x Date: Sun, 6 Sep 2026 23:31:06 +0200 Subject: [PATCH] latest todo --- latest-todo.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 latest-todo.md diff --git a/latest-todo.md b/latest-todo.md new file mode 100644 index 0000000..704b0d4 --- /dev/null +++ b/latest-todo.md @@ -0,0 +1,35 @@ +# Latest todo + +install.sh + +./install.sh + +Builds the workspace, installs the four binaries to ~/.local/bin, writes starter configs, fetches the 80k blocklist rules, sets up a systemd user service for the proxy, and prompts before registering furst as your default browser. + +--prefix default ~/.local/bin +--no-build install from an existing target/release +--no-lists skip the blocklist download +--no-service skip the systemd unit +--no-default-browser never touch xdg-settings +-y, --yes answer prompts yes +--uninstall [--purge] reverse it + +Three properties worth knowing: + +- Re-running is safe. Configs that already exist are left alone — I verified this by appending an edit to rules.toml, re-running, and confirming it survived. +- The default-browser change is prompted, not assumed. A non-interactive run (piped, CI) declines it rather than silently changing your desktop. +- It passes --workspace to cargo. That's the trap that bit me twice during development: the root package is only furst, so a bare cargo build silently skips the other three binaries and you install stale ones. + +--uninstall removes binaries, service, and desktop entry but keeps your configs; --purge takes those too. It also warns that your default browser is left unset and tells you how to point it back at Firefox. + +GUIDE.md + +225 lines covering what the READMEs don't: the click-to-handler flow, making the proxy stick (including that Firefox ignores http_proxy and needs manual configuration), the commands worth knowing, and a "fixing things" section ordered by effort — because extraction is heuristic and some pages will come out wrong. + +That section is the one that matters in practice. It walks from cheapest fix to most involved: click original → inspect with curl … | furst-read --stdin --text → adjust the POSITIVE/NEGATIVE class lists in extract.rs → move the site to the heavy rule. + +Verified in a sandbox + +I ran the whole thing under a fake HOME so it couldn't touch your machine, then checked afterward: no stray processes, no ~/.config/furst, no furst.desktop, no systemd units, and your default browser is still firefox.desktop. Tested install, re-run idempotency, --uninstall, --purge, --help, and an unknown flag. + +Two things I did not exercise, so treat them as unproven until your first real run: the systemd service path (enabling a user unit would have affected your actual session) and the interactive default-browser prompt. Both are short and straightforward, but they're the parts that will run for the first time on your machine.