mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
add gemini-dl-cli-utylita-dlia-zavantazennia-resursiv-geminispace.md
This commit is contained in:
parent
9219f68680
commit
13db5cfdce
1 changed files with 56 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
||||||
|
# gemini-dl: CLI-утиліта для завантаження ресурсів Geminispace
|
||||||
|
|
||||||
|
[gemini-dl](https://github.com/YGGverse/gemini-dl) - це утиліта командного рядка для пачкового завантаження капсул Gemini, написана мовою PHP 8 і поширюється за ліцензією MIT.
|
||||||
|
|
||||||
|
За своїм інтерфейсом, gemini-dl виконує спільні для wget і youtube-dl задачі, але створена саме для [протоколу Gemini](https://devzone.org.ua/post/protokol-gemini-iak-alternatyva-http).
|
||||||
|
|
||||||
|
Використання доречне, якщо бажаєте завантажити певний ресурс: для локального читання чи задля його архівації, адже багатьом персональним капсулам властиве зникання через кустарний хостинг на різних девайсах типу 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](https://geminiprotocol.net/docs/protocol-specification.gmi#redirection))
|
||||||
|
|
||||||
|
Керування максимальною кількістю переадресацій на одну сторінку, здійснюється опцією `-f`, `--follow`. Стандартно (згідно специфікації) значення складає 5.
|
||||||
|
|
||||||
|
### Приклад
|
||||||
|
|
||||||
|
Типова команда для створення локального дзеркала умовної капсули `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](https://geminiprotocol.net/docs/gemtext.gmi) (включно з індексом в корені)
|
||||||
|
* вимкнути слідування переадресаціям можна вказавши опцію `--follow 0`
|
||||||
Loading…
Add table
Add a link
Reference in a new issue