项目地址
项目地址:https://github.com/tangyoha/telegram_media_downloader
具体步骤
- 拉取镜像:
在群晖的 Container 中,设置好 Docker 的镜像地址,参考:https://linuxmirrors.cn/, 并在列表中搜索:telegram_media_downloader。
- 新增容器,选择刚刚下载的镜像telegram_media_downloader,并给容器命名;

- 进行相关设置,设置好网络端口映射:

- 设置存储空间的映射关系如下:

创建好空的文件,稍后需要配置 config.yaml。其中 /app/downloads 是容器内下载的地址,需要映射到群晖中实际存储的文件夹,这里选择的是 /volume2/UN/tg
通过 SSH 进入系统,找到
config.yaml,参考配置:https://github.com/tangyoha/telegram_media_downloader/blob/master/README_CN.md目前需求是下载收藏夹的视频,所以这里的配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24api_id: # Telegram 官网申请
api_hash: # Telegram 官网申请
chat:
- chat_id: me # 收藏夹
- last_read_message_id: 0 #第一次设置为0,会自动从头开始,后续会更新
web_host: 0.0.0.0 # 必备
bot_token:
file_formats:
document:
- all
video:
- all
media_types:
- photo
- video
proxy: # 设置好代理
scheme: socks5
hostname: 192.168.2.164
port: 7890
save_path: /app/downloads
file_path_prefix:
- chat_title
- media_datetime
language: EN设置完成后,利用命令行启动一次容器,并填写电话号码(带国家号)和验证码(Telegram 客户端):
登录成功后,选择 Ctrl+C 退出,利用群晖的 Container 再次启动。
- 此刻进入
http://群晖IP:8051(刚刚映射的端口),就可以看到下载情况。这里的下载是增量下载,会自动从最早的文件开始下载到最新的文件。从config.yaml中可以看到,程序会记录已下载完成的上一条last_read_message_id。
注意:
代理一定要设置好
下载完成后容器就会关闭,所以一开始建议设置好需要下载媒体的范围。