87 lines
No EOL
4.2 KiB
Markdown
87 lines
No EOL
4.2 KiB
Markdown
# 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 для более удобной сборки
|
||
* [ ] Поддержка обновления данных из конфига "на лету"
|
||
* [ ] Добавление поддержки нескольких лент
|
||
|
||
# Отказ от ответственности
|
||
|
||
Программное обеспечение поставляется "как есть" и автор не несет ответственности на нарушение работы ЭВМ |