14 заметок с тегом

cli

Автоматизация сохранения данных из Instagram

Привет, дааа снова CLI утилита.

Зачем?

Хочу периодически бэкапить некоторые Instagram аккаунты и опционально иметь возможность скачивать фото из профиля, сториз, IGTV видео, описание фото, само фото и пр.
Также автоматизирую выкачивание фото, которые я добавил в сохранёнки, добавлю возможность выбирать какой аккаунт бекапить, просто подпиской на данного пользователя.
И выкачивание доступных сториз у пользователей.

Как сделаем?

Воспользуемся тулзой на Питоне https://instaloader.github.io/index.html можете изучить, какие данные вы сможете выкачивать с ее помощью.
Установлю программу и настрою ее на своей VPS и настрою вызов программы по крону.

Делаем

Устанавливаем утилиту. Понятное дело нужен питон на машине

pip3 install instaloader
  • создаю отдельную папку для скаченных данных:
cd ~/tools
mkdir instagram
  • настраиваем конфигурационный файл с логином и паролем с Instagram аккаунтом для утилиты:
vim ~/cd/.config/instaloader/main.conf
  • вводим наш логин и пароль от учетной записи Instagram:
--login=cli_download_beaver_inst
--password=123456
  • сохраняем файл
    Я для этой утилиты завел отдельный аккаунт. Не стал привязывать свой основной https://www.instagram.com/tatarinovms/ так как отдельным аккаунтом удобнее оперировать.
  • создаем скрипт для крона:
vim ~/.config/instaloader/cron.sh
  • пишем простой скрипт:
#!/bin/bash
cd ~/tools/instagram/
instaloader +~/.config/instaloader/main.conf :stories -F -q
instaloader +~/.config/instaloader/main.conf :saved -F -q
instaloader +~/.config/instaloader/main.conf @cli_download_beaver_inst -F -q

Объясню каждую строчку:

выкачиваем stories которые доступны в нашем аккаунте @cli_download_beaver_inst

выкачиваем все фотографии и данные которые мы добавили в сохранёнки для @cli_download_beaver_inst

выкачиваем все фотографии и данные пользователей, на которых подписан @cli_download_beaver_inst

ключ -q запускает программу в «тихом режиме» т.е показываются только ошибки

ключ -F нам позволит нам пропускать скачивание, если мы уже скачивали данный файл:

tatarinovms/2020-08-01_11-14-15_UTC_profile_pic.jpg already exists
Retrieving posts from profile tatarinovms.
[   1/1064] tatarinovms/2020-07-17_17-55-20_UTC.jpg exists [Хозяин, ты что ешь? Прям это?] unchanged json

т.е например мы уже не будем перекачивать все 1064 фотки, так как они уже есть.

  • сохраняем наш скрипт
  • делаем наш скрипт исполняемым
chmod u+x ~/.config/instaloader/cron.sh
  • настраиваем cron
    Чтобы добавить задание в cron используем утилиту crontab:
crontab -e
  • добавляем строчку:
0 20 * * * ~/.config/instaloader/cron.sh

т.е мы вызываем скрипт каждый день в 20:00.

P.S если не знаете как крону указать нужное вам время, используете сайт https://crontab.guru на нем можно подобрать желаемый вам вариант.

  • сохраняем изменение в crontab:
    Если появилась строчка:
crontab: installing new crontab

значит мы все сделали верно.

Вы прекрасны! Автоматизация во все дома!

 36   4 дн   cli   Instagram

Переводчик в cli

Продолжаем тему cli утилит. Утилиту подсмотрел в уютном Клубе Вастрика у цензор{ƒ(low)}

Установка

В MacOS устанавливем через brew

brew install translate-shell

Установку translate-shell для вашей OS сможете найти тут

Работа

Глянем в tldr что умеет translate-shell

➜  ~ tldr trans

trans

Translate Shell is a command-line translator.
More information: <https://github.com/soimort/translate-shell>.

- Translate a word (language is detected automatically):
    trans "word_or_sentence_to_translate"

- Get a brief translation:
    trans --brief "word_or_sentence_to_translate"

- Translate a word into french:
    trans :fr word

- Translate a word from German to English:
    trans de:en Schmetterling

- Behave like a dictionary to get the meaning of a word:
    trans -d word

Теперь добавляем в shell удобные алиасы для вызова программы:

echo 'alias tru="trans :ru"'>>~/.zshrc
echo 'aias ten="trans en:ru"'>>~/.zshrc

Пробуем перевести c русского на английский

➜  ~ ten
молитва
(molitva)

prayer

Definitions of молитва
[ Русский -> English ]

noun
    prayer
        молитва, молебен, просьба, мольба, молящийся, проситель
    pray
        молитва, просьба
    grace
        благодать, милость, светлость, изящество, грация, молитва
    petition
        ходатайство, петиция, прошение, просьба, молитва, мольба
    blessing
        благословение, благо, счастье, блаженство, благодеяние, молитва
    orison
        молитва

молитва
    prayer

Пробуем перевести c английского на русский:

➜  ~ tru
custody
custody
/ˈkəstədē/

опека
(opeka)

Definitions of custody
[ English -> Русский ]

noun
    хранение
        storage, custody, keeping, safekeeping, charge
    опека
        guardianship, custody, tutelage, trusteeship, ward, trust
    попечение
        care, charge, custody, cure
    заключение
        conclusion, imprisonment, custody, closing, inference, incarceration
    арест
        arrest, detention, custody, apprehension, arrestment, caption
    охрана
        security, protection, guard, safeguard, escort, custody
    заточение
        limbo, custody, durance, immurement

custody
    опека, под стражей
 5   1 мес   cli   MacOS

Генерация QR кода из CLI в MacOS

Часто по работе требуется генерировать qr коды, иногда приходится делать это массово. И чтобы ускорить сей процесс, конечно же нужен скриптик)
Самый простой способ, чтобы не городить свое что-то. Использовать программу qrencode

Установка

brew install qrencode

Использование

qrencode -o link_to_blog.png  https://blog.tatarinovms.ru/

 7   4 мес   cli   MAC

Интеграция BitWarden в Alfred

Продолжаем делать удобным Alfred, в данном посте я расскажу как удобно копировать ваши пароли их программы для хранение паролей BitWarden.

Что нам необходимо?

  • установлием BitWarden-cli
brew install bitwarden-cli
  • качаем BitWarden Cli for Alfred workflow
  • кликаем на скаченном файле и установлием workflow в Alfred
  • выполняем в Alfred комманду bwsetemail где ваш логин в BitWarden
bwsetemail yourloginemail@yourdomain.com
  • выполяем в Alfred комманду bwsetserver, если вы используете хост bitwarden, то пишите так:
bwsetserver https://bitwarden.com
  • логинимся в BitWarden-cli
bwlogin
  • вводим ваш пароль в окошко
  • синхронизируем bitwarden-cli
bwsync

Как это все работает ?

bw <название аккаунта>
По нажатию на Enter в буфер вставляется пароль от аккаунта.

5 мес   alfred   Bitwarden   cli

Интеграция cask и brew в Alfred

Продолжааем навешивать в Alfred полезные плугины.
Давайте установим плагин для поддержи работы с Brew и Cask

Что нам для этого надо?

Как запускать и что может плугин?

  • запускается по ключевым словам brew и Cask
  • список возможностей:
5 мес   alfred   brew   cask   cli
Ранее Ctrl + ↓