mrkeyoor.com_
Wed 23 Sept 06:48 UTC
Automationevaluationupdated 23 Sept 2026

FreePEP review

FreePEP is a Chinese-first Python downloader that turns page images from the People's Education Press textbook site into local PDFs. A current English README exists, and both guides explain the Web interface, command-line filters, batch mode, Chromium requirement, and restrictions on use.

Verdict

Our FreePEP run installed 53 packages and built in 40 seconds combined, but it had no test target, so the clean pip-audit result is stronger evidence than the skipped quality check. Try it for a small personal download if the README's copyright and rate limits fit your use, then confirm that the PDF exists and opens. Do not make it an institutional archive or unattended bulk job while empty-folder reports and upstream WAF dependence remain.

We ran it

Lab card: what happened when we ran FreePEPScreenshot of FreePEP (github.com/siknet/FreePEP)
Install✓ · 39s53 packages · 221 MB
Build✓ · 1s
Testsn/ano test script
Known vulns0(pip-audit)
Repo18 files~2,252 lines of source · 0.7 MB · 0 CI workflows

Answers from our run

Does FreePEP build from source?

Dependencies installed in 39 seconds (53 packages), and the build succeeded in 1 seconds. We cloned commit a13102a into a clean Debian container with 3 CPUs and no project-specific setup.

Does FreePEP have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does FreePEP have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use FreePEP?

Schools, publishers, or businesses planning redistribution: the README limits the tool to technical exchange, reverse-engineering study, and personal educational research, and forbids commercial use.

What are the alternatives to FreePEP?

PEP Digital Textbook Platform, Playwright for Python. Our FreePEP run installed 53 packages and built in 40 seconds combined, but it had no test target, so the clean pip-audit result is stronger evidence than the skipped quality check.

Setup3/539-second install, plus a separate Chromium download
Docs4/5Chinese and English guides cover GUI, CLI, batch mode, and limits
Community3/51,028 stars and recent fixes, with 5 open issues and PRs
Maturity2/5Young scraper with open empty-download reports and changing CI

Who it’s for

Chinese-speaking students or parents who need a small, local interface for selecting PEP textbooks.
Python users who can install Playwright Chromium and diagnose a scraper when the publisher changes its site.
Archivists making limited personal-study downloads while following the project's rate and deletion guidance.
Windows users who prefer a packaged Web interface and accept a 369 MB download.

Who it’s NOT for

Schools, publishers, or businesses planning redistribution: the README limits the tool to technical exchange, reverse-engineering study, and personal educational research, and forbids commercial use.
Anyone who needs a publisher-endorsed offline library: PEP owns the textbook rights, while the project's MIT license covers the downloader's code.
Users who expect every successful UI message to mean a PDF exists: open issues 5 and 7 report completed tasks with empty download folders on source and macOS setups.
Operators who need a stable, documented API: FreePEP drives a site protected by an Alibaba Cloud WAF slider, and issue 9 identifies its session cookie as the access gate.
Container-only deployments: the repository has no Dockerfile, and an open pull request proposes Docker Compose support rather than documenting it as shipped.

Setup reality

Our sandbox installed 53 packages in 39 seconds at commit a13102a, using 221 MB on disk. The configured build succeeded in 1 second. There was no test script or target, so tests were skipped; pip-audit found 0 known vulnerabilities.

Source setup also requires playwright install chromium, network access to PEP, and write space for page images and finished PDFs. No API key is documented. The local Web interface starts on port 8000, while CLI and batch modes write to ./downloads unless given another path.

v1.4 was published three days after our run and added a test file plus CI, but we did not rerun that later commit. The repository still has no Dockerfile. macOS users need the Playwright browser installed, and the README says a missing browser can leave an empty folder behind a misleading completion message.

The catalog is broad, but the target is one Chinese publisher

FreePEP's README describes a catalog of more than 780 textbooks from the People's Education Press platform. The app filters that catalog by school stage, subject, grade, or keyword, then downloads page images and joins them into a PDF. Its Web interface is aimed at someone clicking through checkboxes, while the CLI accepts the same choices as arguments. A separate batch script can arrange finished books into school-stage and grade folders.

The project is Chinese-first: its interface labels, catalog fields, issue tracker, and main README use Chinese. A full English README is now present and covers setup, command examples, architecture, and the disclaimer. This remains a tool for PEP's Chinese catalog rather than a general ebook downloader.

A 39-second install still leaves Chromium to fetch

Our commit a13102a environment installed 53 Python packages in 39 seconds and occupied 221 MB. The configured build step then succeeded in 1 second. Source installation has another documented step: Playwright must download its Chromium browser. That browser is needed for the page-fetching and WAF interaction, so a successful package install alone does not leave the downloader ready to retrieve a book.

