这个开源工具,解决了一个所有家长都会遇到的问题
01
家长群炸了:
"哪里能下载人教版的电子教材?"
"孩子预习要用,但那个网站加载太慢了……"
"断网就看不成了,有没有办法存到本地?"
每年开学季,这样的场景都会上演。
人民教育出版社的电子教材平台(jc.pep.com.cn),教材是可以免费阅读的。但——只能在线看,断网就没了。
一位好心开发者,出手了。
他说:"不明白为什么免费教材,免费提供阅读却不给免费下载。"
于是他写了这个工具,叫 FreePEP。
解决的事情很简单:把教材下载到本地,离线也能看。
02
FreePEP 是什么?
人教社中小学电子教材批量下载器。
输入学段、年级、学科,一键下载全套教材,自动合成为高清 PDF 文件。
目前内置 780+ 本教材,覆盖:
• 小学:语文、数学、英语、道德与法治、科学……
• 初中:语文、数学、英语、物理、化学、历史……
• 高中:必修、选择性必修、选修全套
不只是下载——它会把每一页的高清图片合成为一本完整的 PDF,断网可用,随处传输。
03
一位爸爸的日常
亲子共同准备教材张明(化名)是一个三年级孩子的父亲。
他的使用场景是这样的:
场景一:高铁上 一家人回老家过年,四个小时的高铁。出发前他用 FreePEP 下载了孩子的语文和数学教材,存到平板里。途中信号不好,但教材随时能翻。
高铁上也能看教材场景二:医院等候 孩子发烧,在医院等了三个小时。旁边的家长刷手机打发时间,他打开平板让孩子复习功课——教材就在本地,不需要网。
场景三:假期出游 暑假去乡下外婆家住两周。没有WiFi,孩子每天晚上用 FreePEP 下载的教材预习下一学期的内容。
平板离线看教材这不是什么高科技场景,这只是无数普通家庭的日常。
04
FreePEP 有多简单?
下载 exe → 解压 → 双击运行 → 选教材 → 点下载。
不需要懂技术,不需要配置环境,不需要安装 Python。
开发者专门做了一键打包版本,用户下载压缩包后解压,双击 FreePEP.exe 即可直接使用。
界面长这样:
WebUI 图形界面
WebUI界面CLI 命令行
CLI界面支持 WebUI 图形界面操作,也支持命令行批量自动化。开发者用命令行参数可以一键下载整套教材,非常适合学校或教育机构批量处理。
05
FreePEP 怎么用?
方式一:下载 exe(适合普通家长)
1. 下载地址:https://github.com/siknet/FreePEP/releases/download/v1.0/FreePEP-Windows-x64.zip[1]
2. 解压到任意文件夹
3. 双击 FreePEP.exe
4. 在浏览器打开的界面里,勾选需要的教材
5. 点击下载,等待完成
方式二:从源码运行(适合开发者)
git clone https://github.com/siknet/FreePEP.git
cd FreePEP
pip install -r requirements.txt
playwright install chromium
python webui.py
方式三:命令行批量下载(适合学校/机构)
# 下载小学一年级所有教材
python cli.py --xd "小学" --nj "一年级" -y
# 下载高中数学全部教材
python cli.py --xd "高中" --xk "数学" -y
# 关键词搜索(如包含"物理"的所有教材)
python cli.py --search "物理"
方式四:NAS 通过 Docker 部署(适合家庭/学校常驻服务)
如果你家里有一台 NAS(群晖、威联通等),想让 FreePEP 7×24 小时常驻、全家共享访问,可以用 Docker 部署。
FreePEP 本身没有提供官方镜像,以下是社区常用的部署方案(基于项目已有的 FastAPI WebUI 结构)。
第一步:准备项目文件
把 FreePEP 仓库克隆到 NAS 的 docker 目录,例如 /volume1/docker/freepep:
git clone https://github.com/siknet/FreePEP.git /volume1/docker/freepep
cd /volume1/docker/freepep
在同一目录下创建 Dockerfile:
FROM python:3.11-slim
# 安装 Chromium(Playwright)运行所需的系统库
RUN apt-get update && apt-get install -y --no-install-recommends
wget gnupg ca-certificates libnss3 libatk1.0-0 libatk-bridge2.0-0
libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3
libxrandr2 libgbm1 libasound2 libpango-1.0-0 libcairo2 fonts-liberation
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r requirements.txt
&& playwright install chromium
# 允许容器外访问:将 WebUI 默认绑定的 127.0.0.1 改为 0.0.0.0
RUN sed -i 's/127.0.0.1/0.0.0.0/g' webui.py || true
EXPOSE 8000
CMD ["python", "webui.py"]
第二步:创建 docker-compose.yml
services:
freepep:
build: .
container_name: freepep
ports:
- "8000:8000"
volumes:
- ./downloads:/app/downloads
- ./temp_pages:/app/temp_pages
restart: unless-stopped
第三步:构建并启动
在 NAS 的 SSH 终端或 Docker 管理器中执行:
docker compose up -d --build
启动后,浏览器访问 http://<你的NAS IP>:8000 即可打开 FreePEP 界面。下载的 PDF 会保存在 NAS 的 downloads 目录,手机、平板、电视都能直接访问。
群晖 / 威联通用户提示:也可以在 Container Manager(容器管理器)中「通过 docker-compose 创建」,粘贴上面的 docker-compose.yml 即可,无需手动敲命令。
NAS 家庭数据中心06
关于版权,开发者说
在免责声明里,开发者写了这么一段话:
本项目下载的所有教材版权均归人民教育出版社及相关版权所有方所有。请于下载后 24 小时内自行删除,如需长期使用请购买或支持官方正版出版物。
这个态度很明确:
工具解决的是「访问权」的问题,不是「版权归属」的问题。
人教社的电子教材对注册用户是免费开放的,FreePEP 帮助用户行使已有的离线访问权。
版权始终是人教社的——这是工具的边界,也是使用者的边界。
07
FreePEP 适合谁?
• 家长:孩子放学后、假期里随时翻阅,不需要等页面加载
• 老师:备课、做课件、打印特定页面,随用随取
• 学生:没有网络的环境下,教材依然在手边
• 学校/机构:批量下载全校所需教材,建立本地资源库
08
写在最后
一个工具好不好,不在于它用了什么技术,而在于它解决了什么问题。
FreePEP 解决的是无数家长每年开学季都会遇到的问题:教材在线看没问题,但离线用不了。
这不是用户的问题,也不是出版社的问题——这只是数字化进程中一个还没被填平的缝隙。
一位开发者看到了这个缝隙,然后动手填平了它。
项目地址:https://github.com/siknet/FreePEP[2]
下载地址:https://github.com/siknet/FreePEP/releases/download/v1.0/FreePEP-Windows-x64.zip[1]
免责声明:请于下载后 24 小时内自行删除,如需长期使用请购买或支持官方正版出版物。
