Useful Tools | Linux | GitOps | DevOps
5.67K subscribers
133 photos
1 video
7 files
649 links
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Автор: @dmitry_malinin
Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Обсуждение: @gittalk
Download Telegram
Useful Tools | Linux | GitOps | DevOps
rustdesk - приложение для удаленного рабочего стола с открытым исходным кодом, написанное на Rust. Работает из коробки, не требует настройки. Вы полностью контролируете свои данные, не беспокоясь о безопасности. Вы можете использовать наш сервер ретрансляции…
Еще альтернатива / форк

sctgdesk-server - модифицированная версия RustDesk Server, бесплатная и с открытым исходным кодом.

Первое отличие - эта версия включает новый режим TCP, включенный в версию RustDesk Server Pro.

Второе отличие - эта версия включает предварительную реализацию API-сервера Rustdesk Server Pro.
- поддержка личной адресной книги
- поддержка общей адресной книги на уровне группы (только чтение, чтение-запись, администратор)
- поддержка общей адресной книги на уровне пользователя (только чтение, чтение-запись, администратор)

Третье отличие - эта версия включает предварительную реализацию простой веб-консоли.

Веб-консоль доступна по адресу http://<server-ip>:21114/ с логином «admin» и паролем «Hello,world!» .

Вы можете просмотреть документацию по API на встроенном сервере API по адресу http://<server-ip>:21114/api/doc/

https://github.com/sctg-development/sctgdesk-server

Документация: https://sctg-development.github.io/sctgdesk-api-server/

Подсказал: R - @Rambotnik

опубликовано в  @gitgate

#rustdesk #api #webui #teamviewer #remote #onpremise #selfhosted
👍13🔥6
Useful Tools | Linux | GitOps | DevOps
Совет дня: Узнать свой внешний IP адрес  curl ifconfig.me можно и сразу в переменную IP = $(curl ifconfig.me) опубликовано в @gitgate #tips #ip
В дополнение к совету дня. Подобных сервисов масса, но есть один нюанс. Часть из них возвращает по запросу адрес с висящим CR/LF что не подходит для добавление сразу в переменную без доп.обработки...

Без CR/LF (можно сразу в переменную)

curl l2.io/ip
curl https://echoip.de
curl ifconfig.me
curl ipecho.net/plain
curl -L ident.me #API
curl -L canihazip.com/s
curl -L tnx.nl/ip
curl wgetip.com
curl whatismyip.akamai.com
curl ip.tyk.nu
curl bot.whatismyipaddress.com
curl curlmyip.net
curl api.ipify.org
curl ipv4bot.whatismyipaddress.com
curl ipcalf.com

C CR/LF на конце (у меня windows)

curl ipaddy.net
curl eth0.me
curl ipaddr.site
curl ifconfig.co
curl ifconfig.pro
curl curlmyip.net
curl ipinfo.io/ip
curl icanhazip.com
curl checkip.amazonaws.com
curl smart-ip.net/myip
curl ip-api.com/line?fields=query
curl ifconfig.io/ip
curl -s ip.liquidweb.com
curl ifconfig.es
curl ipaddress.sh
curl 2ip.ru

В виде JSON (маньяк эдишн)

curl httpbin.org/ip
curl wtfismyip.com/json
curl -L iphorse.com/json
curl geoplugin.net/json.gp
curl https://ipapi.co/json
curl -L jsonip.com
curl gd.geobytes.com/GetCityDetails
curl ip.jsontest.com

опубликовано в @gitgate

#tips #ip
👍35🔥17
Dagu- мощная альтернатива Cron с веб-интерфейсом.

Он позволяет определять зависимости между командами в виде направленного ациклического графа (DAG) в декларативном формате YAML.

Dagu упрощает управление и выполнение сложных рабочих процессов. Он изначально поддерживает запуск контейнеров Docker, выполнение HTTP-запросов и выполнение команд через SSH.

Функции:

