Skip to content

Releases: w32394045-dotcom/teldrive-portable

Teldrive Portable v2.5.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 05:42

Teldrive Portable v2.5.1 — 登录修复

解压即用:自带 PostgreSQL 和网页界面,不需要装 Go / Node / PostgreSQL,也不需要管理员权限。

这一版修了什么

v2.5.0 在浏览器里点「发送验证码」会报 request is invalid: Idempotency-Key: field required,完全无法登录。 这是网页客户端的一个 bug,不是账号或 Telegram 的问题,也不影响已经登录过的机器。

原因:openapi-fetch 先把请求组装成一个 Request(Content-Type、Idempotency-Key 等契约头都在这个对象上),再交给我们的 fetch 包装函数;包装函数为了附加「保持登录」等请求头,用新建的 Headers 覆盖了原请求,结果把 Content-Type 和 Idempotency-Key 一起丢了,服务端按契约拒绝。现在包装函数会先复制原请求的全部请求头再追加自己的,登录、验证码、二步验证、以及所有需要 Idempotency-Key 的写操作都恢复正常;并新增了一条回归测试,直接断言生成请求保留 Content-Type 与合法的 Idempotency-Key,防止再悄悄退化。

下载后怎么用

  1. 下载 teldrive-2-win64.zip 并解压(不要放在 C:\Program Files 之类需要管理员权限的目录);
  2. 双击 teldrive-gui.exe;
  3. 首次启动约 1 分钟初始化数据库,之后约 5 秒;网页界面会以应用窗口自动打开。

已经解压过 2.5.0 的话,只需用新包里的 teldrive.exe / teldrive-gui.exe 覆盖旧的同名文件,data/ 目录和里面的登录状态、设置都保留。

之后程序待在右下角托盘:左键重开界面,右键可「打开界面 / 复制地址 / 退出 Teldrive」。退出时内置数据库会一起停掉。

teldrive-gui.exe 没有控制台,诊断信息在 data/teldrive-gui.log。想用控制台入口:teldrive.exe run -c config.toml(check / version 也可用)。

包里还有什么

  • 原生壳 teldrive-gui.exe:双击打开网页界面的应用窗口(系统浏览器的应用模式,不是 WebView 套壳),后台只留托盘;有设备申请访问时弹气泡;开机自启时静默进托盘,不弹窗、不打开浏览器。
  • 局域网伴侣访问:同一网络里的手机/平板打开地址即可申请,电脑端逐台批准后借用电脑的登录状态;可随时撤销,待批准列表实时可见。
  • 设置加密:signing-key / data-key / 数据库地址 / 加密密钥用 AES-256-GCM + PBKDF2(SHA-256, 60 万次) 封在本地;口令可自设或随机生成(14–25 位),默认记住、也可改成每次启动手填。
  • 备份与恢复:快照可选密码加密(同参数),内容可勾选(用户 / 加密密钥,金库密钥随包带走);恢复是手动按钮 + 输入确认,支持覆盖或合并。
  • 保存到这台电脑:文件工具栏一键写进你选的目录(设置里可选目录、可勾「每次询问」),不再受浏览器下载目录限制。
  • 保持登录:默认记住登录,可一键关掉。
  • 端口不写死:默认 18787,被占用自动顺延,实际地址在窗口 / 设置页 / 托盘都可见。
  • 还有 WebDAV、挂载网络盘、开机自启、五种界面语言(简中/繁中/英/日/韩)、深浅色主题,以及上传稳定性和首屏压缩(≈2 MB → ≈500 KB)。

包里不含任何运行数据或真实密钥:config.toml 里是占位符,首次启动自动生成你自己的随机密钥。

发布闸门 tools/verify_bundle.py 会检查必需文件齐全、无运行数据、无真实密钥、无 .bat 启动脚本——任何一项不满足都不会发出来。

详见 README。

Teldrive Portable v2.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 04:11

Teldrive Portable — Windows 便携包

解压即用:自带 PostgreSQL 和网页界面,不需要装 Go / Node / PostgreSQL,也不需要管理员权限。

下载后怎么用

  1. 下载 teldrive-2-win64.zip 并解压(不要放在 C:\Program Files 之类需要管理员权限的目录);
  2. 双击 teldrive-gui.exe;
  3. 首次启动约 1 分钟初始化数据库,之后约 5 秒;网页界面会以应用窗口自动打开。

之后程序待在右下角托盘:左键重开界面,右键可「打开界面 / 复制地址 / 退出 Teldrive」。退出时内置数据库会一起停掉。

teldrive-gui.exe 没有控制台,诊断信息在 data/teldrive-gui.log。想用控制台入口:teldrive.exe run -c config.toml(check / version 也可用)。

