# Kiki - RSS -> MastodonAPI crossposter Данная программа представляет собой кросспостер из лент RSS в Mastodon-совместимые сервера. Увы, программа пока тестировалась только на Pleroma ### ⚠ ПРОВЕРКИ НА КОЛИЧЕСТВО ПОДДЕРЖИВАЕМЫХ СЕРВЕРОМ СИМВОЛОВ НЕТ, НЕИЗВЕСТНО КАК ПРОГРАММА СЕБЯ ПОВЕДЕТ ЕСЛИ В НОВОСТИ 500+ СИМВОЛОВ # Руководство по сборке и использованию Для начала проверьте зависимости: * golang 1.24.2+ * redis * gnu make После необходимо произвести сборку утилиты с помощью команды ```make```: ``` make ``` В папке с проектом появится исполняемый файл kiki. Перед запуском необходимо заполнить конфигурационный файл config.yaml (пример заполнения представлен в файле config.example.yaml) ``` instance: https://pleroma.catgirls.asia #Адрес инстанса rss_urls: #YAML массив лент - url: https://habr.com/ru/rss/flows/admin/articles/?fl=ru #Адрес ленты sensitive: false #Нужно ли ставить NSFW плашку visibility: "unlisted" #Режим отображения постов. Есть public, unlisted, private, direct - url: https://4pda.to/feed sensitive: false visibility: "unlisted" redis: address: localhost:6379 #Адрес Redis, в случае использования Docker Compose необходимо написать redis:6379 ``` После чего необходимо провести инициализацию для получения секретов аккаунта. **СЕКРЕТЫ ХРАНЯТСЯ В ОТКРЫТОМ ВИДЕ, ТАК ЧТО БУДЬТЕ ОСТОРОЖНЫ!** ``` ./kiki init ``` Программа в коммандной строке выдаст ссылку на получение прав. Необходимо по ней перейти, дать разрешения, скопировать OAuth код, вставить в коммандную строку и нажать Enter. После этого должен создаться файл secret.conf. После этого программу можно запустить командой ```./kiki run```. Перед запуском убедитесь что Redis запущен. Если вам надо удалить утилиту и почистить все go.sum файлы, то можно выполнить следующую команду: ``` make clean ``` # Запуск в 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 образ * [x] Создание Makefile для более удобной сборки * [x] Поддержка обновления данных из конфига "на лету" * [x] Добавление поддержки нескольких лент * [ ] Добавить поддержку шаблонов * [ ] Добавить сбор информации о инстансе, кол-ве поддерживаемых символов и кол-ве поддерживаемых медиа в одном посте. Сделать обработку этой информации и формирование постов с учетом инстансоспецифичных факторов * [ ] Некоторые RSS-ленты содержат видео. Добавить поддержку видео в постах * [ ] Дополнительные флаги для команды чтобы указывать где лежит конфиг # Отказ от ответственности Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