# 商业转载请联系作者获得授权,非商业转载请注明出处。
# 协议(License): 知识共享署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
# 作者(Author): solaireh3
# 链接(URL): https://xxxh.de/archives/7


一、前言

本教程适用性:只针对境外服务器搭建,国内服务器、家里云或者家庭NAS,可能不具参考意义。本教程linux选择的是debian,其他linux平台的命令可以通过这个网站查看:https://linux.xxxh.de;并且本教程不涉及网盘挂载等便宜易翻车的方案;


由于博主非计算机相关专业的,操作大部分是基于可视面板实现的,都是docker安装,利好小白学习,大佬请回避;

本文为本人搬运内容,转载请联系并说明出处

二、准备工作

①一台配置足够的服务器(必须)

hetzner的独服,配置够大,便宜的机器一个月几百块,也有上千的高配。

②一个合适的域名(可选)

③一个cloudflare账号:用于域名解析(可选)

④TGBotToken与TGapi、hash(必须)

TGapi、hash获取有些难度,但是本教程附有详细步骤

⑤PT站账号(可选)

三、安装1panel并扩充应用市场

①进入服务器终端,安装1panel

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

②补充应用市场

wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip 
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip 
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/ 
rm -rf /opt/1panel/resource/apps/local/appstore-localApps 
rm -rf /opt/1panel/resource/apps/local/localApps.zip

③在浏览器输入http://IP:port访问面板

输入账号密码后,进入面板。左侧从上往下数,第二个应用商店,第三个网站,第五个数据库,第六个容器,第七个文件。在本教程中,会使用到这几个功能页面,提前熟悉并了解

四、配置emby本体

①安装emby

注意:没有特殊要求就一切默认即可,记得一定要允许端口外部访问

②进入容器编辑把本机目录挂载到指定目录,比如:/home/emby

③获取API安装playback reporting

在浏览器输入http://IP:port访问,完成一系列设置后并创建好管理员账号。

进入管理后台,获取API,复制出来备用

并在插件市场中下载安装playback reporting,如图所示

④分类整理影片,设置分类封面

可以手动,也可以借助MoviePilot自动整理,下文讲解。封面图片URL:

https://img.xxxh.de/1739805106353.png

https://img.xxxh.de/1739805087381.png

https://img.xxxh.de/1739804955461.png

https://img .xxxh.de/1739805001022.png

https://img.xxxh.de/1739805019530.png

https://img.xxxh.de/1739805064791.png

https://img.xxxh.de/ 1739805037863.png

https://img.xxxh.de/1739804939076.png

https://img.xxxh.de/1739804815048.png

https://img.xxxh.de/1739804915888.png

https://img.xxxh.de/1739804892310.png

https://img.xxxh.de/1739804867541.png

https://img.xxxh.de/1739804850515.png

在媒体库处编辑,粘贴上文的封面URL

效果如图

五、安装数据库

①安装MySQL

应用商店找到MySQL安装,一切默认即可,记得打开允许端口外部访问

②创建数据库

进入面板左侧第五个:数据库。复制刚刚创建的数据库用户名密码,备用

复制IP地址跟端口,备用

六、获取TGBotToken与TGapi、hash

①创建bot并获取Tokem

https://t.me/BotFather输入/newbot,起一个合适的名字与用户名,复制如图所示Token,备用

重要:bot为群管理员,拥有删除消息、置顶消息,踢出成员权限

②获取TG用户的API与hash

1. 登录Telegram应用管理页面https://my.telegram.org/,输入TG的手机号码进行登录

2. 点击 "API development tools" 并填写表格。其中 "App title" 和 "Short name" 可以随意填写,"Platform" 选择你的开发平台,"Description" 是对你的应用的简短描述

3.点击创建应用提交表格后,如果成功你将获得一个 "App api_id" 和 "App api_hash"。这就是你的API和Hash,复制备用。如图

