Gotab 新标签页私有化部署及浏览器扩展魔改指南

折腾记录:Gotab 新标签页私有化部署及扩展魔改指南

每次打开浏览器,面对默认的空白页或者各种臃肿的导航,总觉得差点意思。最近挖到了一个开源项目 Gotab,清爽好看还能自己部署。

我花了一点时间把它部署到了自己的服务器上,顺便把官方浏览器扩展的同步地址也改到了本地,算是彻底实现了数据自由。把部署和“魔改”扩展的过程记录下来,分享给同样喜欢折腾的朋友。

项目指路

为什么选 Gotab?

先简单说下它的几个核心卖点,这也是我折腾它的原因:

  • 颜值在线:自带很多精美的小组件(天气、倒数日、热搜等),看着就舒服。
  • 搜索好用:支持多搜索引擎一键切换,还有个“群搜”功能,能一次打开多个搜索结果。
  • 书签与排序:能批量导入本地书签;支持常规排序、交换位置,甚至全屏自由拖拽。
  • 壁纸自由:标准/简约双模式,静态、动态、纯色、渐变壁纸随便换。
  • 多端同步:支持多设备登录,自带“时光机”备份,换电脑也不怕数据丢。
  • 资源库:内置了海量网站图标,添加书签时不用到处找 icon。

一、准备工作

部署前,你需要准备以下环境:

需求项 说明
服务器 一台 VPS、NAS 或任何能跑 Docker 的设备。
MySQL 必须提前单独安装好 MySQL,并建好一个数据库(比如命名为 gotab)。
Docker 强烈建议用 Docker 部署,最省事。

二、Docker 部署(最省事)

作者提供了官方镜像doxwant/gotab:latest,支持多平台。

方式 1:使用 docker run

docker run -d \
  --name gotab-server \
  -p 8080:8080 \
  -e SERVER_PORT=8080 \
  -v $(pwd)/uploads:/app/uploads \
  -v $(pwd)/sourceStore:/app/sourceStore \
  --mount type=bind,source=$(pwd)/config.toml,target=/app/config.toml \
  --restart always \
  doxwant/gotab:latest

方式 2:使用 docker-compose

新建一个 docker-compose.yml文件,填入以下内容:

version: "3.8"

services:
  gotab-server:
    image: doxwant/gotab:latest
    container_name: gotab-server
    ports:
      - "8080:8080"
    environment:
      - SERVER_PORT=8080
    volumes:
      - ./uploads:/app/uploads
      - ./sourceStore:/app/sourceStore
      - type: bind
        source: ./config.toml
        target: /app/config.toml
    restart: always

然后在终端执行 docker-compose up -d 即可。

⚠️ 目录映射避坑指南

为了数据持久化,一定要把下面这三个目录/文件映射出来,否则容器一重启数据就没了:

  • /app/uploads:你上传的壁纸等文件。
  • /app/sourceStore:资源库的图标文件。
  • /app/config.toml:程序的配置文件(注意:这是单文件映射,不是文件夹)。

三、网页初始化配置

容器跑起来后,首次访问 http://你的服务器IP:8080 会自动跳转到 /install 安装引导页。

按提示操作即可:

  1. 基本信息:填一下网站标题、Logo 等。
  2. 数据库配置:填入你提前准备好的 MySQL 地址、端口、账号、密码和数据库名。
  3. 邮件服务:配置 SMTP。如果不配,只是影响找回密码等邮件通知,不影响核心使用。

搞定后就能正常访问了。管理后台在 /console,或者在页面点击“管理员 - 我的 - 管理端”进入。


四、核心:魔改浏览器扩展实现私有同步

官方插件商店里的 Gotab 扩展,默认是连官方服务器的。既然咱们都自己部署了,肯定得把扩展里的 API 地址改成自己的。

核心思路:浏览器扩展本质就是个前端压缩包,我们只要找到配置文件里的服务器地址改掉,然后本地加载源码就行了。

步骤 1:下载源码并修改配置

去 GitHub 下载项目源码,找到/web 目录,这里面就是浏览器扩展的源码。 打开 /web/siteConfig.js 文件,把server_url 改成你部署的域名或 IP:

// 修改前
globalThis.siteConfig = {
    bottomLinks:  ``,
    title:  ``,
    server_url:  ``,
}

// 修改后
globalThis.siteConfig = {
    bottomLinks:  ``,
    title:  ``,
    server_url:  `http://你的域名或IP:端口`,
}

步骤 2:浏览器加载本地扩展

  1. 打开 Chrome 或 Edge 的扩展管理页面(地址栏输入 chrome://extensions/)。
  2. 右上角开启 「开发者模式」
  3. 点击 「加载已解压的扩展程序」,选中刚才改好配置的 /web 文件夹。

搞定!现在你的浏览器新标签页就会连接到你自己的私有服务器了。

补充说明: 这种本地加载的方式不会自动更新。如果以后官方扩展更新了新功能,你需要重新去 GitHub 拉取最新的 /web目录,再改一次配置重新加载。

最后 折腾完看着自己定制的清爽主页,并且数据全在自己手里,还是挺有成就感的。大家如果在部署过程中遇到问题,可以去 GitHub 提 Issue 或者参考官方文档。祝折腾愉快!

参考链接
  1. dengxiwang, gotab-personal GitHub 仓库: https://github.com/dengxiwang/gotab-personal

craved 管理员

0篇 本周更新
1篇 本月更新
1个 用户数量
目录

站点性能

运行正常
实时心跳0 ms
页面加载
0
SQL 查询
0
服务端响应
0 ms
峰值内存
0 MB
00 : 00 : 00
2026716星期四