项目官方地址
https://github.com/Heavrnl/TelegramForwarder🎯 方案优势
✅ 无需软路由/旁路由:直接在群晖上使用 v2raya
✅ 简化网络配置:使用 host 网络模式,无需创建 macvlan
✅ 智能代理:通过 gfwlist 模式自动代理 Telegram
✅ 部署简单:适合新手,减少网络配置复杂度
📋 前置要求
群晖 DSM 7.0+(已安装 Docker)
SSH 访问权限(用于终端操作)
可用的代理节点(用于 v2raya 配置)
🚀 部署步骤
一、安装 v2raya
1.1 通过 Docker 安装 v2raya
# 创建 v2raya 目录
mkdir -p /docker/v2raya
# 创建 docker-compose.yml
nano /docker/v2raya/docker-compose.yml粘贴以下内容:
version: "3.8"
services:
v2raya:
image: mzz2017/v2raya:latest
container_name: v2raya
restart: unless-stopped
privileged: true
network_mode: host
environment:
- V2RAYA_LOG_FILE=/tmp/v2raya.log
- V2RAYA_V2RAY_BIN=/usr/local/bin/v2ray
- V2RAYA_NFTABLES_SUPPORT=off
- IPTABLES_MODE=legacy
volumes:
- /lib/modules:/lib/modules:ro
- /etc/resolv.conf:/etc/resolv.conf
- /volume1/docker/v2:/etc/v2raya1.2 启动 v2raya
cd /docker/v2raya
docker-compose up -d1.3 访问 v2raya 管理界面
打开浏览器访问:
http://你的群晖IP:2017首次访问会提示创建管理员账号
设置用户名和密码
二、配置 v2raya 代理
2.1 导入订阅链接或手动添加节点
在 v2raya 管理界面,点击「导入」
选择以下任一方式:
订阅链接:粘贴你的代理服务商提供的订阅链接
手动配置:逐个添加节点服务器
2.2 设置代理模式
点击「设置」→「透明代理/系统代理」
配置如下:
透明代理:关闭(我们不需要系统级代理)
系统代理:关闭
端口设置:保持默认(HTTP: 20171)
2.3 配置 gfwlist 模式(关键步骤)
点击「设置」→「规则路由」
选择「GFWList 模式」
点击「更新 GFWList」按钮
确认规则更新成功
2.4 启动代理服务
回到主页,选择一个可用的节点
点击「启动」按钮
确认状态显示为「运行中」


三、准备 TelegramForwarder 项目
项目文件一览:

3.1 创建项目目录结构
mkdir -p /docker/telegram-forwarder/{db,logs,sessions,temp,ufb/config,config,rss/{data,media}}3.2 创建 docker-compose.yml
nano /docker/telegram-forwarder/docker-compose.yml粘贴以下内容:
version: '3.8'
services:
telegram-forwarder:
image: heavrnl/telegramforwarder:latest
container_name: telegram-forwarder
restart: unless-stopped
network_mode: host # 使用 host 网络模式
volumes:
- ./db:/app/db
- ./.env:/app/.env
- ./logs:/app/logs
- ./sessions:/app/sessions
- ./temp:/app/temp
- ./ufb/config:/app/ufb/config
- ./config:/app/config
- ./rss/data:/app/rss/data
- ./rss/media:/app/rss/media
environment:
- HTTP_PROXY=http://127.0.0.1:20171 # 使用 localhost 访问 v2raya
- HTTPS_PROXY=http://127.0.0.1:20171
- TZ=Asia/Shanghai
env_file:
- .env3.3 创建 .env 配置文件
nano /docker/telegram-forwarder/.env粘贴以下内容(根据实际情况修改):
.env
######### 必填项 #########
# Telegram API 配置 (从 https://my.telegram.org/apps 获取)
API_ID=你的API_ID #滔哥提醒,改为你自己的
API_HASH=你的API_HASH #滔哥提醒,改为你自己的
# 用户账号登录用的手机号 (格式如: +8613812345678)
PHONE_NUMBER=+8613812345678 #滔哥提醒,改为你自己的
# Bot Token
BOT_TOKEN=你的BOT_TOKEN #滔哥提醒,改为你自己的
# 用户ID (从 @userinfobot 获取)
USER_ID=你的USER_ID #滔哥提醒,改为你自己的
################ 以下均为可选项 ##################
# 管理员列表(此处填user_id,留空默认上方的USER_ID,多个用户用逗号分隔)
ADMINS=
# bot消息删除时间 (秒),0表示立即删除, -1表示不删除
BOT_MESSAGE_DELETE_TIMEOUT=300
# 是否自动删除用户发送的指令消息 (true/false)
USER_MESSAGE_DELETE_ENABLE=false
# 默认最大媒体文件大小限制(单位:MB)
DEFAULT_MAX_MEDIA_SIZE=15
# 默认时区
DEFAULT_TIMEZONE=Asia/Shanghai
# 自动更新数据库中聊天窗口名字时间 (24小时制)
CHAT_UPDATE_TIME=03:00
# 数据库配置
DATABASE_URL=sqlite:///./db/forward.db
######### AI设置 #########
# 默认AI模型
DEFAULT_AI_MODEL=gemini-2.0-flash
# 默认AI提示词
DEFAULT_AI_PROMPT=请尊重原意,保持原有格式不变,用简体中文重写下面的内容:
# 默认AI总结提示词
DEFAULT_SUMMARY_PROMPT=请总结以下频道/群组24小时内的消息。
# 默认总结时间 (24小时制)
DEFAULT_SUMMARY_TIME=07:00
# AI总结每次爬取消息数量
SUMMARY_BATCH_SIZE=20
# AI总结每次爬取消息间隔时间(秒)
SUMMARY_BATCH_DELAY=2
######### RSS配置 #########
# 是否启用RSS功能 (true/false)
RSS_ENABLED=false其他内容可以不填写
四、首次运行并登录 Telegram
4.1 验证代理连接
# 测试 v2raya 代理是否正常工作
curl -x http://127.0.0.1:20171 https://core.telegram.org --connect-timeout 104.2 首次交互式登录
# 进入项目目录
cd /docker/telegram-forwarder
# 交互式启动容器(用于首次登录)
docker-compose run --rm telegram-forwarder按提示操作:
等待程序启动
输入手机号(如果需要)
在 Telegram 客户端查看验证码
在终端输入验证码
如果有两步验证,输入密码
登录成功后,按 Ctrl+C 退出交互模式。
五、正式启动服务
5.1 启动后台服务
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f5.2 验证服务状态
# 查看容器状态
docker ps -f name=telegram-forwarder
# 测试代理连接
docker exec telegram-forwarder curl -x http://127.0.0.1:20171 https://api.telegram.org --connect-timeout 5六、配置和使用 Telegram 机器人
6.1 基础命令
在 Telegram 中找到你的机器人(通过 @BotFather 获取的机器人用户名)
发送
/start开始使用发送
/help查看帮助信息
6.2 绑定聊天
bash
复制下载
# 绑定源频道/群组
/bind @source_channel
# 或
/bind https://t.me/channel_name6.3 管理转发规则
# 查看设置
/settings
# 添加关键词过滤
/add 关键词
# 添加替换规则
/replace 旧文本 新文本
# 清空所有规则
/clear七、验证部署成功
7.1 功能验证
# 1. 检查容器状态
docker ps -f name=telegram-forwarder
# 2. 检查代理连接
docker exec telegram-forwarder curl -x http://127.0.0.1:20171 https://www.google.com -I
# 3. 查看日志
docker-compose logs --tail=507.2 实际测试
在源频道发送一条测试消息
检查目标频道是否收到转发
测试关键词过滤功能是否正常