EN | RU
Этот репозиторий это исходный код программы, которую написал для себя и использовал многие годы. Инструкции по установке проверены на чистой Windows 10 и должны работать без проблем, но если у вас возникнут какие-либо трудности, не стесняйтесь создавать discussion или issue. Я также планирую в ближайшем будущем загрузить видео с демонстрацией процесса установки, это должно немного помочь.
- Что такое ImoutoRebirth
- Как выглядит ImoutoRebirth
- Установка
- Configuration
- Как устроен ImoutoRebirth
ImoutoRebirth это решение для организации медиа файлов с уклоном в аниме картинки. Вдохновленный и глубоко интегрированный с такими сайтами, как danbooru.donmai.us, yande.re, gelbooru.com, rule34.xxx.
Писать я его начал для себя много лет назад, т.к. я сам еще тот сохранятель картинок. Со временем разные функции собрались в целостное решение, и я решил его опубликовать.
Больше всего ImoutoRebirth будет полезен тем, кто любит сохранять картинки (мноого картинок), а потом иметь возможность в них разобраться и найти нужные, что без тегов обычно бывает сделать крайне проблематично.
Ключевые функции:
- Коллекции файлов (картинок, видосов, гифок)
- Поддерживаются форматы
- jpg, jpeg, png, bmp, tiff, apng, gif, webp, jfif
- mp4, mov, webm, wmv, mov, m2ts, mpg, mpeg, mkv, f4v, flv, avi, m4v, swf
- zip as pixiv ugoira
- Фоновый поиск и актуализация тегов для ваших картинок и метаданных по хешу файла с данбуры, санкаку, яндере, гелбуру
- Локальный поиск по сохраненным файлам и их тегам
- Массовое тегирование файлов
- Отображение notes с бур на локальных картинках
- Автоматическое скачивание favorites с бур в вашу коллекцию
- Подсвечивание в браузере сохраненных картинок
Для вас доступно два приложения
Для просмотра и настройки коллекций, тегировния. Своебразный explorer.
Для просмотра отдельных изображений. Его использование не обязательно, вы можете пользоваться своим любимым просмотрщиком картинок, но в Imouto Viewer позволит вам читать Notes с бур (обычно это переводы текста на картинках), смотреть и добавлять свои теги.
Видео гайд по установке и настройке: https://youtu.be/xU5lRX-a8kE
[NEW] Видео гайд с первым запуском, начальной настройкой коллекции, демонстрации некоторых фич и расширения для браузеров Imouto Extensions: https://youtu.be/w7hyAMkQFlU
Основная идея приложения в том, что у вас есть разные коллекции с файлами, где хранятся ваши изображения/видео. После установки вам необходимо настроить эти коллекции в приложении ImoutoNavigator. У каждой коллекции есть source папки и (по желанию) папка destination. Приложение отслеживает каждую source папку, берет файлы оттуда, обрабатывает их и перемещает их в папку destination. После этого файлы можно просматривать в приложении ImoutoNavigator. Установка происходит следующим образом:
- Скачать ImoutoRebirth.exe в любую папку из последнего релиза
- Запустить (это самораспаковывающийся 7z архив), он распакает приложение в папку с версией, скопировать путь до этой папки
- Отредактировать configuration.json, заполнив своими данными. Я рекомендую заполнить хотя бы danbooru и yandere логины пароли и путь до source вашей основной коллекции в HarpySavePath. Но в худшем случае, можете оставить все как есть, приложение не сломается, но не будут работать некоторые функции.
- Запустить Powershell от имени администратора
- Выполнить в нем команды ниже по очереди:
Set-ExecutionPolicy Bypass -Scope Process -Force;
cd <путь к папке latest>
Установить postgres, .net runtime (может занять несколько минут, особенно долгий Postgres)
./install-dependencies.ps1
Установить или обновить само приложение
./install-update.ps1
- Опционально, можно установить расширение для хрома, которое будет подсвечивать сохраненные или связанные с сохраненными картинки на бурах. Ссылка на расширение
Шаблон и значения по умолчанию
{
"DanbooruLogin": "",
"DanbooruApiKey": "",
"SankakuLogin": "",
"SankakuPassword": "",
"YandereLogin": "",
"YandereApiKey": "",
"RoomPort": "11301",
"LilinPort": "11302",
"KekkaiPort": "11303",
"HarpySavePath": "",
"HarpyFavoritesSaveJobRepeatEveryMinutes": "1",
"KekkaiAuthToken": "",
"LilinConnectionString": "Server=localhost;Port=5432;Database=LilinProd;User Id=postgres;Password=postgres;",
"MeidoConnectionString": "Server=localhost;Port=5432;Database=MeidoProd;User Id=postgres;Password=postgres;",
"RoomConnectionString": "Server=localhost;Port=5432;Database=RoomProd;User Id=postgres;Password=postgres;",
"MassTransitConnectionString": "Server=localhost;Port=5432;Database=masstransit;User Id=postgres;Password=postgres;",
"MeidoMetadataActualizerRepeatEveryMinutes": "5",
"MeidoFaultToleranceRepeatEveryMinutes": "10080",
"MeidoFaultToleranceIsEnabled": "true",
"RoomImoutoPicsUploadUrl": "",
"InstallLocation": "C:\\Program Files\\Imouto",
"OpenSearchUri": "http://localhost:9200/"
}
Parameter | Required | Comment |
---|---|---|
DanbooruLogin | Крайне желательно заполнить, используется для поиска тегов и скачивания любимых картинок | |
DanbooruApiKey | Крайне желательно заполнить, находится на странице вашего профиля на danbooru, строчка API Key | |
SankakuLogin | Опционально, логин с санкаку | |
SankakuPassword | Опционально, sankaku password | |
YandereLogin | Крайне желательно заполнить, используется для поиска тегов и скачивания любимых картинок | |
YandereApiKey | Крайне желательно заполнить, находится на странице Profile / Settings | |
RoomPort | * | Room сервис будет доступен по этому порту |
LilinPort | * | Lilin сервис будет доступен по этому порту |
KekkaiPort | * | Kekkai сервис будет доступен по этому порту |
HarpySavePath | Опционально, сервис будет скачивать любимые картинки с danbooru и yandere по этому пути. Если вы укажите этот путь на Source папку вашей коллекции, то картинки сразу будут попадать в вашу коллекцию | |
HarpyFavoritesSaveJobRepeatEveryMinutes | * | Время в минуту, через которое буры будут проверяться на новые любимые |
KekkaiAuthToken | * | Случайная строка для безопасности, можно сгенерить, например, новый guid и вставить сюда |
LilinConnectionString | * | Строка подключения в постгрес для Lilin |
MeidoConnectionString | * | Строка подключения в постгрес для Meido |
RoomConnectionString | * | Строка подключения в постгрес для Room |
MassTransitConnectionString | * | Строка подключения в постгрес для транспорта MassTransit (замена rabbitmq) |
MeidoMetadataActualizerRepeatEveryMinutes | * | Meido будет запрашивать актуализацию тегов через указанное количество минут |
MeidoFaultToleranceRepeatEveryMinutes | * | Meido в случае проблем с сетью, через указанное количество минут будет повторно запрашивать поиск |
MeidoFaultToleranceIsEnabled | * | Meido нужно ли повторно запрашивать поиск в случае проблем с сетью |
RoomImoutoPicsUploadUrl | Опционально, колбек, на который будут отправляться все добавленные картинки | |
InstallLocation | * | Папка установки ImoutoRebirth (лучше не трогать) |
OpenSearchUri | Больше для отладки, если вы хотите наблюдать за системой и смотреть ее логи вне файлов, можете поднять OpenSearch в докере и указать здесь его урл. Система начнет логировать в него. |
По мимо двух приложений выше, внутри ImoutoRebirth представляет из себя пачку сервисов, каждый из которых имеет свою функцию. Они будут установлены автоматически, и особые знания про них не требуются, но для любопытных глаз я тут опишу внутреннее устройство и назначения разных сервисов, а так же их зависимости. Если вы будете следовать инструкции по установке выше, эти сервисы установятся автоматически как Windows Service. Так же минимально для работоспособности системы необходим будет Postgres. Вы можете уставновить его самостоятельно, или воспользоваться скриптами, которые прилагаются к каждому релизу.
Подробнее взаимодействие сервисов и их назначение можно посмотреть на этой диаграме, открывать с помощью diagrams.net или draw.io.
Сервис отвечает за работу с файловой системой. Именно он хранит ваши коллекции, перемещает файлы, проверяет на дубликаты, считает и сверяет md5 хеш. Настройка коллекций из Imouto Navigator вызывает методы именно в нем.
Сервис отвечает за взаимодействие с внешним миром и сбор тегов и метаданных, асинхронно получая задания (например, когда вы сохраняете новый файл), он лезет в известные ему буры сайты и скачивает с них теги, заметки и метаданные. Он же занимается актуализацией тегов, отслеживая изменения, которые обычно буры публикую в качестве фида. Так что в идеале у вас локально всегда актуальные теги, такие же как на сайтах.
Сервис отвечает за хранение и поиск тегов, сюда складывается результат работы Arachne и те теги, что вы добавляете сами.
Сервис координатор, который отслеживает процессы, происходящие в системе и ставит задания Arachne на поиск или актуализацию тегов.
Мини сервис скачивает favs из ваших аккаунтов бур, и складывает их в указанную папку.
Апи гейтвей который проксирует запросы на внутренние сервисы и позволяет проверять, сохранены ли определенные картинки в системе. Им пользуется, например, Imouto Extensions.
Не будет запускаться или устанавливаться в вашей системе, это сервис обновлятор на новую версию.
Приложение для просмотра отдельных изображений. Поддерживает теги, заметки (переводы), слайдшоу, фиксированный зум (удобно для чтения манги) и многое другое
Расширение для хрома, которое на бурах подсвечивает сохраненные изображения.