https://github.com/blob42/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.
https://github.com/blob42/gosuki
archivebox archiving bookmark-manager bookmarks buku cli cloudless extension-free golang multi-browser multi-device-sync multi-profile organizer privacy real-time self-hosted standalone webui
Last synced: 4 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/blob42/gosuki
- Owner: blob42
- License: agpl-3.0
- Created: 2023-10-03T22:29:05.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-12-28T12:49:00.000Z (5 months ago)
- Last Synced: 2025-12-29T10:29:19.950Z (5 months ago)
- Topics: archivebox, archiving, bookmark-manager, bookmarks, buku, cli, cloudless, extension-free, golang, multi-browser, multi-device-sync, multi-profile, organizer, privacy, real-time, self-hosted, standalone, webui
- Language: Go
- Homepage: https://gosuki.net
- Size: 1.49 MB
- Stars: 424
- Watchers: 2
- Forks: 23
- Open Issues: 5
-
Metadata Files:
- Readme: README.dev.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- charm-in-the-wild - GoSuki - No cloud, real time, multi-browser, extension-free bookmark manager. (_built with Bubble Tea_) (Applications / Productivity and Organization)
README
## Development notes
The entry points for the CLI are:
```sh
cmd/gosuki/main.go
cmd/suki/suki.go
```
So to run via Go (and debug it)
```sh
go run ./cmd/gosuki
```
or
```sh
go run ./cmd/suki
```
## VSCodium/VSCode setup for running / debugging:
```sh
.vscode/launch.json
```
```json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug gosuki import pocket",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}/cmd/gosuki",
"showLog": true,
// "debugAdapter": "dlv-dap",
"args": ["import", "pocket", "--debug=trace", "${workspaceRoot}/debug.csv"]
}
]
}
```
### For MacOS:
```sh
.vscode/settings.json
```
```json
{
"go.goroot": "/opt/homebrew/Cellar/go/1.24.3/libexec"
}
```
Extensions:
- https://open-vsx.org/vscode/item?itemName=golang.Go
## Debugging
### Attach to running process with dlv
- This example uses `dlv` to launch gosuki in server mode with TUI using a test config file and database and enabling debug log for Chrome based browsers.
```sh
dlv debug --headless --listen 127.0.0.1:38697 ./cmd/gosuki/ -- -c ~/.config/gosuki/config.test.toml --db=/tmp/gosuki.db --debug=none,chrome=debug start
```
- Then attach to the dlv session using your IDE DAP plugin after setting a breakpoint