4.如果申请失败:账号的国家和ip节点最好在同一个地区,例如:香港的tg账号用香港的节点申请api,据说家宽IP申请成功率更高

注意:一个账号只能申请一个api

七、集成TGBot实现自动化管理

首先感谢开源作者的贡献,使用项目开源地址:https://github.com/berry8838/Sakura_embyboss

1.进入服务器终端,拉取代码

拉取的源码文件路径默认在/root/Sakura_embyboss

sudo apt install python3-pip
git clone https://github.com/berry8838/Sakura_embyboss.git && cd Sakura_embyboss && chmod +x main.py

如果服务器没有git,安装:

# 检查是否已经安装
git --version
# 安装
apt-get install git

2.编辑config.json

进入默认路径/root,进来后就会看到拉取到的源码文件:Sakura_embyboss。点进去找到config.json这个文件

或者在如图位置直接输入:/root/Sakura_embyboss,可以实现同样的效果

必填变量的配置填写指南

变量名称

填写描述

Telegram Bot

bot_name

bot的username,比如我的机器人@emby_ikun_bot,就填emby_ikun_bot

bot_token

bot的API token ,在 @Botfather 创建bot时的Token,上文有讲述过

owner_api

API,获取方法上文有讲述

owner_hash

Hash,获取方法上文有讲述

owner

拥有者的TGid

group

授权群组id,如我的IKUN群组是-1002366246494,未授权的群组拉bot会自动退出。不在群组的成员会提示先加入群组

main_group

群组的username, 形如 @su_yxfy 中的 su_yxfy或私密群组的邀请链接,如 https://t.me/+I1YBb-lW8k0xOGE0中的+I1YBb-lW8k0xOGE0

chanel

填写方式同 main_group,例如我的频道:Asukacute

bot_photo

形如https://img.xxxh.de/1742561996081.png,bot发送消息时的配图,可以通过我的图床上传图片:https://img.xxxh.de

admins

默认[ ] 为空,可以将想要赋予权限的tg用户id填进

Emby

emby_api

emby的api_key,【Emby Service 管理】-> 【高级】->【API密钥】创建一个,上文有讲述

emby_url

形如http://255.255.255.36:8096(纯ip)或者https://emby.xxxh.de(有反代) 最后不带斜杠,为发起请求emby的地址

emby_line

【服务器板块】展示给用户的emby地址和信息,仅支持telegram的MarkdownV2写法,

例如:\n普通线路:https://emby.xxxh.de\n端口:443\n\n备用线路:http://157.180.0.157:8096\nhttp://[2a01:4f9:3100:28ec::2]:8096,效果如图所示

Database (Mysql)

db_host

数据库的ip255.255.255.36,端口默认3306

db_user

数据库用户名,比如上文的emby

db_pwd

数据库密码,上文的数据库密码

db_name

数据库名,上文截图的emby

db_port

数据库端口,上文截图默认3306

选填变量的配置填写指南

类型

变量名称

填写描述

货币

money

功能货币的名称,例如我取的KUN币

open

注册,兑换开关

stat

注册状态,默认false true or false

all_user

注册人数限制,可在bot启动后进入admin设置,默认 1000

timing

定时注册计时参数,bot启动后开启定时注册有效,勿动,默认 0

tem

当前已注册用户计数,勿动,默认 0

allow_code

能否使用注册码续期,默认 true true or false

checkin

是否开启签到,默认 true true or false

exchange

是否开启花币月度自动续期,默认 true true or false

exchange_cost

续期的价格 每30天,默认 100

whitelist

是否开启兑换白名单,默认 true true or false

whitelist_cost

兑换白名单价格,默认 9999

invite

是否开启邀请功能,默认 false true or false

invite_cost

邀请码价格 每30天,默认 500

leave_ban

是否开启退群封禁,默认 true true or false

uplays

是否开启用户播放结算奖励,默认 true true or false

Emby Media

媒体库控制

emby_block

["媒体库名称"] 由用户能控制显示隐藏的媒体库,bot中也可设置

