惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Tor Project blog
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Latest news
Latest news
L
LINUX DO - 热门话题
罗磊的独立博客
T
Tenable Blog
The Hacker News
The Hacker News
美团技术团队
N
Netflix TechBlog - Medium
V
Vulnerabilities – Threatpost
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
博客园 - 司徒正美
Jina AI
Jina AI
Cyberwarzone
Cyberwarzone
云风的 BLOG
云风的 BLOG
S
Secure Thoughts
Cloudbric
Cloudbric
S
Security @ Cisco Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
U
Unit 42
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
爱范儿
爱范儿
博客园 - 【当耐特】
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
P
Palo Alto Networks Blog
Google Online Security Blog
Google Online Security Blog
The Last Watchdog
The Last Watchdog
博客园 - 聂微东
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
F
Full Disclosure
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
Project Zero
Project Zero

Dallas Lu

OpenWRT 使用 udp2raw 对抗 WireGuard 阻断 博客程序架构的思考与展望 如何证明你是原创作者 Nginx 泛域名配置的隐患与对策 WISeID S/MIME 证书 V2EX 刑满释放记 使用 Radicale 在 Ubuntu 24.04 中搭建 vCards CardDav 服务 邮件服务的域名成功从 SURBL 黑名单移除 网站多语言的设计细节 网站评论系统的目前进展和展望 在公网使用 iptables 转发端口时保留客户端 IP 邮件投递平台 Postal 的使用经验 自建 Postal 完美替代 SendGrid 互联网在崩塌吗,然后呢 在 SvelteKit 应用中使用 JSON-LD 网页的打印样式应该怎么写 “茴字的四种写法”之 IP 与域名 怎么伪造 Git 提交的时区 供大众交流的论坛和其它替代产品还是不好用 改编不是照搬 一次排查诡异的网络问题的经历 在 OpenWRT 23 中使用 nftset 配置 Shadowsocks 规则 手动建立自己的 IPv6 Tunnel 服务 在 PVE 手动配置网络及虚拟机 IPv6 公网 在 PVE 中缩小 Ubuntu 虚拟机的磁盘 Beancount 摊销与折旧的使用以及相关插件 Nginx 反代 Apache Subversion 添加 HTTPS 使用你的主域名作为 Mastodon 实例名 Firefox 和 Chrome 为何要革 EV 证书的命
使用自建 Tabby Web 来同步 Tabby 配置
达拉斯・卢 · 2024-02-21 · via Dallas Lu

Tabby 作为一个跨平台的 多功能 SSH 终端,在其 Web 版中提供了配置同步的功能。本文介绍用 podman 搭建 Tabby Web 及使用 Tabby 内建的配置同步功能。

在此之前,我尝试过使用 Nextcloud 来同步配置文件目录1,后来改用插件 Setting Sync。长期以来该插件工作并不是很稳定,常有提示无法同步的情况。而 Tabby 内建的同步服务使用起来则稳定许多,还支持多套配置 (profile) 的同步与切换。内建的同步功能需要连接一个 Tabby Web 实例,用 Github 等账户授权登录后获得同步密钥。如果你有信任的人拥有一个 Tabby Web 实例,你可直接借用。

注册 Github App

访问 https://github.com/settings/applications/new 注册一个应用。填入地址与回调 URL。例如:

  • Homepage URL: https://tabby.example.com
  • Authorization callback URL: https://tabby.example.com/api/1/auth/social/complete/github/

注册完成后,记录 Client ID 并获取 Client secrets。

运行 Tabby Web

创建 podman-compose.yml注1

services:
  tabby:
    image: ghcr.io/eugeny/tabby-web:latest
    container_name: tabby
    restart: always
    ports:
      - '8000:8000'
    volumes:
      - ./data:/app-dist
    environment:
      - DATABASE_URL=sqlite:////app-dist/db.sqlite3 
      - PORT=8000
      - DEBUG=False
      - SOCIAL_AUTH_GITHUB_KEY=<Your Github App Client ID>
      - SOCIAL_AUTH_GITHUB_SECRET=<Your Github App Client Secret>
podman pull ghcr.io/eugeny/tabby-web:latest
podman-compose up -d

然后使用 Nginx 等为 Tabby Web 实例做一个反代。

配置 Tabby Web

进入容器 shell:

podman exec -it tabby /bin/sh

https://registry.npmjs.org/tabby-web-container/ 中找一个较新的版本号,给 Tabby Web 注册应用版本:

./manage.sh add_version 1.0.163

配置 Tabby 同步

首先要启用库(Vault),设置主密码,注意不要开启 Encrypt config file,这会影响同步功能。访问 https://tabby.example.com,点击页面左下登录按钮,选择 Github 登录;点击页面左下设置按钮,复制同步 Token。

在 Tabby 设置中,先进入 Config file, 备份一下当前的配置。然后进入 Config Sync 设置,填入信息:

  • Sync Host: https://tabby.example.com
  • Secret sync token:

稍等片刻,即可在下方看到已经同步的配置(profile)。可以上传写入、下载覆盖,或者创建新的。建议开启 Sync automatically 选项。


  1. 使用 docker 和 docker-compose 亦可。本文选择使用 podman 和 podman-compose。 ↩

  1. Dallas Lu. 使用 Nextcloud 同步 Tabby 配置文件. ISSN 2770-7288. 2021. ↩