- Веб-интерфейс пользователя
- Интерфейс командной строки (CLI) с несколькими командами для запуска и управления группами DAG.
- Формат YAML для определения групп доступности баз данных с поддержкой различных функций, включая:
Выполнение пользовательских фрагментов кода
Параметры
Замена команды
Условная логика
Перенаправление stdout и stderr
Перехватчики жизненного цикла
Повторяющаяся задача
Автоматическая повторная попытка
- Исполнители для запуска разных типов задач:
Запуск произвольных контейнеров Docker
Выполнение HTTP-запросов
Отправка электронных писем
Запуск команды jq
Выполнение удаленных команд через SSH
- Уведомление по электронной почте
- Планирование с помощью выражений Cron
- Интерфейс REST API
- Базовая аутентификация по HTTPS

https://github.com/dagu-org/dagu

опубликовано в @gitgate

#cron #api #https #jq #ssh #docker #webui #yaml #cli
👍14🔥7
Carbonyl - браузер на базе Chromium, созданный для работы в терминале.

Он поддерживает практически все веб-API, включая WebGL, WebGPU, воспроизведение аудио и видео, анимацию и т. д.

Он быстрый, запускается менее чем за секунду, работает со скоростью 60 кадров в секунду и простаивает при загрузке процессора 0%. Он не требует оконного сервера (т.е. работает в консоли безопасного режима) и даже работает через SSH.

Изначально Carbonyl начинался как html2svg, а теперь является его средой выполнения.

https://github.com/fathyb/carbonyl

Подсказал: Кот ученый - @p1n9v1n

опубликовано в @gitgate

#terminal #tui #api #webgl #webgpu
🔥22👍11
sontr.ee - легкая библиотека JavaScript, которая преобразует данные JSON в красиво отображаемые интерактивные древовидные диаграммы с использованием SVG.

Разработанный для простоты и гибкости, он поддерживает как массивы, так и вложенные объекты, обеспечивая четкую и интуитивно понятную визуализацию сложных структур данных.

Функции:

- автоматически генерирует древовидные диаграммы из данных JSON.
- динамически позиционирует узлы, чтобы избежать перекрытия.
- поддерживает массивы и вложенные объекты с помеченными родительскими узлами.
- интерактивный рендеринг на основе SVG с настраиваемыми стилями.
- легкий и простой в интеграции в любой веб-проект.

Идеально подходит для:

- отладка структур JSON.
- визуализация ответов API.
- представление иерархических данных.

Есть и в виде расширения для VS Code

https://github.com/xzitlou/jsontr.ee

Web: https://jsontr.ee

опубликовано в @gitgate

#json #visual #api #svg
🔥7👍5
grpcui - инструмент командной строки CLI, который позволяет взаимодействовать с серверами gRPC через браузер. Это что-то вроде Postman, но для API-интерфейсов gRPC вместо REST.

В некотором смысле это похоже на расширение grpcurl. В то время как grpcurl представляет собой интерфейс командной строки, grpcui предоставляет графический интерфейс на основе веб-браузера. Это позволяет вам в интерактивном режиме создавать запросы для отправки на сервер gRPC.

С помощью этого инструмента вы также можете просмотреть схему служб gRPC, которая представлена ​​в виде списка доступных конечных точек. Это можно сделать либо путем запроса сервера, либо путем чтения исходных файлов proto, либо путем загрузки скомпилированных файлов protoset (файлов, которые содержат закодированные протофайлы дескрипторов файлов). Фактически, инструмент преобразует данные запроса JSON в двоично закодированный protobuf, используя ту же самую схему. Итак, если сервер, с которым вы взаимодействуете, не поддерживает отражение, вам потребуются либо исходные файлы прототипа, определяющие службу, либо файлы прототипов, которые может использовать grpcui.

https://github.com/fullstorydev/grpcui

Подсказал: Александр - @Darkwhitelol

опубликовано в @gitgate

#grpc #api #rest #cli #web #gui #protobuf
👍9🔥6
PostgREST предоставляет полностью RESTful API из любой существующей базы данных PostgreSQL.

Производительность:

Три фактора способствуют скорости. Сначала сервер пишется на Haskell с использованием HTTP Warp (он же компилируемый язык с облегченными потоками). Затем он делегирует как можно больше вычислений базе данных, включая