The repository itself was only 0.7 MB at the measured commit, with 18 files and roughly 2,252 lines of source. Playwright opens a browser, Pillow joins downloaded JPG pages, FastAPI serves the local UI on port 8000, and the output directory must hold temporary images plus the resulting PDFs. The Windows v1.4 archive is about 369 MB because it packages the application and a portable browser for users without Python.

What happened when we ran it

Our sandbox installed FreePEP in 39 seconds and completed its build in 1 second. Pip-audit reported 0 known vulnerabilities across the 53 installed packages. We used a fresh Debian container with 3 CPUs, 8 GB of RAM, no secrets, and an unprivileged user. The checkout consumed 0.7 MB before installation and 221 MB after its Python dependencies were present.

Tests were skipped because commit a13102a exposed no test script or target. That checkout also had 0 CI workflows, no Dockerfile, and no tests directory. We did not download a textbook, solve the publisher's slider, or validate a generated PDF in this run. The result says the dependencies install and the configured build completes; it does not measure download reliability, PDF quality, or how the publisher responds to repeated requests.

v1.4 added CI after the commit we measured

FreePEP v1.4 was published on September 19, 2026, three days after our sandbox run. The current tree adds tests/test_all.py, development requirements, and one GitHub Actions workflow across Python 3.9 through 3.12. Those tests cover local catalog behavior, encryption round trips, an offline skip path, and Web API responses. They do not turn our skipped result into a pass because our lab ran the earlier a13102a commit.

The same release added a high-resolution option and a fallback when an original image returns 404. Its one release asset is a 64-bit Windows ZIP, leaving macOS and Linux users on the source path. There is still no Dockerfile. Pull request 4 proposes Docker Compose and multi-platform builds, but it remained open when checked, so those files should not be treated as part of the supported setup.

Two open reports end with an empty download folder

Issues 5 and 7 describe the most damaging failure for this kind of tool: the UI says a task finished, yet the download directory contains no PDF. Issue 5 concerns a source-based WebUI run and mentions a missing import plus a single-book action that still does nothing. Issue 7 reports the same empty-folder outcome on macOS. Neither report was closed when we checked, so a green notification is not enough evidence that a book was saved.

The README gives one macOS explanation: users who install Python packages but omit playwright install chromium can browse online while background downloads fail. That diagnosis may explain some cases, not every open report. After any job, check that the expected file exists, has a plausible size, and opens through several pages. A bulk queue only multiplies a silent failure if the first PDF was never inspected.

The WAF cookie makes downloads dependent on someone else's site

Issue 9 says the PEP book host returns a verification page with HTTP 200 when the required Alibaba Cloud WAF cookie is absent. FreePEP automates the slider interaction through Playwright, while its local catalog and decryption logic decide which page URLs to request. A change to that verification page, cookie behavior, or image path can break downloads without changing any FreePEP file.

Batch mode defaults to 3 worker threads, and the README demonstrates raising that count to 10. The same README asks users not to download the entire catalog at once and warns against excessive load on PEP's servers. Use the lower setting, start with one title, and stop when verification failures appear.

The README restricts what you should do with the PDFs

The project tells users to delete downloaded material within 24 hours and directs long-term readers toward official copies. It limits the downloader to technical exchange, reverse-engineering learning, and personal educational research, while prohibiting commercial or profitable use. The MIT license applies to FreePEP's code. The README separately says that PEP and other rights holders retain copyright in the downloaded textbooks.

GitHub recorded 1,028 stars, 170 forks, and 5 combined open issues and pull requests on September 23, 2026. The last push was September 19, the same day as v1.4, so this is active software with a fast-growing audience. It is also less than a month old. Use the official platform when online reading is enough; use FreePEP only when a limited local copy is worth managing Chromium, upstream breakage, and the stated usage limits.

Alternatives

ProjectWhat it isPick it when
PEP Digital Textbook PlatformThe publisher's official site for browsing its digital school textbooks online.pick this instead when official access and online reading matter more than keeping local PDF copies.
Playwright for PythonThe browser-automation library that FreePEP uses to drive Chromium.pick this instead when you need a narrow, authorized browser workflow and are prepared to maintain the selectors and download logic yourself.

What people are saying

  1. [velocity-scout] siknet/FreePEP

Sources

  1. FreePEP Chinese README
  2. FreePEP English README
  3. FreePEP v1.4 release
  4. Source WebUI empty-download report
  5. macOS empty-download report
  6. WAF cookie report
  7. FreePEP CI workflow

More automation reviews

fragment-api-dev · undress-service · fullsend · linkedin-skills · ax · newsjack · the whole board →