Параллельно с инфраструктурными активностями, у меня есть личные PET проекты программного уровня.
На текущий момент я имею некоторый опыт в части языка TypeScript (JS) и WEB фреймворка Vue под UI.
Немного личных проектов под железо на C и C++, но пока они не стоят внимания.
Какие-то проекты имеют публичное размещение, какие-то приватное.
Тут я просто хотел бы поделиться своими наработками. Возможно кому-то они окажутся полезными, как с точки зрения кода, так и с точки зрения идей или простой эксплуатации под свои нужды.
Ни на что не претендую, какой-либо специализации в этом не имею, все на уровне любительского использования. Воспринимаю конструктивную критику.
Больше информации можно найти в README.md файлах проектов.
Version Tagger
GitHub Action для поддержки версионности в репозитории для собственных проектов.
Попробовал использовать различные уже существующие из маркетплейса. Столкнулся с рядом нестыковок, которые не могли покрыть мои хотелки.
Написал свой, используя готовый TypeScript шаблон проекта от команды GitHub
https://github.com/marketplace/actions/version-tagger
https://github.com/GregoryGost/version-tagger
Transmission Daemon torrent processing
Отдельные приложения для обработки файлов фильмов и сериалов после их скачивания.
Имеют судьбу развития из простого Bash скрипта до Node.JS приложения.
Создавалось под эгидой статьи Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
Кстати, как альтернативное решение, можно использовать приложения sonarr и radarr
Transmission Torrent Done
Данное приложение производит обработку файла после завершения скачивания. Распределяет файлы по папкам исходя из их именования.
https://github.com/GregoryGost/transmission-torrentdone
Transmission Torrent Clear
Данное приложение производит удаление уже скачанных торрент файлов, дабы не нагружать контейнер и сеть. Делает это либо по установленному Ratio, либо по установленному времени.
https://github.com/GregoryGost/transmission-torrentclear
GOST RDPR — Domain resolver
Приложение на Python для преобразования доменов в IP адреса и дальнейшего добавления их в firewall-list и routing таблицу в маршрутизаторах MikroTik на базе RouterOS v7. В последствии эти адреса могут транслироваться по BGP на конечные устройства в их таблицы маршрутизации.
Является HTTP REST API приложением.
Поддерживает OpenAPI документацию доступную по WEB, метрики prometheus для мониторинга.
Доступные методы
- Home — проверка состояния
- DNS Servers — работа с DNS серверами, которые будут применяться для получения IP адресов доменов
- Domains Lists — работа со списками доменов. Добавляются ссылки на файлы, которые потом скачиваются и все найденные в них домены попадают в базу.
- Domains — работа с доменами. Можно отслеживать состояние добавленных доменов, добавлять новые, по одному или пачкой.
- IP Address Lists — работа со списками IP адресов. Добавляются ссылки на файлы, которые потом скачиваются и все найденные в них IP адреса попадают в базу.
- IP address — работа с IP адресами. Можно отслеживать состояние добавленных IP адресов, добавлять новые, по одному или пачкой.
- RoS Configs — работа с целевыми устройствами, на которые затем адресуются IP адреса в базе приложения.
- Commands — запуск команд. Запуск процессов загрузки списков доменов или списков IP адресов, процесса резолвинга доменов, процесса обновления в RouterOS.
- Jobs — работа с задачами которые запускаются с помощью Commands
Использует базу данных SQLite
https://github.com/GregoryGost/gost-rdpr
Размещен на Docker Hub — https://hub.docker.com/r/gregorygost/gost-rdpr