- Сериализация ответов JSON непосредственно в SQL
- Проверка данных
- Авторизация
- Комбинированный подсчет строк и поиск
- Сообщение данных одной командой (возврат *)

Наконец, он эффективно использует базу данных с помощью библиотеки Hasql.

- Сохранение пула соединений с БД
- Использование двоичного протокола PostgreSQL
- Отсутствие состояния для обеспечения возможности горизонтального масштабирования.

https://github.com/PostgREST/postgrest

Документация: https://docs.postgrest.org/en/v12/

опубликовано в @gitgate

#postgres #api #restapi
👍6🔥5
sqlite-rest - аналогичен PostgREST, но для SQLite. Это автономный веб-сервер, который добавляет RESTful API в любую базу данных SQLite.

sqlite-rest стремится реализовать тот же API, что и PostgRest. Но на данный момент не все из них реализуются. Ниже приведен список функций, поддерживаемых в sqlite-rest.

Таблицы и представления:
- горизонтальная фильтрация (строки)
- виртуальная фильтрация (столбцы)
- поддержка Юникод
- запросы
- ограничение и нумерация страниц
- точный подсчет

Вставки:
- указание столбцов

Обновления
Upsert
Удаление

https://github.com/b4fun/sqlite-rest

опубликовано в @gitgate

#sqlite #postgrest #api #restapi
👍10🔥8
nerdctl - совместимый с Docker API интерфейс командной строки (CLI) для контейнера

Функции, присутствующие в nerdctl, но отсутствующие в Docker:

- извлечение образов по требованию (lazy pool) с использованием Stargz/Nydus/OverlayBD/SOCI Snapshotter
- шифрование и дешифрование образов с использованием ocicrypt (imgcrypt)
- распространение P2P-образов с использованием IPFS
- интеграция Cosign
- ускоренные контейнеры без root с использованием bypass4netns

https://github.com/containerd/nerdctl

опубликовано в @gitgate

#docker #api #cli
👍13🔥2
GrafanaJsonDatasource - любой JSON API в роли Grafana DataSource

Выполняет запросы произвольных бэкэндов и анализирует ответ JSON в Grafana DataFrames.

Красивый и незатратный метод получить и визуализировать метрики вообще откуда угодно, главное чтобы у приложения или сервиса был Rest API.

https://github.com/simPod/GrafanaJsonDatasource

опубликовано в @gitgate

#moni #grafana #json #api
👍11🔥6
beszel - легковесная платформа мониторинга серверов, которая включает в себя статистику Docker, исторические данные и функции оповещения.

Он имеет дружественный веб -интерфейс, простая конфигурация и готов к использованию из коробки. Он поддерживает автоматическое резервное копирование, многопользовательскую аутентификацию, аутентификацию OAuth и доступ API.

https://github.com/henrygd/beszel

опубликовано в #gitgate

#moni #docker #alert #webui #oauth #api
👍24🔥5
Lume - легковесная CLI утилита и локальный API сервер для создания, запуска и управления виртуальными машинами MacOS и Linux с почти нулевым оверкостом на виртуализацию на Apple Silicon, используя виртуализацию Apple.FrameWork

https://github.com/trycua/lume

опубликовано в @gitgate

#vm #cli #api #virtualisation
🔥10👍7
LocalSend - кроссплатформенное приложение, которое обеспечивает безопасную связь между устройствами с помощью REST API и HTTPS шифрования. В отличие от других приложений для обмена сообщениями, которые полагаются на внешние серверы, LocalSend не требует подключения к Интернету или сторонним серверам, что делает его быстрым и надежным решением для локальной связи.

https://github.com/localsend/localsend

Поделился: Страйфи Ленджок - @strayfi_lendjok

опубликовано в @gitgate

