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

推荐订阅源

T
Threat Research - Cisco Blogs
S
Securelist
H
Heimdal Security Blog
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
Spread Privacy
Spread Privacy
Cyberwarzone
Cyberwarzone
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
人人都是产品经理
人人都是产品经理
C
Cisco Blogs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Engineering at Meta
Engineering at Meta
Project Zero
Project Zero
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
O
OpenAI News
P
Proofpoint News Feed
Google Online Security Blog
Google Online Security Blog
Recent Announcements
Recent Announcements
Hacker News: Ask HN
Hacker News: Ask HN
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
U
Unit 42
P
Privacy International News Feed
Google DeepMind News
Google DeepMind News
G
GRAHAM CLULEY
Apple Machine Learning Research
Apple Machine Learning Research
TaoSecurity Blog
TaoSecurity Blog
S
Security @ Cisco Blogs
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
S
Secure Thoughts
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
T
Tenable Blog
Latest news
Latest news
I
InfoQ

Dallas Lu

邮件服务的域名成功从 SURBL 黑名单移除 网站多语言的设计细节 网站评论系统的目前进展和展望 在公网使用 iptables 转发端口时保留客户端 IP 邮件投递平台 Postal 的使用经验 自建 Postal 完美替代 SendGrid 互联网在崩塌吗,然后呢 在 SvelteKit 应用中使用 JSON-LD 网页的打印样式应该怎么写 “茴字的四种写法”之 IP 与域名 怎么伪造 Git 提交的时区 供大众交流的论坛和其它替代产品还是不好用 改编不是照搬 一次排查诡异的网络问题的经历 在 OpenWRT 23 中使用 nftset 配置 Shadowsocks 规则 手动建立自己的 IPv6 Tunnel 服务 在 PVE 手动配置网络及虚拟机 IPv6 公网 在 PVE 中缩小 Ubuntu 虚拟机的磁盘 Beancount 摊销与折旧的使用以及相关插件
使用自建 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. ↩