跳转到内容
GitHub

配置

在 F9 → 选项 → 语言 中更改界面语言。选择英语、简体中文、葡萄牙语(葡萄牙)、西班牙语或俄语,然后按 Enter;按 Esc 取消。所选语言会保存在 config.toml 中,即 language = "en"、"zh-CN"、"pt"、"es" 或 "ru"。BORG_LANGUAGE 会覆盖已保存的设置。如果两者都未设置,Borg 会遵循 LC_ALL、LC_MESSAGES 或 LANG,遇到不支持的语言则使用英语。命令、路径、文件名和键盘快捷键永远不会被翻译。本网站上的语言菜单只切换本指南的语言,与应用界面语言相互独立。

设置保存在 ~/.config/borg-commander/config.toml 中,或保存在由 $XDG_CONFIG_HOME 或 $BORG_CONFIG_DIR 指定的文件夹中。F9 → 选项 → 设置 以复选框的形式列出这些设置;按 Space 或单击可切换某项设置并立即保存。按 Esc 关闭窗口。Borg 会逐项读取该文件。它没有的设置,或它无法使用的值,只影响那一项:Borg 启动时会指出它在哪一行,并对该项使用默认值。Borg 保存某项设置时只修改那一项,文件的其余部分连同你的注释都保持原样。旧版本中的设置会按替代它的设置读取,并在下次保存时从文件中移除。如果文件根本不是 TOML,Borg 会以默认设置启动,之后你保存第一项设置时,该文件会以 config-unreadable.toml 为名保留在新文件旁边。

theme = "neon" # midnight, aurora, neon, classic, paper, ember, or your own
icon-style = "auto" # auto, nerd, or portable; Ghostty gets rich icons automatically
icon-spacing = 1 # spaces after an icon, 1 to 3
status-line = true
menu-bar = false # keep the menu bar visible
show-hidden = false
return-to-panels = true # return after commands launched from the panels
restore-terminal = false # bring back the shell scrollback on the next start
screensaver = true # one of five animations, picked at random
screensaver-after = 300 # seconds of idle time
update-check = true # offer a new release once a day
start-service = true # start the background service when Borg opens
graphics = "auto" # auto, kitty, sixel, iterm or off
relay = "wss://relay.example.com" # the relay for borg cloud
[plugins]
git = true
system = true
docker = true
docker-console = true # the command line follows container panels into the container
agent-log = true # keep a log of what agents do in each session
agent-cloud = true # paired computers reach this borg through borg cloud
agent-ask-reads = false # reads from another computer wait for approval
[search]
exclude = ["*.min.js", "fixtures/large"] # paths below the search folder, as in .gitignore
artifacts = true # leave out node_modules, Cargo's target and cache-tagged folders
ignore-files = true # follow .gitignore, .ignore, .rgignore and .borgignore
history = true # remember searches for Ctrl-P and Ctrl-N
[index]
roots = ["~/Projects"] # folders indexed for instant search
refresh-minutes = 15 # rebuild an index once it is this old
[folders]
hotlist = ["~/Projects", "/srv/www"] # pinned with Ctrl-\ and Insert
history = true # remember the folders the panels open
[network]
proxy-ca = "~/dev-ca" # the CA folder for captures through Borg's proxy
keep-free-mib = 1024 # stop captures before the disk has less than this free
[watch]
on = false # watch what starts, in the background service
freeze = true # stop a process a rule is sure about
learning-days = 7 # learn what is normal here before freezing anything, 365 at most
alerts-per-minute = 20 # processes written about before Borg only counts them
freezes-per-minute = 5
keep-running = ["backup-agent"] # programs Borg never freezes
[[watch.allow]]
program = "/bin/sh" # allowed starts: program, parent, user, or any of them together
parent = "nginx"
[watch.notify.telegram] # send alerts as they happen, see Alerts off the machine
token = "123456:ABC"
chat = "123456789"

在支持真彩色的本地终端中,Borg 启动时会播放一段简短的 logo 故障风格动画;按任意键或单击即可跳过。通过 SSH 连接时,以及在不支持真彩色的终端中,会直接打开面板。

闲置 screensaver-after 秒后,Borg 会从五种屏幕保护程序中随机显示一种:在星空中旋转的立方体;故障风格的 logo;用 logo 方块字母组成的时钟,每到新的一分钟就会撕裂开来;logo 旋出成螺旋星系,再旋回原位;或者 logo 被一块块木板重建,换下的旧木板则在下方拼成第二个 logo。按任意键或单击即可回到面板,唤醒用的按键不会执行其他操作。智能体的批准请求会自行结束屏幕保护程序,因此不会被它挡住。

