~Rami ₪ MANUALS

רמי

SUBJECT: Buku: Консольная база данных веб-закладок с поддержкой шифрования

AUTHOR: Rami Rosenfeld

DATE: 18/01/25

TIME: 01.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, web, bookmarks, buku

Buku: Консольная база данных веб-закладок с поддержкой шифрования

INTRO

Давно искал нечто подобное для своих консольных задач. Если резюмировать, менеджер Buku - stand-alone база данных, позволяющая импортировать/экспортировать, безопасно хранить ваши веб-закладки, создавать новые, редактировать их, открывать в браузере, а также осуществлять расширенный поиск по содержимому (включая тэги и т.п.).

Основные функции:

- Store bookmarks with auto-fetched title, tags and description;

- Auto-import from Firefox, Google Chrome, Chromium, Vivaldi, and MS Edge;

- Open bookmarks and search results in browser;

- Shorten, expand URLs;

- Browse cached page from the Wayback Machine;

- Text editor integration;

- Lightweight, clean interface, custom colors;

- Powerful search options (regex, substring...);

- Continuous search with on the fly mode switch;

- Portable, merge-able database to sync between systems;

- Import/export bookmarks from/to HTML, XBEL, Markdown or Orgfile;

- Smart tag management using redirection (>>, >, <<);

- Multithreaded full DB refresh;

- Manual encryption support;

- Shell completion scripts, man page with handy examples.

NOTE

Инсталляция пакета производится из стандартных репозиториев:

dnf install buku

Использовать Buku очень просто. Поэтому, вопреки моей традиции, сложившейся при создании руководств, вначале я приведу несколько алиасов, составленных для .bashrc, а уж затем на примерах продемонстрирую основные принципы работы. Обратите внимание на используемые ключи:

alias edbkm='buku --write'

alias rmbkm='buku --delete'

alias sebkm='buku --sany'

alias stbkm='buku --stag'

alias enbkm='buku --lock'

alias debkm='buku --unlock'

buku --import bookmarks_backup.json

Ключ автоимпорта данных из браузеров:

--ai

Примечание. Я никогда не создаю тэги для закладок, хранящихся в браузере, т.к. последние строго рассортированы мною по соответствующим папкам. Кроме того (еще одна хорошая привычка!) - никогда не использую недопустимые символы, включая пробелы, в именах папок в БД закладок браузера. Это весьма сильно помогло мне в следующем случае: при операции импорта Buku последовательно задает пользователю несколько вопросов относительно опций переноса данных и (при согласии) - создает тэги из имен папок, в которых ранее хранились закладки.

Таким образом, если бы я имел в браузерной БД папки с пробелами в именах, например "Red Hat", то Buku создал бы к каждой ссылке сразу два некорректных тэга: "red" и "hat". Но, поскольку исходный каталог назывался у меня правильно ("redhat"), то и новые тэги сгенерировались, как я того и ожидал. Будьте внимательны!

~/.local/share/buku

Примечание: БД является переносимой.

edbkm

При исполнении данного алиаса, откроется редактор по умолчанию, а в нем - шаблон новой записи в БД. Заполните соответствующие поля:

# Lines beginning with "#" will be stripped.
# Add URL in next line (single line). Добавьте URL на следующей строке:
https://test.org
# Add TITLE in next line (single line). Leave blank to web fetch, "-" for no title.
Test Site. Добавьте название закладки на следующей строке:
# Add comma-separated TAGS in next line (single line). Добавьте тэги (через запятую) на следующей строке:
test, my
# Add COMMENTS in next line(s). Leave blank to web fetch, "-" for no comments. Добавьте комментарии на следующей строке:
Any Comments

ВАЖНО! При внесении данных вручную, Buku автоматически проверяет соединение с введенным URL. Если такого не существует (в нашем случае - это сайт test.org) - возникнет следующее сообщение:

[ERROR] (host='test.org', port=443): Max retries exceeded. Failed to establish a new connection

--sany

--sall

--deep

--sreg

--stag

Подробнее см. man buku.

sebkm test

1. Quad9 Test [239]
   > https://on.quad9.net/
   # tests

2. IPv6 Test [240]
   > https://test-ipv6.com/
   # tests

3. Test Site [316]
   > https://test.org
   + Any Comments
   # my,test

stbkm test

1. Test Site [316]
   > https://test.org
   + Any Comments
   # my,test

edbkm 316

316. Test Site
   > https://test.org
   + Any Comments
   # my,test

Шифрование базы данных:

enbkm

Password: 
Password: 
File encrypted

Проверка успешности шифрования:

edbkm

[ERROR] Unlock database first

Расшифровывание базы данных:

debkm

Password: 
File decrypted

ВАЖНО! Шифрование осуществляется ТОЛЬКО ВРУЧНУЮ. Если вы расшифровали БД, затем использовали ее, то далее необходимо повторить операцию шифрования, т.е. защитить ее заново. Обратите также внимание на задание количества проходов (см. подраздел "Encryption Options" в man buku).

rmbkm 316

316. Test Site
   > https://test.org
   + Any Comments
   # my,test

Delete this bookmark? (y/n): y
Index 316 deleted

Дополнительно см.: man buku

₪ Back to home ₪

🄯 Rami Rosenfeld, 2025. GNU FDL 1.3.