#send #diles #api #https
2🔥15👍6
Useful Tools | Linux | GitOps | DevOps
xan - инструмент командной строки CLI, который можно использовать для обработки CSV файлов непосредственно из bash. Он позволяет легко просматривать, фильтровать, разбивать на части, объединять, сортировать и объединять CSV файлы, а также предоставляет большой…
mikhmonv3 (MikroTik Hotspot Monitor) - веб-приложение (использующее PHP API MikroTik), помогающее управлять точками доступа MikroTik. Особенно MikroTik, который не поддерживает User Manager. Mikhmon не является радиус-сервером, поэтому ему не обязательно быть активным все время, а активировать по мере необходимости или в случае необходимости.

Для работы Mikhmon требуется веб-сервер + PHP, который можно установить на различные операционные системы. Mikhmon может работать на Windows, Linux, Android и OpenWrt.

Минимальные требования:
- Rourer Board MikroTik Level 4.
- Clock speed CPU 650 MHz
- Router OS v6.3x.x - v7.9

https://github.com/laksa19/mikhmonv3

Web: https://laksa19.github.io/?mikhmon/v3

опубликовано в @gitgate

#mikrotik #api #php #moni
🔥12👍7
Useful Tools | Linux | GitOps | DevOps
shell-secrets - небольшой bash скрипт для хранения переменных среды окружения в зашифрованном виде (с помощью GPG) в виде файлов и атоматического дешифрования при использовании. Простой, но полезный скрипт для чтения секретных значений из зашифрованных файлов…
Insomnia - мульти платформенный API-клиент с открытым исходным кодом для GraphQL, REST, WebSockets, Server-sent events (SSE), gRPC и любого другого протокола, совместимого с HTTP.

Возможности:
- отладка API с использованием самых популярных протоколов и форматов.
- разрабатка API-интерфейсов с помощью собственного редактора OpenAPI и визуального предварительного просмотра.
- тестирование API с помощью собственных тестовых наборов и средства запуска коллекций.
- имитация API с помощью облачного или собственного имитационного сервера.
- создание конвейеров CI/CD, используя собственный интерфейс командной строки Insomnia для линтинга и тестирования.
- сотрудничать с другими, используя многочисленные функции совместной работы.
- и многое другое, включая возможность использования сторонних плагинов.

https://github.com/Kong/insomnia

опубликовано в @gitgate

#api #GraphQL #REST #WebSockets #gRPC #HTTP
🔥20👍7
Promxy - прокси-сервер Prometheus, который позволяет нескольким узлам Prometheus выглядеть как одна конечная точка API для пользователя.

Это значительно упрощает операции и использование Prometheus в multinode инсталции (когда у вас более одного хоста Prometheus). Promxy предоставляет эту унифицированную конечную точку доступа, не требуя никаких дополнительных модулей, пользовательских сборок или других изменений в вашей инфраструктуре Prometheus.

Сам Prometheus не предоставляет никакой реальной поддержки HA/кластеризации. Таким образом, лучшей практикой является запуск нескольких (например, N) хостов с одинаковой конфигурацией. Аналогично, у Prometheus нет настоящей встроенной федерации запросов, что означает, что в итоге вы получаете N источников в Grafana, что сбивает с толку пользователей Grafana и не поддерживает агрегацию по всем источникам. Promxy обеспечивает настройку HA Prometheus путем «слияния» данных с дублирующихся хостов (так что если в одном из них есть пробел, Promxy заполнит его другим). Кроме того, Promxy предоставляет единый источник данных для всех запросов Promql — это означает, что у Grafana может быть один источник, а у вас могут быть глобально агрегированные запросы Promql.

https://github.com/jacksontj/promxy

PS. Как решение для миграции тоже годится, подробности в коментах.

опубликовано в @gitgate

#moni #prometheus #grafana #api #ha
🔥16👍14
Telert - крошечная утилита, которая отправляет уведомления, когда ваши команды в терминале или код Python завершаются.

Она поддерживает несколько каналов уведомлений:
- приложения для обмена сообщениями: Telegram, Microsoft Teams, Slack, Discord
- мобильные устройства: push уведомления (Android и iOS)
- локальные уведомленияна рабочем столе, звуковые оповещения
- пользовательские интеграции: HTTP endpoints для любой службы

