diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..9b14b6d --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + +Copyright (C) 2004 Sam Hocevar + +Everyone is permitted to copy and distribute verbatim or modified +copies of this license document, and changing it is allowed as long +as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3edeb29 --- /dev/null +++ b/README.md @@ -0,0 +1,87 @@ +# 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 для более удобной сборки +* [ ] Поддержка обновления данных из конфига "на лету" +* [ ] Добавление поддержки нескольких лент + +# Отказ от ответственности + +Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ \ No newline at end of file