|
||
---|---|---|
config | ||
file_watcher | ||
service | ||
stacker | ||
tooter | ||
.gitignore | ||
config.example.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE.md | ||
Makefile | ||
README.md |
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 плашку
- url: https://4pda.to/feed
sensitive: false
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:
- Первая реализация
- Добавление картинок в пост
- Добавление поддержки Redis
- Упаковка в Docker образ
- Создание Makefile для более удобной сборки
- Поддержка обновления данных из конфига "на лету"
- Добавление поддержки нескольких лент
- Добавить поддержку шаблонов
- Добавить сбор информации о инстансе, кол-ве поддерживаемых символов и кол-ве поддерживаемых медиа в одном посте. Сделать обработку этой информации и формирование постов с учетом инстансоспецифичных факторов
- Некоторые RSS-ленты содержат видео. Добавить поддержку видео в постах
- Дополнительные флаги для команды чтобы указывать где лежит конфиг
Отказ от ответственности
Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