Book Fetch
v1.0.0Download ebooks (epub/pdf) from Anna's Archive and upload them to MEGA automatically. Use when the user asks to download a book, find an ebook, search for a...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description describe searching Anna's Archive and uploading to MEGA. The included script implements that pipeline (search, resolve libgen links, download, upload via megacmd or rclone). No unrelated environment variables, binaries, or install steps are requested.
Instruction Scope
SKILL.md directs running the provided Python script and references an /etc/hosts override that maps annas-archive.li to a specific IP (used to bypass DNS blocking). The skill caches downloads in /tmp/books and expects a pre-configured 'mega' rclone remote or megacmd. The hosts-override note is outside normal operation and is noteworthy because it suggests bypassing network blocks — functionally coherent with the skill's purpose but potentially problematic or suspect from a policy/legal perspective.
Install Mechanism
No install spec; instruction-only with a bundled script. Dependencies are standard Python libraries (requests, BeautifulSoup, lxml) referenced in SKILL.md for a venv. Nothing downloaded from arbitrary or opaque URLs during install.
Credentials
No env vars or secrets requested by the skill itself. It relies on external tools (rclone or megacmd) already configured with MEGA credentials; that is proportional to the task. No unrelated credentials or config paths are requested.
Persistence & Privilege
Skill does not request persistent or elevated privileges. always is false and the code does not modify system configuration (it only writes cached files to /tmp/books). The SKILL.md mentions an /etc/hosts entry already in place, but the skill does not itself create persistent system changes.
Assessment
This skill is internally consistent with its stated purpose, but consider these points before installing:
- Legal/policy risk: The skill targets Anna's Archive and libgen mirrors (sites often used for copyrighted material). Using it may violate law or your organization’s policy. Confirm you have the right to download and store the materials.
- Hosts override: SKILL.md notes an /etc/hosts override mapping annas-archive.li to a specific IP to bypass DNS blocks. That indicates explicit circumvention of network filtering; be cautious and consider network/security policy implications.
- Credentials: The script expects a configured MEGA remote (rclone) or megacmd installed. Ensure your rclone config is secure — the skill will not itself prompt for or read other credentials, but it will cause uploads using whatever MEGA credentials are already configured on the machine.
- Data hygiene: Downloads are cached in /tmp/books. Remove temporary files if you do not want retained copies.
- Trust the code: Review the bundled script before running and, if possible, run it in an isolated environment (container or VM) since it performs network requests and writes files. If you require higher assurance, ask the author for provenance of the GitHub repo or a signed release.
If these considerations are acceptable and you understand the legal context, the skill behaves as advertised. If you are uncomfortable with bypassing DNS blocks or with the legal risks, do not install or run it.Like a lobster shell, security has layers — review code before you run it.
latest
book-fetch
Search Anna's Archive, download epub/pdf, upload to mega:/Books/.
Setup (one-time)
Anna's Archive is DNS-blocked on the VPS. The /etc/hosts override is already in place:
186.2.165.77 annas-archive.li
MEGA is configured via rclone (rclone ls mega:/ to verify).
Usage
cd ~/clawd
.venv-books/bin/python3 skills/book-fetch/scripts/book_fetch.py "TITLE AUTHOR"
Options:
--format pdf— prefer PDF over epub--dry-run— search only, no download--pick -1— interactive result picker--pick N— pick result index N (default: 0)
Download Pipeline
- Search
annas-archive.li→ parsedata-contentattributes for title/author/md5 - Fetch
annas-archive.li/md5/<md5>→ findlibgen.li/ads.phplink - Fetch
libgen.li/ads.php→ extractget.php?md5=...&key=...direct link - Download file with progress bar
- Upload via
rclone copy ... mega:/Books/
Fallback: If no libgen.li mirror exists (newer books), tries Anna's Archive fast/slow download links.
Notes
- New books (2023+) may lack libgen mirrors; fast_download requires AA membership; slow_download is rate-limited
- venv:
~/clawd/.venv-books/(requests, beautifulsoup4, lxml) - Files cached at
/tmp/books/after download - GitHub: https://github.com/zerone0x/book-fetch
Comments
Loading comments...