extra_emby_libs

["媒体库名称"] 默认隐藏,不想对新用户显示的媒体库,用户无法控制显隐,管理通过命令/kk可指定开启

ranks

logo

日榜/周榜推送榜单图片中的LOGO文字,同时也是注册、续期码的前缀,请尽量保持中间没有空格,影响体验。默认SAKURA,例如我设置的是IKUN

backdrop

是否使用backdrop(即横版图)作为推送榜单的封面图 ,默认false

schedall

各种定时任务管理

dayrank

默认true,定时发送媒体播放次数日榜,每日 18:30

weekrank

默认true,定时发送媒体播放次数周榜,每周日 23:59

dayplayrank

默认false,定时发送用户观看时长日榜,每日 23:00

weekplayrank

默认false,定时发送用户观看时长周榜,每周日23:30

check_ex到期保号

默认true,检测用户到期时间与当前utc时间大小,过期封禁,5天后未续期删号,每日 01:30

low_activity活跃保号

默认false,检测用户最后一次活跃时间,间隔当前超过21天封禁,每日 08:30

不开启保号

如都不开启上述两种保号 false,false,则无需保号

backup_db

默认false,自动定时备份数据库,每日 02:30

backup_db

数据库备份详细设置

db_is_docker

默认true,数据库是否为docker模式启动,ture or false

db_docker_name

默认 mysql,若docker模式启动的数据库,此数据库容器的名字

db_backup_dir

默认 ./backup数据库备份文件所保存的目录

db_backup_maxcount

默认7数据库备份文件保留的个数

AntiChanel 反皮套白名单

w_anti_chanel_ids

本机器人默认开启反频道(杀皮套人)功能,除匿名群管皮套,如需要允许其发言请将其id或username加入列表,例如把emby频道加入进去

MoviePilotService

点播功能

status

默认false,是否开启求片程序

host

默认null,形如:http://xxx.xxx.xxx.xxx:3001的moviepilot的api地址

username

默认null,登录的用户名

password

默认null,登录的密码

access_token

默认null,验证身份以后的token,会自动更新,勿动

price

默认1,按体积计算,每1G收取的KUN币

注意:MoviePilotService安装在下文有讲解。编辑配置文件后记得保存,并重启docker才会生效!

3.编辑docker-compose.yml

如图编辑,把无关代码行注释掉,因为上文已经手动创建过数据库了

4.Bot,启动!

进入服务器终端,输入以下代码:

cd /root/Sakura_embyboss #进入源码目录
docker-compose up -d #一键docker启动

到现在可以尝试在embybot聊天框输入相关命令,进行测试有无回应

5.调试并检查embybot方法

如果发现bot无回应,可以去面板左边第六个容器,进去可以看到docker运行日志,进行重启或者删除等操作

八、配置MoviePilot与qBittorrent实现自动追剧(可选)

注意:如有手上没有mp支持的pt站可以不用看了

没有pt站的话去网盘下资源并上传

我可以发💊,留言邮箱跟预注册ID

本步骤内容无先后顺序,完全可以自行研究配置

1.安装MP

MP配置内容太多可以随便填填,因为可以进面板后台可视化配置。第一登陆要使用超级管理员密码,位置在:

/opt/1panel/apps/local/moviepilot/moviepilot/data/config/logs/moviepilot.log

将本机目录挂载至与emby媒体库相同路径,即上文的/home/emby

2.安装QB

第一次启动QB,默认密码在docker日志中查询。进入QB网页后,可以选择修改密码或者进行限速设置,种子的活跃数量限制等。第一件事设置成简体中文,一些功能很容易理解。此步骤主要是:要记录下QB的用户名跟密码还有IP:端口

将本机目录挂载至与emby媒体库相同路径,即上文的/home/emby

3.连接emby、QB与TGbot

参考截图自行配置即可

4.安装CookieCloud插件同步PT站点cookie

chrome插件:

https://chromewebstore.google.com/detail/cookiecloud/ffjiejobkoibkjlhjnlgmcnnigeelbdl

