As of 2020-08 Original upstream project https://github.com/go-shiori/shiori/ has a new maintainer. For more details, please see #256
-
Recently updated fork https://github.com/emptyhua/shiori
-
Allegedly maintained fork (possibly incompatible database format) is available at https://github.com/techknowlogick/shiori - note as of 2020-07 this version fails to archive sites
-
https://github.com/p3lim/shiori-web-ext/releases/latest updated web browser extension (allows keyboard enter to save for speed)
-
https://github.com/go-shiori/shiori-web-ext/releases/latest original
Shiori is a simple bookmarks manager written in Go language. Intended as a simple clone of Pocket. You can use it as command line application or as web application. This application is distributed as a single binary, which means it can be installed and used easily.
- Basic bookmarks management i.e. add, edit, delete and search.
- Import and export bookmarks from and to Netscape Bookmark file.
- Import bookmarks from Pocket.
- Simple and clean command line interface.
- Simple and pretty web interface for those who don't want to use a command line app.
- Portable, thanks to its single binary format.
- Support sqlite3, PostgreSQL and MySQL as its database.
- Where possible, by default
shiori
will parse the readable content and create an offline archive of the webpage. - [BETA] web extension support for Firefox and Chrome.
Original documentation is available in wiki. If you think there are incomplete or incorrect information, feels free to edit it.
Shiori can be built for ARM/Raspberry Pi but not using the original wiki instructions to use go get ...
, with go1.13.11 under Raspbian GNU/Linux 9 (stretch) get:
../golang/src/github.com/go-shiori/shiori/internal/cmd/root.go:93:32: too many arguments in call to gap.NewScope
have (gap.ScopeType, string, string)
want (gap.ScopeType, string)
../golang/src/github.com/go-shiori/shiori/internal/cmd/root.go:94:27: userScope.DataDir undefined (type *gap.Scope has no field or method DataDir)
Original wiki documents minimum version of Go 1.12. So unclear why go get ...
fails, the alternative is to build from source (manually or with Docker).
See Dockerfile for deployment with Docker, image uses Alpine (which requires Alpine Go to build, Debian builds of Shiori do not work in Alpine, will see not found
errors).
To build issue:
git clone https://github.com/go-shiori/shiori.git
cd shiori
go build # NOTE this assumes GOPATH is set and go in the path, manual install of go described below
Quick setup of Go:
wget https://dl.google.com/go/go1.13.11.linux-armv6l.tar.gz
tar -ztvf go1.13.11.linux-armv6l.tar.gz
sudo tar -C /usr/local -xzf go1.13.11.linux-armv6l.tar.gz
sudo apt-get remove golang-1.7
sudo apt autoremove
Then in .profile (etc.)
PATH=$PATH:/usr/local/go/bin
GOPATH=$HOME/golang
if [ ! -d "$GOPATH/src" ] ; then
mkdir -p $GOPATH/src
fi
Later versions should work, go-shiori#243 (comment) indicates go1.14.1 works
See systemd_shiori.service for running as a service under Raspberry Pi (Debian)
Shiori is distributed using MIT license, which means you can use and modify it however you want. However, if you make an enhancement for it, if possible, please send a pull request.