发帖

部署/安装——FVTT 下载加速代理 v12-14支持(搬运后简直是地狱绘图)

你只需要选择本文或者在线安装方法(换源)其中之一进行阅读即可。
本项目改进自 @sora 的原始程序。
本文转载自 @星尘 老师所撰写的Github说明,以下为原文地址:
https://github.com/kagangtuya-star/foundryvtt-packages-proxy
暂时无法在飞书文档外展示此内容
暂时无法在飞书文档外展示此内容
暂时无法在飞书文档外展示此内容

目前只兼容FVTT v14、v13与v12!其他版本安装会正常启动但无法识别数据;注意选择正确的版本,版本错误会导致启动后无法读取数据!可卸载补丁(不是卸载FVTT)还原

如何安装

  1. 下载上述压缩包至服务器任意区域;
  2. 解压缩包,进入文件夹;
  3. 双击点击install.bat(Linux先赋权在运行sh脚本),输入FVTT的程序文件夹路径(注意,是程序的目录文件夹,不是含Data的数据文件夹!也就是那个含有exe文件和许多dll/js文件的文件夹)
右键桌面的FVTT快捷方式,选择属性,复制其中的起始位置就是程序文件夹路径
  1. 回车继续运行,程序会自动备份源文件并打上补丁。

如何卸载

  1. 同安装
  2. 同安装
  3. 双击点击uninstall.bat(Linux赋权再运行),选择卸载与还原备份即可。
不想研究部署和原理不用看下面。
——————

FVTT 下载加速代理

FoundryVTT 的 GitHub/GitLab 下载加速解决方案,包含后端代理服务器和客户端补丁。

功能特性

  • ✅

    GitHub/GitLab 代理 – 加速模组和系统下载

  • ✅

    多代理自动切换 – 失败时自动尝试下一个代理

  • ✅

    统一代理端点 – /proxy/{url} 同时支持 GitHub 和 GitLab

  • ✅

    FVTT API 缓存 – 30 分钟 TTL,减少 API 请求

  • ✅

    Docker 部署 – 一键部署

  • ✅

    HTTPS 支持 – 可配置 SSL 证书

快速开始

方式一:Docker 部署(推荐)

# 1. 克隆项目
git clone <repo-url>
cd FVTT下载改进

# 2. 创建配置
cp config.example.yaml config.yaml
# 编辑 config.yaml 修改 publicUrl

# 3. 启动
docker-compose up -d

# 4. 查看日志
docker-compose logs -f

方式二:直接运行

npm install
cp config.example.yaml config.yaml
npm start

项目结构

├── server/                 # 后端服务器
│   ├── index.js           # 入口文件
│   ├── config.js          # 配置加载
│   ├── routes/
│   │   ├── api.js         # API 路由
│   │   ├── fvtt.js        # FVTT API 代理
│   │   └── proxy.js       # GitHub/GitLab 代理
│   └── utils/
│       ├── cache.js       # 缓存管理
│       └── logger.js      # 日志
├── client/                 # 客户端补丁
│   ├── package.mjs        # 替换 FVTT 的 package.mjs
│   └── views.mjs          # 替换 FVTT 的 views.mjs
├── config.example.yaml    # 配置模板
├── Dockerfile             # Docker 构建
└── docker-compose.yml     # Docker Compose

服务端 API

端点 方法 说明
/api/health GET 健康检查
/api/proxies GET 获取代理列表
/proxy/{url} ALL 统一代理 (GitHub + GitLab)
/proxy/github/{url} ALL GitHub 代理
/proxy/gitlab/{url} ALL GitLab 代理
/api/fvtt/packages POST FVTT 包列表 API (带缓存)
/api/fvtt/auth POST FVTT 认证 API

使用示例

# 代理 GitHub 文件
curl https://your-server.com/proxy/https://github.com/user/repo/releases/download/v1.0/file.zip

# 代理 GitLab 文件
curl https://your-server.com/proxy/https://gitlab.com/user/repo/-/archive/main/repo-main.zip

# 健康检查
curl https://your-server.com/api/health

客户端配置

方式一:一键安装(推荐)

Windows:
# 双击运行 install.bat,按提示输入 FVTT 目录
install.bat

# 或直接指定目录
install.bat "C:\Program Files\FoundryVTT"
Linux/macOS:
# 添加执行权限
chmod +x install.sh

# 运行安装脚本
./install.sh /path/to/foundryvtt
功能:
  • ✅

    自动搜索 FVTT 的 dist/packages/ 目录

  • ✅

    自动备份原文件(带时间戳)

  • ✅

    client.zip 解压并安装补丁

  • ✅

    安装完成后提示重启 FVTT

卸载/恢复:
# Windows
uninstall.bat

# Linux/macOS
./uninstall.sh

方式二:手动配置

  1. 修改客户端文件

解压 client.zip,编辑 package.mjsviews.mjs 顶部的配置区域:
// ╔═══════════════════════════════════════════════════════════════╗
// ║                    手动配置区域 - 请在此处修改                  ║
// ╚═══════════════════════════════════════════════════════════════╝

const GITHUB_PROXIES = [
  "https://your-proxy.com/proxy/",
  "https://gh-proxy.com/",
  // 更多代理...
];

const GITLAB_PROXIES = [
  "https://your-proxy.com/proxy/",
];

// FVTT API 代理 (可选)
const FVTT_API_PROXY = "https://your-proxy.com/api/fvtt/packages";
  1. 复制到 FVTT

将修改后的文件复制到 FVTT 安装目录:
# Windows
copy package.mjs "C:\Program Files\FoundryVTT\resources\app\dist\packages\"
copy views.mjs "C:\Program Files\FoundryVTT\resources\app\dist\packages\"

# Linux/macOS
cp package.mjs /path/to/foundry/resources/app/dist/packages/
cp views.mjs /path/to/foundry/resources/app/dist/packages/
  1. 重启 FVTT

服务端配置 (config.yaml)

server:
  port: 3000
  host: "0.0.0.0"
  publicUrl: "https://your-server.com"

proxies:
  github:
    - "https://gh-proxy.com/"
    - "https://ghproxy.net/"
  gitlab:
    - "https://gitlab.com/"
  timeout: 10000

cache:
  enabled: true
  ttl: 1800  # 30 分钟

logging:
  level: "info"

cors:
  enabled: true
  origins: ["*"]

Docker 部署

docker-compose.yml

version: '3.8'
services:
  fvtt-proxy:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - ./config.yaml:/app/config.yaml:ro
    environment:
      - HOST=0.0.0.0
    restart: unless-stopped

常用命令

docker-compose up -d        # 启动
docker-compose down         # 停止
docker-compose logs -f      # 查看日志
docker-compose restart      # 重启
docker-compose build --no-cache  # 重新构建

反向代理配置 (Nginx)

server {
    listen 443 ssl http2;
    server_name your-proxy.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # 大文件传输
        proxy_buffering off;
        proxy_read_timeout 300s;
        client_max_body_size 0;
    }
}

注意事项

  1. FVTT 更新 – FVTT 更新后需重新复制客户端文件
  2. HTTPS – 生产环境建议使用 HTTPS
  3. 服务器位置 – 建议部署在能快速访问 GitHub 的地区(如香港、日本、美国)
  4. FVTT API 是 POST – /api/fvtt/packages 是 POST 请求,浏览器直接访问会 404

上一篇 部署/安装——手动安装教程 下一篇 部署/安装——在线安装方法(换源)
评论区
游客
游客

还没有人评论,快来抢沙发吧~