MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Self-Shelf is a native reader for the books, comics and PDFs on your own Jellyfin server.
MediaTypeScript · HTMLGitHub @jacclyonsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A native iOS reader for the books, comics and PDFs in your Jellyfin library.
Jellyfin is great at storing your library. It is not great at reading it on a phone. Self-Shelf
signs into your server, pulls down the shelf, and gets out of the way so you can read.
Everything is local-first. Your place in a book, your bookmarks, your highlights and your type
settings live in SQLite on the device, so the app opens instantly and works on a plane. Progress
is pushed back up to Jellyfin when the server is reachable.Read the full README ↗Jellyfin is great at storing your library. It is not great at reading it on a phone. Self-Shelf signs into your server, pulls down the shelf, and gets out of the way so you can read.
Everything is local-first. Your place in a book, your bookmarks, your highlights and your type settings live in SQLite on the device, so the app opens instantly and works on a plane. Progress is pushed back up to Jellyfin when the server is reachable.
Your library, the way you left it
A reader worth using
Offline and on-device
Austen, Jane - Emma.epub are parsed for title and author automaticallyNative where it counts
git clone https://github.com/jacclyons/JellyShelf.git
cd JellyShelf
npm install
npm run ios
Self-Shelf uses native modules, so Expo Go will not work. npm run ios builds and installs a dev
client. After that, npm start is enough for day to day work.
On first launch you get a short walkthrough, then a sign-in screen. Type your server address the
way you would in a browser (jellyfin.home.lan:8096 is fine, so is a pasted web client URL) and
Self-Shelf will sort out the scheme and strip the /web suffix.
| Command | What it does |
|---|---|
npm start | Start Metro against the dev client |
npm run ios | Build and run on a simulator or device |
npm run prebuild | Regenerate the native project from scratch |
npm run typecheck | tsc --noEmit |
npm run lint | Expo lint |
The reader is a single HTML file with epub.js, pdf.js, JSZip and unrar.wasm vendored alongside it.
It is copied out of the bundle into a hidden folder on first run and loaded over file://, which
means the WebView can fetch() any book on disk without a server in the middle. React Native and
the engine talk over a small typed message protocol, so the native side owns navigation, chrome and
persistence while the WebView only paints pages.
Books live under Documents/ so that both halves of that story work at once: iOS shows the folder
as "Self-Shelf" in the Files app for your own EPUBs, and downloads from Jellyfin land in a
dot-prefixed subfolder the Files app leaves alone.
src/
api/ Hand-written slice of the Jellyfin API, plus React Query hooks
app/ expo-router screens (tabs, book detail, reader, settings, sign-in)
reader/ WebView bridge, appearance and contents sheets, scrubber
state/ Auth session, SQLite store, reader preferences
lib/ On-disk layout, downloads, local book scanning, metadata
ui/ Theme, glass surfaces, covers, shelves, shared bits
assets/
reader/ The reader engine and its vendored libraries
expo-secure-store.