# 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: * [x] Первая реализация * [x] Добавление картинок в пост * [x] Добавление поддержки Redis * [x] Упаковка в Docker образ * [ ] Создание Makefile для более удобной сборки * [ ] Поддержка обновления данных из конфига "на лету" * [ ] Добавление поддержки нескольких лент # Отказ от ответственности Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