Gosuki
A lightweight, open-source, privacy-first bookmark manager that unifies your bookmarks across multiple browsers, syncs them in real time (locally or P2P), requires no extensions, and stores everything locally.
Install / Use
/learn @blob42/GosukiREADME
-
[x] Ever feel like your bookmarks are a chaotic mess ?
-
[x] Ever find yourself swapping browsers when they stop meeting your demands ?
-
[x] Have past bookmark managers let you down, vendor locking or abandoning you in your time of need ?
-
[x] Would you rather avoid entrusting your bookmarks to cloud companies and browser extensions ?
-
[x] Perhaps you keep multiple browser profiles for work, research, streaming, and development ?
-
[x] Do you use some “obscure” browser that doesn't support extensions ?
-
[ ] If you're nodding your head to any of the above, then look no further:
GoSuki is a cloudless, extension-free, multi-browser, and real time bookmark tracker and organizer. It packs everything in a single binary and captures all your bookmarks in a portable database with multi-device sync & [archiving][1] capability. It will eventually support every internet browser under the sun. <br> <br>
<div align="center"> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Firefox_brand_logo%2C_2019.svg" width="30"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/d/d0/LibreWolf_icon.svg" width="30"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/e/e4/Waterfox_logo_2019.svg" width="30"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/e/e1/Google_Chrome_icon_%28February_2022%29.svg" width="30"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/2/28/Chromium_Logo.svg" width="30"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/1/1f/Brave-logo.svg" width="60"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://qutebrowser.org/icons/qutebrowser.svg" width="30"></a> <br> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://img.shields.io/badge/linux-gray?logo=linux"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://img.shields.io/badge/macOS-gray"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://img.shields.io/badge/flatpak-blue?logo=flathub"></a> <a href="https://gosuki.net/docs/features/browser-support-matrix/" target="_blank"><img src="https://img.shields.io/badge/snap-orange?logo=snapcraft"></a> </div> <p align="center"><small><a href="https://gosuki.net/docs/contributing/browsers" target="_blank"> add your browser</a></small></p>✨ Features
- 📦 Standalone: Gosuki is a single binary with no dependencies or external extensions necessary. It's designed to just work right out of the box
- ⌨️ Ctrl+D: Use the universal shortcut to add bookmarks and call custom commands
- 🏷️ Tag Everything: Tag with #hashtags even if your browser does not support it. You can even add tags in the Title. Your folders become tags
- 🔎 Real time: Gosuki keeps track of your bookmarks, spotting any changes as they happen
- 📱 Multi-Device-Sync: Synchronize your bookmarks across multiple devices.
- 🗃️ Archiving Archive your bookmarks with [ArchiveBox][1].
- 🖥️ Web UI + CLI Builtin, local Web UI. Also works without Javascript. dmenu/rofi compatible CLI.
- 🧪 Hackable: Modular and extensible. Custom scripts and actions per tags and folders.
- 🌎 Browser Agnostic: Detects which browsers you have installed and watch changes in all of them
- 👤 Profile Support: Also handles multiple profiles for each browser
- 💾 Buku Compatibility: Gosuki is compatible with the Buku sqlite database, you can use any program that was made for buku
- 📡 External APIs Consolidate your curated content from external APIs (github, reddit ...)
📸 In Action
<div align="center"> <p> <h3><a href="https://github.com/user-attachments/assets/bb5c52f8-4413-4f91-88c7-445834728952">Realtime Bookmark Tracker</a></h3> <video controls muted src="https://github.com/user-attachments/assets/bb5c52f8-4413-4f91-88c7-445834728952"></video> </p> <p> <h3><a href="https://github.com/user-attachments/assets/2e69940a-2fc3-4108-9b4c-ef324b3d08cd">Marktab Scripts</a></h3> <video controls muted src="https://github.com/user-attachments/assets/2e69940a-2fc3-4108-9b4c-ef324b3d08cd"></video> <p>Note: you can also drop bookmarks in a folder matching an action to execute the script. Folders are tags</p> </p> <p> <h3><a href="https://github.com/user-attachments/assets/bf1e7c87-5775-4c54-a428-cfe84757c43e">CLI - Suki</a></h3> <video controls muted src="https://github.com/user-attachments/assets/bf1e7c87-5775-4c54-a428-cfe84757c43e"></video> </p> </div> <br> <p align="center"><a href="https://youtu.be/lxrzR4cHgmI" target="_blank">Full Demo on YT</a></p>Installation
Checkout the quick start guide.
Gosuki currently supports Linux and MacOS<sub>beta</sub> . More platforms are planned.
Packages
<div> <a href="https://aur.archlinux.org/packages/gosuki-git"><img src="https://img.shields.io/badge/Arch-AUR-blue?logo=archlinux"></a> <br> <a href="https://git.blob42.xyz/gosuki.net/-/packages/debian/gosuki"><img src="https://img.shields.io/badge/Debian-A81D33?logo=debian"></a> </div>From source
Dependencies:
sqlite3development library
go install github.com/blob42/gosuki/cmd/gosuki@latest
- Build with systray icon feature
go install -tags systray github.com/blob42/gosuki/cmd/gosuki@latest
optional suki cli command
suki is a cli command to list/filter bookmarks with a customizable dmenu/rofi compatible output
go install github.com/blob42/gosuki/cmd/suki@latest
Running GoSuki
GoSuki is designed to run as a background service for real-time bookmark monitoring. Below are the recommended ways to start and interact with the application.
As a Service
Start GoSuki as a persistent service (systemd example):
gosuki start
This initializes all configured browsers and begins real-time bookmark tracking.
Terminal UI (TUI)
Launch with an interactive terminal interface for real-time parsing overview:
gosuki --tui start
The TUI displays module status and bookmark processing metrics.
Importing bookmarks
From Buku
gosuki import buku
This will imports all bookmarks from Buku into Gosuki. Gosuki DB is compatible with buku, meaning you can symlink gosuki DB or add it to Buku and it will just work. However, gosuki cannot read a buku database unless it is imported with the above command.
From pocket
Import bookmarks from a Pocket export in csv format:
gosuki import pocket export_file.csv
Debugging
A leveled logging system is available with --debug={trace,debug,info,warn,error,fatal,none}
gosuki --debug=info
## Set debug level per subsystem
gosuki --debug=info,chrome=trace
note use --debug=list to list the available levels and subsystems
How does it work ?
Gosuki monitors the browser's internal bookmark files for changes. It uses the native OS event notification system to detect changes as they happen. This allows it to be fast and efficient, without the need for any plugins or extensions. This architecture makes it possible to load bookmarks from any kind of internet browser, API or program that emits something akin to a bookmark.
The application maintains a local portable database of all tracked bookmarks, accessible via the built-in web UI or CLI.
Curious for more details on the internals ? Checkout the Architecture file.
Rationale
I spent years working on and off on this project. My goal was to create a bookmark management solution resilient to vendor lock-in and the increasing trend of subscription services seeking rent for access to our curated internet content.
In the age of the "everything internet" web links and bookmarks represent a significant investment of human time spent curating and
