4.6 KiB
项目手册
bot 部署运行
docker-compose
# 启动数据库
docker-compose up -d mongo
# 导入数据库
docker cp db.tgz 1234da:/tmp
# 进入容器
docker-compose exec mongo bash
tar xf db.tgz
mongorestore
exit
# 开启服务
docker-compose up -d
常规方式
1. 环境
推荐使用Python 3.6+,环境要求
- redis
- 可选MongoDB
pip install -r requirements.txt
2. 配置TOKEN
修改config.py,根据需求修改如下配置项
- TOKEN:bot token
- USERNAME:人人影视的有效的用户名
- PASSWORD :人人影视的有效的密码
- MAINTAINER:维护者的Telegram UserID
- REDIS:redis的地址,一般为localhost
- MONGODB: mongodb的地址
3. 导入数据(可选)
如果使用yyets,那么需要导入数据到MongoDB。可以在将数据导入到MySQL之后使用如下脚本导入数据到MongoDB
python3 web/prepare/convert_db.py
4. 运行
python /path/to/YYeTsBot/yyetsbot/bot.py
5. systemd 单元文件
参考 yyets.service
网站部署运行方式
参考 worker和web目录下的 README。需要注意,cf worker已经停止开发。
添加新的资源网站
欢迎各位开发提交新的资源网站!方法非常简单,重写 BaseFansub,实现search_preview和search_result,按照约定的格式返回数据。
然后把类名字添加到 FANSUB_ORDER 就可以了!是不是很简单!
网站开发手册
接口列表
/api/resource?id=3GET 获取id=3的资源/api/resource?kw=逃避GET 搜索关键词/api/topGET 获取大家都在看/api/nameGET 所有剧集名字/api/name?human=1GET 人类可读的方式获取所有剧集名字/api/metricsGET 获取网站访问量/api/userPOST登录,PATCH添加/取消收藏/api/grafanagrafana相关接口/api/blacklist黑名单信息
防爬
1. referer
网站使用referer验证请求
2. 加密headers
使用headers ne1 进行加密验证,详细信息可以参考这里
3. rate limit
404的访问会被计数,超过10次会被拉入黑名单,持续3600秒,再次访问会持续叠加。
持续部署
使用Docker Hub Webhook (顺便吐槽一句,这是个什么垃圾文档……自己实现validation吧)
参考listener Webhook listener
归档资源下载
Telegram 频道分享
- 包含了2021年1月11日为止的人人影视最新资源,MySQL为主。有兴趣的盆友可以用这个数据进行二次开发戳我查看详情
- 字幕侠离线数据库 从这里下载,这个数据比较粗糙,并且字幕侠网站还在,因此不建议使用这个
本地下载
如果无法访问Telegram,可以使用如下网址下载数据
评论API
1. 获取评论
GET /api/comments
分页,支持URL参数:
- resource_id: 资源id
- size: 每页评论数量,默认5(或者其他数值)
- page: 当前页
返回
{
"data": [
{
"date": "2018-09-18 11:12:15",
"username": "uuua2",
"content": "tdaadd",
"id": 2
},
{
"date": "2018-09-01 11:12:15",
"username": "abcd",
"content": "tdaadd",
"id": 1
}
],
"count": 2,
"resource_id": 39301
}
2. 获取验证码
GET /api/captcha?id=1234abc,id是随机生成的字符串
API 返回字符串,形如 data:image/png;base64,iVBORw0KGgoAAA....
3. 提交评论
POST /api/comments
只有登录用户才可以发表评论,检查cookie username 是否为空来判断是否为登录用户;未登录用户提示“请登录后发表评论”
body resource_id 从URL中获取,id是上一步验证码的那个id, captcha 是用户输入的验证码
{
"resource_id": 39301,
"content": "评论内容",
"id": "1234abc",
"captcha": "38op"
}
返回 HTTP 201添加评论成功,403/401遵循HTTP语义
{
"message": "评论成功/评论失败/etc"
}