3.4 KiB
gemini-dl: CLI-утиліта для завантаження ресурсів Geminispace
gemini-dl - це утиліта командного рядка для пачкового завантаження капсул Gemini, написана мовою PHP 8 і поширюється за ліцензією MIT.
За своїм інтерфейсом, gemini-dl виконує спільні для wget і youtube-dl задачі, але створена саме для протоколу Gemini.
Використання доречне, якщо бажаєте завантажити певний ресурс: для локального читання чи задля його архівації, адже багатьом персональним капсулам властиве зникання через кустарний хостинг на різних девайсах типу Raspberry Pi.
Встановлення
Наразі стабільних випусків gemini-dl немає. Встановити актуальну версію, можна з джерел:
Залежності
apt install git composer php-fpm php-mbstring
Збірка з вихідного коду
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.
Приклад
Типова команда для створення локального дзеркала умовної капсули gemini://DOMAIN.ORG
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