[ANN] sako: a Wallabag-compatible read-it-later application

87 views
Skip to first unread message

Sebastien Binet

unread,
Jul 31, 2024, 12:58:51 PM7/31/24
to golang-nuts
hi there,

I've just tagged v0.3.0 of sako[1], a Wallabag[2]-compatible read-it-later application.

I was getting tired of using the shared Wallabag instance from one of the CHATONS[3], which was getting slow (especially on the weekends), and I didn't want to self-host a big PHP stack.
So I've implemented `sako`, a pure-Go server (and client), that tries to be compatible with the Wallabag ecosystem (namely, the Wallabagger[4] plugin and the companion Android-App[5]).

In a nutshell:

```
$> go install git.sr.ht/~sbinet/sako/cmd/sako-mgr@latest

## create a new sako installation, with a super user
$> export SAKO_ROOT=/path/to/sako/data-dir
$> sako-mgr init -pass SomeS3cr3t -root ${SAKO_ROOT}

## adding a normal user
$> sako-mgr user-add -user bob -pass s3cr3t -email b...@example.org ${SAKO_ROOT}

## adding a sako-client (for use with the sako REST API)
$> sako-mgr client-add -user bob -client-name 'my sako client' ${SAKO_ROOT}
client for user "bob" created:
client-id=1_<somehash>
client-secret=<some-other-hash>

## importing data from a remote Wallabag instance
$> sako-mgr import \
-src-uri https://wallabag.example.org \
-src-usr bob-on-wallabag \
-src-pwd bob-pwd-on-wallabag \
-src-api-id ${WALLABAG_CLIENT_ID} \
-src-api-secret ${WALLABAG_CLIENT_SECRET} \
-dst-uri ${SAKO_ROOT} \
-dst-usr bob \
-dst-pwd s3cr3t

## using sako:
$> go install git.sr.ht/~sbinet/sako/cmd/sako-srv@latest
$> sako-srv -addr :8080 -dir ${SAKO_ROOT}
```

Screenshots are available on ~sbinet/sako.

Many thanks to Egon Elbre for their set of freely available (and cute) gophers[6] (and the one hiking with a backpack).

hth,
-s

[1]: https://sr.ht/~sbinet/sako/
[2]: https://wallabag.org/
[3]: https://chatons.org
[4]: https://github.com/wallabag/wallabagger
[5]: https://github.com/wallabag/android-app
[6]: https://github.com/egonelbre/gophers

PS: you need Go-1.23 (as sako is using iter.Seq2[T,U] and friends)
Reply all
Reply to author
Forward
0 new messages