Pular para o conteúdo
GitHub

Configuração

Mude o idioma da interface em F9 → Opções → Idioma. Escolha inglês, chinês simplificado, português (Portugal), espanhol ou russo e prima Enter; Esc cancela. A escolha fica guardada em config.toml como language = "en", "zh-CN", "pt", "es" ou "ru". BORG_LANGUAGE sobrepõe-se à definição guardada. Se nenhum estiver definido, o Borg segue LC_ALL, LC_MESSAGES ou LANG, e usa inglês para os idiomas que não suporta. Os comandos, os caminhos, os nomes de ficheiros e os atalhos de teclado nunca são traduzidos. O menu de idioma deste site muda o idioma do guia de forma independente.

As definições ficam guardadas em ~/.config/borg-commander/config.toml, ou na pasta indicada por $XDG_CONFIG_HOME ou $BORG_CONFIG_DIR. F9 → Opções → Definições mostra-as como caixas de verificação; Space ou um clique alterna uma definição e guarda-a de imediato. Esc fecha a janela. O Borg lê o ficheiro definição a definição. Uma definição que não tem, ou um valor que não consegue usar, afeta apenas essa definição: o Borg diz em que linha está ao arrancar e usa aí a predefinição. Quando o Borg guarda uma definição altera só essa e mantém o resto do ficheiro, com os seus comentários, tal como o escreveu. Uma definição de uma versão anterior é lida como aquilo que a substituiu e sai do ficheiro na gravação seguinte. Um ficheiro que não é TOML de todo faz o Borg arrancar com as predefinições, e a primeira definição que guardar depois mantém esse ficheiro ao lado do novo como 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"

Num terminal local com cor verdadeira, o Borg arranca com uma breve animação do logótipo com efeito de falha (glitch); qualquer tecla ou clique a salta. Por SSH, e em terminais sem cor verdadeira, abre diretamente nos painéis.

Após screensaver-after segundos sem atividade, o Borg mostra um de cinco protetores de ecrã, escolhido ao acaso: um cubo a girar num campo de estrelas, o logótipo com efeito de falha, um relógio nas letras de blocos do logótipo que se desfaz a cada novo minuto, o logótipo a rodopiar até formar uma galáxia em espiral e a regressar, ou o logótipo reconstruído tábua a tábua enquanto as tábuas antigas formam um segundo logótipo por baixo. Qualquer tecla ou clique traz os painéis de volta, e essa tecla não faz mais nada. A aprovação pedida por um agente termina o protetor de ecrã por si, por isso nunca fica à espera por trás dele.

Os temas personalizados ficam em ~/.config/borg-commander/themes/. Um tema pode estender um dos temas incluídos:

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

As pastas dos painéis, as posições do cursor, a divisão, os modos de listagem e a ordenação ficam guardados na pasta de estado, ~/.local/state/borg-commander, ou na pasta indicada por $XDG_STATE_HOME ou $BORG_STATE_DIR.

Enquanto corre, o Borg guarda os scripts de integração com a shell e os ficheiros copiados de contentores na sua pasta de execução, $XDG_RUNTIME_DIR/borg-commander, ou em borg-commander-<uid> na pasta temporária. Só o utilizador pode abrir esta pasta; se já existir uma criada por outra pessoa, ou em que outros utilizadores possam entrar, o Borg ignora-a e usa outro nome. O ficheiro TTL começa com a hora até à qual a pasta está em uso: cada borg em execução adia essa hora um dia, de hora a hora, pelo que, depois de ela passar, a pasta pode ser eliminada.

F9 → Opções → Ficheiros do Borg… mostra cada sítio onde o Borg guarda ficheiros, quanto ocupa cada um e onde fica:

  • Ficheiros temporários: scripts de integração com a shell, pedidos de mudança de pasta vindos da shell, cópias de contentores, pré-visualizações remotas, ficheiros descompactados de arquivos para o visualizador e o editor, e os certificados do proxy de uma captura, na pasta de execução.
  • Sockets: por onde os agentes e os espelhos chegam às sessões em curso, em /tmp/borg-<uid>-default, ou numa pasta /tmp/borg-<uid>- com o nome da pasta de execução quando $XDG_RUNTIME_DIR está definida.
  • Caches: tamanhos das pastas e índices de nomes, na pasta de cache (consulte Análises de tamanho guardadas).
  • Sessões e histórico: sessões, saída da shell, registo remoto, histórico de pesquisas e de pastas, coleções, computadores emparelhados com as suas chaves e o que o Borg aprendeu sobre os seus discos (drives.json), na pasta de estado.
  • Definições: config.toml e os seus temas.
  • Capturas: as capturas de tráfego que o Borg guardou, onde quer que estejam.

Up e Down escolhem uma linha, e uma nota curta por baixo da lista diz o que o sítio escolhido contém e quanto tempo fica guardado. Enter abre a pasta desse sítio no painel ativo. Esc fecha a janela.

O Borg faz a sua própria limpeza 30 segundos depois de arrancar e, a seguir, de hora a hora. Só remove nomes que ele próprio cria e nunca nada que tenha mudado nos últimos 10 minutos, pelo que um Borg que está a arrancar mantém o que acabou de criar. É isto que sai:

  • Pastas de outras versões do Borg na pasta de execução, quando já nenhum Borg corre a partir delas e, além disso, nenhum Borg estava a correr quando este arrancou ou há 3 dias que nada nelas muda.
  • Pedidos de mudança de pasta, ficheiros escritos a meio, pastas de consolas remotas e certificados do proxy de capturas de processos do Borg que terminaram.
  • Cópias de contentores, pré-visualizações remotas e ficheiros descompactados de arquivos para o visualizador e o editor com mais de um dia.
  • Sockets em que ninguém responde e pastas de sockets onde já nada responde.
  • Análises de tamanho no formato do Borg 0.4 e 0.5, análises que a cache já não lista e índices de nomes de pastas que já não são indexadas.
  • Pastas de execução que versões antigas do Borg deixaram abertas a outros utilizadores, quando há 3 dias que nada nelas muda.

As sessões, o histórico, as definições e as capturas ficam guardados até os eliminar. A linha por baixo da nota diz quanto resta neste momento e o que a última limpeza removeu. F8 remove os restos depois de perguntar. A pergunta indica as pastas de onde vêm e abre com Não selecionado, por isso prima Y para os remover.

Cada captura que o Borg guarda entra numa lista das 1000 mais recentes. A janela mostra as que ainda estão no disco em Capturas guardadas pelo Borg, com o tamanho e a data, e com chaves quando ao lado de uma está um ficheiro .keylog com o mesmo nome. Enter numa captura abre a pasta dela com o cursor no ficheiro, e aí F8 elimina-a. As capturas guardadas antes de o Borg começar a manter esta lista não aparecem nela.

borg storage mostra os mesmos sítios no terminal e diz o que resta, e borg storage clean remove-o.

Para compilar, testar ou contribuir, consulte Desenvolvimento.

Este guia acompanha o ramo main · Borg 0.11.0 · 1f6bce6
A versão mais recente pode ainda não incluir tudo o que aqui se descreve. Notas de versão

Traduzido a partir do guia em inglês. As correções são bem-vindas. Os comandos e os atalhos de teclado não são traduzidos.