自定义主题放在 ~/.config/borg-commander/themes/ 中。主题可以继承某个内置主题:

name = "Deep Space"
extends = "neon"
[styles]
cursor = { fg = "#0b0b16", bg = "#00e5ff", bold = true }
dir = { fg = "#b388ff", bold = true }

面板所在的文件夹、光标位置、分栏比例、列表模式和排序方式保存在状态文件夹 ~/.local/state/borg-commander 中,或保存在由 $XDG_STATE_HOME 或 $BORG_STATE_DIR 指定的文件夹中。

运行期间,Borg 会把 Shell 集成脚本以及从容器中复制出来的文件存放在它的运行时文件夹中,即 $XDG_RUNTIME_DIR/borg-commander,或临时文件夹下的 borg-commander-<uid>。只有你能打开这个文件夹;如果已存在一个由他人创建、或其他用户可以进入的同名文件夹,Borg 会跳过它并改用新名称。其中 TTL 文件的开头记录了该文件夹的使用截止时间:每个运行中的 borg 每小时都会把这个时间往后推到一天之后,因此一旦过了这个时间,就可以删除该文件夹。

F9 → 选项 → Borg 的文件… 会列出 Borg 存放文件的每个位置、各处占用的空间以及具体所在:

  • 临时文件:Shell 集成脚本、Shell 发出的切换文件夹请求、从容器复制出的文件、远程预览、为查看器和编辑器从压缩包解压出的文件,以及抓包代理的证书,位于运行时文件夹中。
  • 套接字:智能体和镜像通过它们连接运行中的会话,位于 /tmp/borg-<uid>-default,或位于以运行时文件夹命名的 /tmp/borg-<uid>- 文件夹中(设置了 $XDG_RUNTIME_DIR 时)。
  • 缓存:文件夹大小和名称索引,位于缓存文件夹中(参见已保存的大小扫描)。
  • 会话和历史记录:会话、Shell 输出、远程日志、搜索和文件夹历史记录、集合、已配对的计算机及其密钥,以及 Borg 对各个磁盘的了解(drives.json),位于状态文件夹中。
  • 设置:config.toml 和你的主题。
  • 抓包文件:Borg 保存的流量抓包文件,无论位于何处。

按 Up 和 Down 选择一行,列表下方的简短说明会介绍所选位置存放什么、保留多久。按 Enter 会在当前面板中打开该位置的文件夹。按 Esc 关闭窗口。

Borg 会在启动 30 秒后自行清理一次,之后每小时清理一次。它只删除自己创建的名称,并且从不删除最近 10 分钟内有过改动的内容,因此正在启动的 Borg 能保住刚刚创建的文件。会被删除的内容如下:

  • 运行时文件夹中其他 Borg 版本的文件夹:前提是已没有 Borg 从中运行,并且满足以下任一条件:本次 Borg 启动时没有其他 Borg 在运行,或其中的内容已有 3 天没有变化。
  • 已结束的 Borg 进程留下的切换文件夹请求、未写完的文件、远程控制台文件夹和抓包代理的证书。
  • 超过一天的从容器复制出的文件、远程预览,以及为查看器和编辑器从压缩包解压出的文件。
  • 无人应答的套接字,以及其中已没有任何应答的套接字文件夹。
  • Borg 0.4 和 0.5 格式的大小扫描结果、缓存不再列出的扫描结果,以及不再建立索引的文件夹的名称索引。
  • 旧版 Borg 留下的、其他用户可以进入的运行时文件夹:前提是其中的内容已有 3 天没有变化。

会话、历史记录、设置和抓包文件会一直保留,直到你删除。说明下方的那一行会显示当前残留了多少,以及上次清理删除了什么。按 F8 会先询问再删除残留内容。询问中会列出这些内容所在的文件夹,并默认选中 否,按 Y 才会删除。

Borg 保存的每个抓包文件都会记入一个列表,最多保留最新的 1,000 个。窗口会在 Borg 保存的抓包文件 下列出仍在磁盘上的那些,显示其大小和日期;如果旁边有同名的 .keylog 文件,还会标注 含密钥。在某个抓包文件上按 Enter 会打开它所在的文件夹,并把光标放在该文件上,这时按 F8 即可删除它。Borg 开始记录这个列表之前保存的抓包文件不在其中。

borg storage 会在终端中打印同样的位置列表并说明残留了什么,borg storage clean 则会删除这些残留。

如需构建、测试或参与贡献,请参阅 开发文档。

本指南跟随 main 分支更新 · Borg 0.11.0 · 1f6bce6
最新发布版本可能尚未包含此处介绍的全部功能。 发布说明

译自英文指南,欢迎指正。命令和键盘快捷键不作翻译。