这一版有什么

  • 原生壳 teldrive-gui.exe:双击打开网页界面的应用窗口(用系统浏览器的应用模式,不是 WebView 套壳),后台只留托盘;有设备申请访问时弹气泡;开机自启时静默进托盘,不弹窗、不打开浏览器。
  • 局域网伴侣访问:同一网络里的手机/平板打开地址即可申请,电脑端逐台批准后借用电脑的登录状态;可随时撤销,待批准列表实时可见。
  • 设置加密:signing-key / data-key / 数据库地址 / 加密密钥用 AES-256-GCM + PBKDF2(SHA-256, 60 万次) 封在本地;口令可自设或随机生成(14–25 位),默认记住、也可改成每次启动手填。
  • 备份与恢复:快照可选密码加密(同参数),内容可勾选(用户 / 加密密钥,金库密钥随包带走);恢复是手动按钮 + 输入确认,支持覆盖或合并。
  • 保存到这台电脑:文件工具栏一键写进你选的目录(设置里可选目录、可勾「每次询问」),不再受浏览器下载目录限制。
  • 保持登录:默认记住登录,可一键关掉。
  • 端口不写死:默认 18787,被占用自动顺延,实际地址在窗口 / 设置页 / 托盘都可见。
  • 还有 WebDAV、挂载网络盘、开机自启、五种界面语言(简中/繁中/英/日/韩)、深浅色主题,以及上传稳定性和首屏压缩(≈2 MB → ≈500 KB)。

包里不含任何运行数据或真实密钥:config.toml 里是占位符,首次启动自动生成你自己的随机密钥。

发布闸门 tools/verify_bundle.py 会检查必需文件齐全、无运行数据、无真实密钥、无 .bat 启动脚本——任何一项不满足都不会发出来。

详见 README。

teldrive 一键运行包 v2.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:21

CI 在 windows-latest 上从源码构建的 Windows 一键运行包。解压后双击 teldrive.exe(包里唯一的入口,没有 .bat 脚本):首次启动会自动生成随机密钥、初始化内置 PostgreSQL,并在端口就绪后打开浏览器;退出时会自己停掉内置数据库。详见仓库 README。

teldrive 一键运行包 v2.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 07:55

CI 在 windows-latest 上从源码构建的 Windows 一键运行包。解压后双击 teldrive.exe(包里唯一的入口,没有 .bat 脚本):首次启动会自动生成随机密钥、初始化内置 PostgreSQL,并在端口就绪后打开浏览器;退出时会自己停掉内置数据库。详见仓库 README。

teldrive 一键运行包 v2.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Oct 04:50

CI 在 windows-latest 上从源码构建的 Windows 一键运行包。解压后双击 start.bat:首次启动会自动生成随机密钥、初始化内置 PostgreSQL,并在端口就绪后打开浏览器。详见仓库 README。

teldrive 一键运行包 v2.0.2

Choose a tag to compare

@github-actions github-actions released this 07 Oct 02:50

CI 在 windows-latest 上从源码构建的 Windows 一键运行包。解压后双击 start.bat:首次启动会自动生成随机密钥、初始化内置 PostgreSQL,并在端口就绪后打开浏览器。详见仓库 README。

teldrive 一键运行包 v2.0.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 02:43

CI 在 windows-latest 上从源码构建的 Windows 一键运行包。解压后双击 start.bat;首次启动会自动生成随机密钥、初始化内置 PostgreSQL 并打开浏览器。详见仓库 README。

v2.0.0-p4 — Windows 一键运行包 + 简繁中日韩 i18n

Choose a tag to compare

@w32394045-dotcom w32394045-dotcom released this 07 Oct 02:10

Windows 一键运行包 + 简繁中日韩 i18n。对应二进制 teldrive version 输出的 2.0.0-p4。

这个包能干什么

解压后双击 start.bat:首次自动 initdb 建库 → 启动内置便携 PostgreSQL 17 → 启动 teldrive → 端口就绪后自动打开浏览器。停止双击 stop.bat。不需要预先安装 Go / PostgreSQL / Node。

组件 说明
teldrive.exe 服务主程序,React 前端已 embed 进二进制
pgsql/ 便携 PostgreSQL 17.11,免安装,只听 127.0.0.1:5433
start.bat / stop.bat 一键启停(GBK 编码,中文控制台直接可读)
config.toml 由 tools/make_bundle.py 生成,含随机 signing-key / data-key

界面语言

English / 简体中文 / 繁體中文 / 日本語 / 한국어,各 735 条词条。

  • 切换入口:登录页右上角 或 设置 → 外观 → Language
  • 选择存 localStorage,首访按 navigator.language 自动判断,切换时同步 <html lang>
  • 以英文原文为 message key,缺译文回落到英文而不是显示裸 key

修复的上游问题

  1. 浏览器整页翻译导致 React 崩溃:Google 翻译重排 DOM 后,页面任意一次提交都会抛
    Failed to execute 'insertBefore' on 'Node',按钮点不动。已在页面声明 translate="no" +
    <meta name="google" content="notranslate">(复现与验证脚本见 tools/repro-translate.mjs、tools/verify-login.mjs)。
  2. 登录页手机号:自动去空格/横线/括号、00 前缀转 +,格式不合法时内联提示并禁用按钮。
  3. 服务端 400 文案:schema 校验失败不再谎报 request could not be decoded,改为指出具体字段与原因。

构建

Go 1.27.1 + bun 1.4.2 构建前端,CGO 关闭编译服务端;数据库使用便携版 PostgreSQL 二进制。步骤见 README。

说明

本仓库只包含源码与打包脚本,不包含编译产物与运行数据;dist/、data/、config.toml 等已被 .gitignore 排除。
src/teldrive-2/ 为 tgdrive/teldrive 副本,遵循其 MIT 许可(见 LICENSE)。