Disclaimer: This plugin is for educational purposes only. Please respect copyright laws and use this plugin responsibly.
This KOReader plugin lets you search and download documents from Anna's Archive. Since it scrapes the HTML of Anna's Archive and tries to grab source links there is no need to log in with any account. However, as soon as there is changes to the Anna's Archive HTML code the scraper can (but it might not!) fail.
Big thanks and credits to the devs of the KOReader Zlibrary plugin which inspired a huge amount of the frontend code and UI for my plugin and to the devs of KindleFetch which inspired much of my webscraping 'backend' code. Without these projects the plugin would probably not run at all yet lol.
The plugin was tested on KOReader installed on a Kindle Paperwhite 11th generation.
- Download the the
annas.plugin.ziparchive from the latest release. - Extract the
annas.koplugin.zipfile and rename remove the version number from the directory name if it has one, e.g.:annas.koplugin-0.1.5->annas.koplugin. - Copy the
annas.koplugindirectory to thekoreader/pluginsfolder on your device. - Restart KOReader.
- Ensure you are in the KOReader file browser.
- Access the
Searchmenu. - Select
Anna's Archive. - Enter your search terms and adjust language, format, and additional settings as needed and hit
search. - Under Search Results click on the entry you are interested in.
- Finally hit
Format: (tap to download)and confirm again by tappingDownload.
On some devices, you may need to change your DNS provider to 1.1.1.1 (Cloudflare).
You only need to do this if Anna’s Archive repeatedly does not work, for example:
- Downloads not working
- No results found (even when searching for something general)
- “All protocols failed” errors
Follow these steps:
-
Open an SSH session using KOReader. Go to: Settings → Network → SSH Server → No Password (for simplicity).
-
You will see a prompt with connection information. Look for an IP address like
192.168.179.xxx. This is your device’s IP. -
On your PC, open a terminal and run:
ssh -p 2222 root@<IP_FROM_ABOVE> -
Run:
ls /etc/ | grep dhcpIf it returns
udhcpd.confthen jump to the udhcpc section if it isdhcpcd.confthen follow the instructions in the DHCP section
-
Edit the DHCP config file:
vi /etc/dhcpcd.confAt the bottom, you should already see:
nohook lookup-hostname -
Press i to enter insert mode and change it to:
nohook lookup-hostname, resolv.conf
-
Press ESC, then type:
:wqand press Enter.
-
Now edit the DNS resolver file:
vi /etc/resolv.confChange it to:
nameserver 1.1.1.1 -
Press ESC, then type:
:wqand press Enter.
- Run
vi /usr/share/udhcpc/default.script-
Enter insert mode by pressing
ion your keyboard -
Add the line
echo nameserver 1.1.1.1 >> $RESOLV_CONFaboveecho -n > $RESOLV_CONF -
Save and Quit with
ESCand then:wq -
Finally, if you want this change to be permanent, you'll need to run this command:
mntroot rw
This will set your filesystem to writable.
To make these changes 'permanent' you can set the files you touched to be immutable, even to root,
which should prevent future updates from overwriting your changes. Simply run chattr + to the files
you modified. To undo these changes later simply run chattr -i against the same files.
For udhcpc:
• chattr +i /usr/share/udhcpc/default.script
For dhcp:
• chattr +i /etc/resolv.conf
and
chattr +i /etc/dhcpcd.conf
-
Reboot your device and try again.
Done!
To make this change permanent, you must set the DNS directly in your router settings.
Search on Google for something like:
“Change DNS to 1.1.1.1 on {Your Router Model}”
and follow the instructions for your specific router.
KOReader, Z-library, e-reader, plugin, ebook, download, KOReader plugin, Z-library integration, digital library, e-ink, bookworm, reading, open source.