滔哥有点菜
滔哥有点菜
发布于 2025-12-19 / 150 阅读
0
0

TelegramForwarder 部署教程(v2raya 代理方案)

项目官方地址

https://github.com/Heavrnl/TelegramForwarder

🎯 方案优势

  • 无需软路由/旁路由:直接在群晖上使用 v2raya

  • 简化网络配置:使用 host 网络模式,无需创建 macvlan

  • 智能代理:通过 gfwlist 模式自动代理 Telegram

  • 部署简单:适合新手,减少网络配置复杂度

📋 前置要求

  1. 群晖 DSM 7.0+(已安装 Docker)

  2. SSH 访问权限(用于终端操作)

  3. 可用的代理节点(用于 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/v2raya

1.2 启动 v2raya

cd /docker/v2raya
docker-compose up -d

1.3 访问 v2raya 管理界面

  1. 打开浏览器访问:http://你的群晖IP:2017

  2. 首次访问会提示创建管理员账号

  3. 设置用户名和密码

二、配置 v2raya 代理

2.1 导入订阅链接或手动添加节点

  1. 在 v2raya 管理界面,点击「导入」

  2. 选择以下任一方式:

  • 订阅链接:粘贴你的代理服务商提供的订阅链接

  • 手动配置:逐个添加节点服务器

2.2 设置代理模式

  1. 点击「设置」→「透明代理/系统代理」

  2. 配置如下:

  • 透明代理:关闭(我们不需要系统级代理)

  • 系统代理:关闭

  • 端口设置:保持默认(HTTP: 20171)

2.3 配置 gfwlist 模式(关键步骤)

  1. 点击「设置」→「规则路由」

  2. 选择「GFWList 模式」

  3. 点击「更新 GFWList」按钮

  4. 确认规则更新成功

2.4 启动代理服务

  1. 回到主页,选择一个可用的节点

  2. 点击「启动」按钮

  3. 确认状态显示为「运行中」

三、准备 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:
      - .env

3.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 10

4.2 首次交互式登录

# 进入项目目录
cd /docker/telegram-forwarder

# 交互式启动容器(用于首次登录)
docker-compose run --rm telegram-forwarder

按提示操作:

  1. 等待程序启动

  2. 输入手机号(如果需要)

  3. 在 Telegram 客户端查看验证码

  4. 在终端输入验证码

  5. 如果有两步验证,输入密码

登录成功后,按 Ctrl+C 退出交互模式。

五、正式启动服务

5.1 启动后台服务

# 启动服务
docker-compose up -d

# 查看日志
docker-compose logs -f

5.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 基础命令

  1. 在 Telegram 中找到你的机器人(通过 @BotFather 获取的机器人用户名)

  2. 发送 /start 开始使用

  3. 发送 /help 查看帮助信息

6.2 绑定聊天

bash

复制下载

# 绑定源频道/群组
/bind @source_channel
# 或
/bind https://t.me/channel_name

6.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=50

7.2 实际测试

  1. 在源频道发送一条测试消息

  2. 检查目标频道是否收到转发

  3. 测试关键词过滤功能是否正常


评论