tv源自更新本地部署
一、前言
# LunaTV-Sync 本地采集源同步服务
定时从 GitHub 上游 [hafrey1/LunaTV-config](https://github.com/hafrey1/LunaTV-config)
拉取最新采集源配置,本地缓存并同时输出 MoonTV/LunaTV 与 TVBox
两种格式的订阅接口。上游每小时自动测活并剔除失效源,本服务定时同步,
即可让 MoonTV、TVBox 等客户端始终使用可用的采集源。
感谢hafrey1大大
二、部署教程
下载地址:
https://github.com/yexuu/lunatv-local
https://git.yexu.fun/share/lunatv-local (这个访问需要ipv6)
### 方式一:Docker(推荐)
```bash
cd lunatv_local
docker compose up -d --build
docker compose logs -f # 应看到三个版本 "同步完成"
```
`data/` 目录通过卷映射持久化在宿主机,容器重建后自动沿用旧缓存。
### 方式二:离线打包部署(无外网/无源码机器)
在能构建镜像的机器上打包:
```bash
cd lunatv_local
bash package.sh # 无 docker 权限时: sudo bash package.sh
# 产物: dist/lunatv-sync-deploy.tar.gz
```
拷贝到目标机器后一键导入并启动:
```bash
tar -xzf lunatv-sync-deploy.tar.gz
cd lunatv-sync-deploy
bash deploy.sh # docker load 导入镜像 + 启动服务
```
目标机器只需安装 Docker,无需源码、无需访问 GitHub。
### 方式三:裸机 + systemd
```bash
# Python 3.9+
pip install -r requirements.txt
cp .env.example .env # 可选,全部有默认值
python3 lunatv_sync.py # 前台试运行
# 常驻运行
sudo tee /etc/systemd/system/lunatv-sync.service <<'EOF'
[Unit]
Description=LunaTV-config sync service
After=network-online.target
[Service]
WorkingDirectory=/opt/lunatv_local
ExecStart=/usr/bin/python3 /opt/lunatv_local/lunatv_sync.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now lunatv-sync

## 订阅接口
| 路径 | 说明 |
| --- | --- |
| `/config.json` | MoonTV 格式,默认版本(默认 jin18) |
| `/tvbox.json` | TVBox 格式,默认版本 |
| `/config/jin18.json` | MoonTV 格式,纯净版 |
| `/config/jingjian.json` | MoonTV 格式,含成人版 |
| `/config/full.json` | MoonTV 格式,完整版 |
| `/tvbox/jin18.json` | TVBox 格式,纯净版 |
| `/tvbox/jingjian.json` | TVBox 格式,含成人版 |
| `/tvbox/full.json` | TVBox 格式,完整版 |
| `/status` | 各版本最后同步时间与源数量 |
客户端填写示例(IP 替换为部署机地址):
- **MoonTV**:管理后台"配置订阅"填
`http://192.168.x.x:8899/config.json`,
或定时拉取该地址覆盖 `config.json`
- **TVBox**:配置地址填 `http://192.168.x.x:8899/tvbox.json`## 配置项
全部通过环境变量配置(裸机可用 `.env` 文件,Docker 在
`docker-compose.yml` 的 `environment` 中修改):
| 变量 | 默认值 | 说明 |
| --- | --- | --- |
| `LUNATV_DEFAULT_SOURCE` | `jin18` | `/config.json`、`/tvbox.json` 返回的默认版本 |
| `LUNATV_PORT` | `8899` | HTTP 服务端口 |
| `LUNATV_REFRESH_MINUTES` | `360` | 自动同步间隔(分钟) |
| `LUNATV_MIRROR_PREFIX` | 内置列表 | GitHub 加速镜像前缀,逗号分隔多个;默认内置 `ghproxy.net`、`ghfast.top`、`gh-proxy.com`,官方地址失败/超时自动按序切换 |
| `LUNATV_DATA_DIR` | `data` | 缓存目录(Docker 内固定为 `/app/data`) |

本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 QNAPClubCN
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果