add gemini-dl-now-supports-redirections.gmi

This commit is contained in:
postscriptum 2025-11-11 15:12:05 +02:00
parent dc238f5a2c
commit f428bf787b
2 changed files with 67 additions and 0 deletions

View file

@ -0,0 +1,66 @@
# gemini-dl: CLI-утиліта для завантаження ресурсів Geminispace
gemini-dl - це утиліта командного рядка для пачкового завантаження капсул Gemini, написана мовою PHP 8 і поширюється за ліцензією MIT.
За своїм інтерфейсом, gemini-dl виконує спільні для wget і youtube-dl задачі, але створена саме для протоколу Gemini.
Використання доречне, якщо бажаєте завантажити певний ресурс: для локального читання чи задля його архівації, адже багатьом персональним капсулам властиве зникання через кустарний хостинг на різних девайсах типу Raspberry Pi.
## Встановлення
Наразі стабільних випусків gemini-dl немає. Встановити актуальну версію, можна з наступних джерел:
=> https://github.com/yggverse/gemini-dl
=> https://packagist.org/packages/yggverse/gemini-dl
### Залежності
``` bash
apt install git composer php-fpm php-mbstring
```
### Збірка з вихідного коду
``` bash
git clone https://github.com/yggverse/gemini-dl.git
cd gemini-dl
composer update
chmod +x src/gemini-dl.php
```
## Користування
Утиліта підтримує гнучкі налаштування через аргументи командного рядка, актуальну документацію по яким, можна отримати аргументом --help.
Серед базових можливостей, є такі опції:
* режим кравлера (-c, --crawl) або поодинокого завантаження вказаного ресурсу
* регулярні вирази (-m, --match)
* опціональна конвертація локальних посилань (-a, --absolute)
* керування заголовками (-r, --raw) і файловою системою (-u, --unique)
* а тепер - й підтримка переходу за переадресацією (коди 30-31)
Керування максимальною кількістю переадресацій на одну сторінку, здійснюється опцією -f, --follow. Стандартно (згідно специфікації) значення складає 5:
=> https://geminiprotocol.net/docs/protocol-specification.gmi#redirection
### Приклад команди
Типова команда для створення локального дзеркала умовної капсули gemini://DOMAIN.ORG
``` bash
src/gemini-dl.php --crawl\
--source gemini://DOMAIN.ORG\
--target /path/to/destination\
--match '/DOMAIN.ORG.*(\/|\.gmi|\.png|\.gif|\.jpg|\.jpeg|\.webp)$/'
```
* завантажуємо тільки графіку та сторінки Gemtext (включно з індексом в корені)
* вимкнути слідування переадресаціям можна вказавши опцію `--follow 0`
## Посилання
=> gemini://bbs.geminispace.org/s/PHP/34281 Обговорення анонсу на BBS
=> https://devzone.org.ua/post/gemini-dl-cli-utylita-dlia-zavantazennia-resursiv-geminispace Веб-адаптація цього матеріалу з коментарями на DevZone
### Читайте також
=> gemini-protocol-as-http-alternative.gmi Протокол Gemini як альтернатива HTTP

View file

@ -12,6 +12,7 @@
### Нотатки
=> gemini-dl-is-batch-downloader-for-gemini-protocol.gmi 2025-11-11 gemini-dl: CLI-утиліта для завантаження ресурсів Geminispace
=> closing-btracker-instance.gmi 2025-11-09 Згортаю інстанс βtracker
=> diy-router-ups-based-on-usb-power-bank.gmi 2025-11-07 Саморобний UPS для роутера на базі пауер-банку USB
=> first-experience-with-ollama-llm.gmi 2025-11-06 Перший досвід з Ollama / LLM