kiki/README.md

4.2 KiB
Raw Permalink Blame History

Kiki - RSS -> MastodonAPI crossposter

Данная программа представляет собой кросспостер из лент RSS в Mastodon-совместимые сервера. Увы, программа пока тестировалась только на Pleroma

⚠ ПРОВЕРКИ НА КОЛИЧЕСТВО ПОДДЕРЖИВАЕМЫХ СЕРВЕРОМ СИМВОЛОВ НЕТ, НЕИЗВЕСТНО КАК ПРОГРАММА СЕБЯ ПОВЕДЕТ ЕСЛИ В НОВОСТИ 500+ СИМВОЛОВ

Руководство по сборке и использованию

Для начала проверьте зависимости:

  • golang 1.24.2+
  • redis

Далее надо пройтись по всем папкам и сделать go mod tidy:

cd config
go mod tidy
cd ../stacker
go mod tidy
cd ../tooter
go mod tidy
cd ../service 
go mod tidy 
cd ../

После уже собрать саму программу:

go build -C service -o ../kiki

В папке с проектом появится исполняемый файл kiki. Перед запуском необходимо заполнить конфигурационный файл config.yaml (пример заполнения представлен в файле config.example.yaml)

instance: https://pleroma.catgirls.asia #Инстанс, на котором находится аккаунт, в который будет происходить постинг
rss_url: https://4pda.to/feed #Новостная лента
sensitive: true #Ставить ли плашку NSFW
redis:
  address: localhost:6379 #Адрес Redis

После чего необходимо провести инициализацию для получения секретов аккаунта. СЕКРЕТЫ ХРАНЯТСЯ В ОТКРЫТОМ ВИДЕ, ТАК ЧТО БУДЬТЕ ОСТОРОЖНЫ!

./kiki init

Программа в коммандной строке выдаст ссылку на получение прав. Необходимо по ней перейти, дать разрешения, скопировать OAuth код, вставить в коммандную строку и нажать Enter. После этого должен создаться файл secret.conf.

После этого программу можно запустить командой ./kiki run. Перед запуском убедитесь что Redis запущен.

Запуск в Docker

Для запуска программы в Docker необходимо создать два файла: secret.conf и config.yaml:

touch secret.conf
touch config.yaml

Далее необходимо собрать Docker образ с утилитой:

docker compose build

После этого необходимо провести инициализацию:

docker compose run --rm kiki /app/kiki/kiki init

Программа в коммандной строке выдаст ссылку на получение прав. Необходимо по ней перейти, дать разрешения, скопировать OAuth код, вставить в коммандную строку и нажать Enter. В файле secret.conf должны появиться данные для использования аккаунта. Проверьте их наличие с помощью команды cat secret.conf

После чего можно запустить контейнер с программой:

docker compose up -d

TODO:

  • Первая реализация
  • Добавление картинок в пост
  • Добавление поддержки Redis
  • Упаковка в Docker образ
  • Создание Makefile для более удобной сборки
  • Поддержка обновления данных из конфига "на лету"
  • Добавление поддержки нескольких лент

Отказ от ответственности

Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