# Полезные программы на Go | Max Wiki Site
Различные программы, написанные на Go. Разное Консольные приложения Работа с файлами Хранение и версионирование кода Нагрузочное тестирование WEB Рисование графиков Обработка и трансформация данных Сеть Мониторинг Служебные Работа с графикой Работа с JSON Работа с картами, координатами и т.д. Общение Соцсети, fediverse Безопасность Базы данных и прочее Разное Простой Web Framework Echo Лёгкая wiki. Ketchup CMS, github. matterbridge. Мост для объединения различных средств общения (slack, tegeram, mattermost и т.д.). Hermes - сервер для обмена файлами. Croc - клиент-сервер для посылки файлов. [cut: 2273 characters, first 597 kept]

# Полезные программы на Go

Различные программы, написанные на Go.

## Разное

- Простой Web Framework Echo
- Лёгкая wiki
  .
- Ketchup CMS
  , github
  .
- matterbridge
  . Мост для объединения различных средств общения (slack, tegeram, mattermost и т.д.).
- Hermes
  - сервер для обмена файлами.
- Croc
  - клиент-сервер для посылки файлов.
- Go из Shell neugram
  .
- Различные утилиты для проверки сетей (сканеры, парсеры сертификатов и т.д.) Zmap
  Github
- Вывод дерева зависимостей depth
  . Блог
  .
  - В графическом виде go-callvis
    .
- qrcp
  - передача файлов с компа на мобилку, например, по QRCode.
- mage
  - замена make на Go. Исходники на GitHub
  .

## Консольные приложения

- wego
  - показ погоды в консоли.

## Работа с файлами

- godu
  - позволяет быстро просматривать каталоги с большим количеством файлов.
- lf
  - консольный менеджер файлов на Go.
- wzd
  - веб-сервер для работы с огромным количеством файлов.
- duf
  - отображение информации про диски. Работает только под Unix.
- fsql
  - поиск файлов в виде SQL.

## Хранение и версионирование кода

- Система хранения и версионирования кода - Gogs
  . Github
  .
- Gitea
  - склонированная и расширенная версия Gogs. Разворачивается локально. Исходники на GitHub
  .
- Lazygit (https://github.com/jesseduffield/lazygit)
  . Консольный клиент для работы с git.
- Gitness
  - opensource проект. Разворачивается локально. GitHub
  .

## Нагрузочное тестирование

- K6
  . Документация
  .
- vegeta (https://github.com/tsenart/vegeta)
  - подключается, либо как библиотека, либо используется из командной строки.

## WEB

- Caddy
  - лёгкий и быстрый http-сервер как Nginx или Apache. Документация
  . Исходники на github
  .
- FRP
  - reverse-proxy.
- Casbin forum
  - реализация форума на Go и ReactJS.
- sftpgo
  - сервер, поддерживающий различные протоколы: SFTP, HTTP, FTP/S and WebDAV. И также различные системы хранения: local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage.

## Рисование графиков

Chart
- рисует график на основании данных из стандартного потока ввода. Примеры отображения
. Статья об использовании
.

## Обработка и трансформация данных

- Benthos (https://github.com/Jeffail/benthos)
  . Документация
  . GoDoc
  .
- Watermill
  - получение/отправка собщений из/в различные источники данных и их обработка. Документация
  . Github
  .
- NATS
  - полноценный сервер для обмена сообщениями. Документация
  . GitHub
  .

## Сеть

- Termshark
  - анализатор дампов как WireShark только в консоли.
- sftpgo
  - полноценный sftp сервер.
- Ethr
  - измерение пропускной способности сети.
- sx
  - анализатор открытых портов по типу nmap. Собирать, правда надо самому. Есть зависимость на libpcap
  .

## Мониторинг

- Sampler
  . Статья
  на хабре. Github
  .
- gops
  - позволяет выводить диагностическую информацию в консоль о запущеных GO приложениях. Для полноценной работы используется в качестве библиотеки. Но может показывать информацию о занимаемой памяти, использования процессора и другое даже без внедрения.
- devdash
  - позволяет мониторить разные системы и отображать в терминале. Исходники на GitHub
  .
- SigNoz
  - какой-то ещё один офигенный мониторинг. Сайт
  .

## Служебные

- certigo
  - просмотр сертификатов из командной строки.
- duf
  - утилита для просмотра занятости дисков. Типа юниксовой {{df}}, только посимпатичнее и кроссплатформенная.

## Работа с графикой

- Gosaic
  - создание мозаичного панно из фотографий.

## Работа с JSON

- Gron (https://github.com/tomnomnom/gron)
  - парсит JSON и выводит пути элементов. Возможна и обратная операция.

## Работа с картами, координатами и т.д.

- tile38 (https://github.com/tidwall/tile38)
  - позволяет в реальном времени, вроде как, строить маршруты, отслеживать пересечения с областями и кучу чего ещё. Официальный сайт
  .

## Общение

- ion
  - распределённая система общения. Документация
  .

## Соцсети, fediverse

- GoToSocial
  - реализация сервера ActivityPub. Поддерживает mastodon. Официальная документация
  .

## Безопасность

- gitleaks (https://github.com/zricethezav/gitleaks)
  - сканирует репозитории кода на всякие утечки типа паролей.

## Базы данных и прочее

- CocroachDB
  . Высоконадёжная база данных.
- Распределённое хранилище файлов (Роб Пайк)
  . GitHub
  .
- Minio Cloud Storage
  хранилище файлов. github
  . Документация
  .
- Godown(https://github.com/namreg/godown)
  - распределённое хранилище данных, типа Redis и Hazelcast. GoDoc
  . Может использоваться как отдельное приложения, так и из кода на Go.
- rqlite
  - распределённая база данных на Go. Под капотом sqllite. GoDoc
  .
- immudb
  - база данных на основе Block-chain. Обеспечивает целостность данных. Можно использовать как библиотеку в программах на Go. Документация
  . GitHub
  .
- usql
  - утилита для работы с разными БД. GoDoc
  .
- Vault
  - хранение паролей и прочей чувствительной информации. GitHub
  .
- Dolt
  - база данных с версионированием. Наподобие git.