如图设置后手动同步即可

5.系统健康检查

如图所示全部为绿色打勾,即为配置无误

6.MP插件市场

完整的插件仓库地址配置,复制粘贴进docker容器的环境变量中即可:

PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins/,https://github.com/thsrite/MoviePilot-Plugins/,https://github.com/honue/MoviePilot-Plugins/,https://github.com/InfinityPacer/MoviePilot-Plugins/,https://github.com/dandkong/MoviePilot-Plugins/,https://github.com/Aqr-K/MoviePilot-Plugins/,https://github.com/AnjoyLi/MoviePilot-Plugins/,https://github.com/WithdewHua/MoviePilot-Plugins/,https://github.com/HankunYu/MoviePilot-Plugins/,https://github.com/baozaodetudou/MoviePilot-Plugins/,https://github.com/almus2zhang/MoviePilot-Plugins/,https://github.com/Pixel-LH/MoviePilot-Plugins/,https://github.com/lightolly/MoviePilot-Plugins/,https://github.com/suraxiuxiu/MoviePilot-Plugins/,https://github.com/gxterry/MoviePilot-Plugins/,https://github.com/hotlcc/MoviePilot-Plugins-Third/,https://github.com/boeto/MoviePilot-Plugins/,https://github.com/xiangt920/MoviePilot-Plugins/,https://github.com/yubanmeiqin9048/MoviePilot-Plugins/,https://github.com/loongcheung/MoviePilot-Plugins/,https://github.com/xcehnz/MoviePilot-Plugins/,https://github.com/imaliang/MoviePilot-Plugins/,https://github.com/wikrin/MoviePilot-Plugins/,https://github.com/DDS-Derek/MoviePilot-Plugins/,https://github.com/KoWming/MoviePilot-Plugins

7.RSS订阅自动追剧

安装如图插件

复制PT站生成的RSS订阅链接

粘贴至此处

效果如图

8.bot推送效果

9.订阅优先级

SPECSUB & CNSUB & !BLU & BLURAY & H265 & !DOLBY & !REMUX & !UHD & 1080P > CNSUB & 4K & !BLU & BLURAY & H265 & !DOLBY & !REMUX & !UHD > SPECSUB & CNSUB & 4K & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > CNSUB & 4K & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > 4K & !BLU & !DOLBY > 4K & !BLU > SPECSUB & CNSUB & 1080P & BLURAY & !DOLBY & !BLU & !UHD & !REMUX > CNSUB & 1080P & !BLU & BLURAY & !DOLBY & !UHD & !REMUX > SPECSUB & CNSUB & 1080P & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > CNSUB & 1080P & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > 1080P & !BLU & !DOLBY > 1080P & !BLU > 720P & !BLU

10.自动整理媒体库目录

安装插件并自习配置

11.其他说明

实用的有自动刮削入库插件,热门订阅插件,媒体库自动刷新,emby弹幕下载等等等等

还有有很多功能由于字数篇幅过长,不予以展示了,自行研究开发

九、反代域名访问或者线路优化(可选)

没有域名的话这个步骤不是必须的

1.安装OpenResty

2.在Cloudflare修改A记录

3.下载证书

复制源证书与私钥备用,当然也有其他方法获取证书,我这里只讲述一种

4.上传证书

5.反代配置

6.其他说明

以上操作步骤一定要确认保存,否则不会生效。线路优化操作与之类似,只是需要在优化线路的机器上进行反代操作即可,大家举一反三各自发挥吧!

十、最后

长图文教程制作不易,构思梳理并呈现出来花费了两天时间,过程仓促,内容不精细略显粗糙。如有不足与错误请评论区留言交流,感谢您的耐心阅读与理解,您的支持就是我最大动力。如果喜欢我的作品与音乐服,可以动动您发财的小手为我们发电一波~

https://xxxh.de/afdian

https://afdian.com/a/ikunmusic

Q.E.D.