Идеально подходит для длительных задач, удаленных серверов, конвейеров непрерывной интеграции или мониторинга критически важного кода.

Можно испольщовать как библиотеку python, docker контейнер или через API на своем сервере или в публичном облаке.

https://github.com/navig-me/telert

Опубликовано в @gitgate

#alert #telegram #cli #teams #slack #discord #api #docker #python
👍26🔥8
FFmate - веб фронтенд надстройка над FFmpeg, разработанный не только для упрощения транскодирования, но и для использования в качестве расширяемого движка для пользовательских рабочих процессов с медиа.

Он предоставляет разработчикам инструменты для интеграции мощности FFmpeg в их приложения и сервисы с помощью комплексного REST API, управляемых событиями веб-хуков и скриптовых хуков предварительной и последующей обработки.

Если вы хотите создать собственные конвейеры обработки медиаданных, интегрировать транскодирование в существующие системы или разработать инструменты, использующие FFmpeg, FFmate предоставит вам основу.

Возможности:
- REST API отправка и управление задачами FFmpeg программным способом
- Веб-интерфейс для мониторинга и управления заданиями в режиме реального времени, терминал не требуется
- Watchfolders автоматическая обработка файлов, помещенных в каталог.
- готовый набор предварительно настроенных предустановок транскодирования для распространенных случаев использования.
- WebHooks для получения уведомлений в режиме реального времени о событиях задач
- автоматизация именования файлов и структур папок
- запуск пользовательских скриптов до или после каждой задачи для автоматизации сложных этапов рабочего процесса.
- управление выполнением задач с помощью контроля приоритетов и интеллектуальной обработки параллелизма.

https://github.com/welovemedia/ffmate

опубликовано в @gitgate

#ffmpeg @webui #api
🔥10👍6
Unsend - отправляйте транзакционные, маркетинговые электронные письма, SMS-сообщения и push-уведомления без особых усилий.

Как и большинство продуктов электронной почты, Unsend также использует Amazon SES для отправки писем. Мы предоставляем открытый и альтернативный способ надежной и дешевой отправки писем с помощью отличной панели управления. Вы также можете использовать Unsend для управления контактами и отправки массовых писем (новостная рассылка, обновления продуктов и т. д.).

В настоящее время мы поддерживаем только электронную почту, но планируем расширить возможности и на другие протоколы отправки, такие как SMS, push-уведомления и даже WhatsApp.

Возможности:
- добавление доменов
- транзакционные письма
- Rest API
- панель управления (доставлено, открыто, нажато, возвращено)
- маркетинговые письма
- поддержка SMTP-протокола
- API для управления расписанием

https://github.com/unsend-dev/unsend

Веб: https://unsend.dev/

опубликовано в @gitgate

#mail #smtp #api #webui
👍8🔥4
Pmail - удобный клиент на базе терминала для сервиса Google Gmail

Pmail создан на основе API Gmail с использованием Python, отсюда и название. Pmail должен хорошо интегрироваться с другими утилитами терминала, он использует W3m для разбора писем, Vim (Neovim) для редактирования и составления писем и интегрирует fzf для нечеткого поиска адресов электронной почты и в качестве средства выбора файлов для выбора вложений.

Pmail не ставит своей целью реализовать все функции, доступные через API, текущий набор функций приведен ниже. Конечно, Pmail во многом вдохновлен Mutt, но стремится стать гораздо более простым и удобным клиентом для пользователей Gmail.

Возможности:
- отправка, получение, ответ и пересылка электронных писем.
- интерфейс управлением с клавиатуры и привязками к vimish.
- легкий.
- просмотр писем с помощью W3m.
- создание электронных писем с помощью Vim.
- нечеткий поиск по контактам с помощью fzf, нет необходимости в адресной книге.
- сортировка сообщений в соответствии с системой ярлыков Gmail.
- легкое управление метками (отметить как прочитанное, переместить в корзину и т. д.)
- отдельные клиентские и серверные программы.

https://github.com/lt20kmph/pmail

опубликовано в @gitgate

#gmail #mua #fzf #w3m #tui #api #python
👍8🔥3