We build fast, honest Go tools in the open: networking, storage, runtimes and developer tooling. Your next commit belongs here.

- Repositories
- 107
- GitHub stars
- 713
- Articles
- 47
- Languages
- 23
Join in three steps
No sign-up. Everything happens on GitHub.
Pick a project
Find a repository that matches what you love to build, from relays to databases.
GoOpen an issue or PR
Report a bug, propose an idea or send a fix. Small pull requests are welcome.
GoWrite for the blog
Share what you learned. Every post is translated into 20+ languages automatically.
GoProjects looking for you
Our most starred repositories. Pick one and say hi.
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Independent bitcoin full node in Rust
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Human and machine friendly speedy open source coding harness. Our defaults. Your agent. dal is a minimal, pluggable coding agent; dalgona adds opinionated batteries. Make either yours with Starlark plugins, written by you or your agent.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Научите вашу программу на Go говорить так же, как Chrome
Как chromenet позволяет стандартным HTTP-клиентам Go обращаться к вебу через реальный сетевой движок Chromium без использования cgo или C-компилятора.

Запуск Docker, docker build и docker compose без прав root и пользовательских пространств имён
Как безопасно запустить полноценный Docker Engine (dockerd, BuildKit, overlayfs и docker compose) внутри изолированной пользовательской песочницы gVisor от имени непривилегированного пользователя, когда root, sudo, unshare(CLONE_NEWUSER), mount(2) и /dev/fuse заблокированы.

gvx: запуск Linux-контейнеров, Docker и Kubernetes в одном непривилегированном процессе
Техническийобзор gvx, безопасной для работы с повышенной защитой кроссплатформенной среды выполнения контейнеров и SDK на Go, построенной на пользовательском ядре gVisor, которая безопасно запускает контейнеры Linux, Docker-in-Docker и многоузловые отказоустойчивые кластеры Kubernetes в едином непривилегированном процессе в Windows, macOS и Linux.

Быстрые изолированные среды Docker для проходов RL-агентов ИИ с gvx
Как безопасно запускать сотни параллельных, строго изолированных непривилегированных сред Docker и Kubernetes для SWE-bench и для запусков (rollouts) обучения с подкреплением программных агентов с возвратом томов ext4lite к исходному состоянию за 100 миллисекунд по принципу копирования при записи.

Запуск Docker-in-Docker внутри gVisor и вложенных песочниц с gvx
Почему установка docker.io или вложенный запуск runsc внутри контейнера gVisor завершается ошибками, связанными с modprobe, iptables-nft, overlay2, cgroups и EBUSY в seccomp, и как gvx безопасно запускает вложенный docker:dind внутри изолированного пользовательского ядра без --privileged.

Переосмысление монорепозитория Git: CAS-ориентированная архитектура для людей и программных агентов
Как построить монорепозиторий без демонов, нативно работающий с CAS, на стандартном Git с использованием транка из снимков без родительских коммитов, изолированных ссылок на рабочие пространства, деревьев слияния в памяти, иерархических файлов OWNERS и синхронизации зеркал за O(delta).

gosuda.org/zstd: Совместимая замена DataDog/zstd с сжатием без CGO и изоляцией сбоев
CGO_ENABLED=0 Go-библиотека Zstandard, которая запускает вышестоящую C-библиотеку libzstd 1.5.7 в рабочем процессе с общей памятью, с API, совместимым с DataDog/zstd, повторно используемыми контекстами и пакетной обработкой данных.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql Driver поверх Shared-Memory IPC
Драйвер SQLite 3.54.1 для Go, совместимый с database/sql, с CGO_ENABLED=0, изоляцией рабочих процессов через разделяемую память HQQ, предварительной выборкой строк пакетами по 64 КиБ и бинарными файлами с аттестацией SLSA.

HQQ: изоляция библиотек на C от Go посредством разделяемой памяти на уровне строк кэша
Среда выполнения IPC без cgo, компилятор IDL (hqq-bindgen) и верифицированный супервизор процессов, которые выполняют нативные библиотеки C11 в изолированных рабочих процессах через кольцевые буферы в разделяемой памяти.

Schottky: кодирование байтовых ключей для Go без аллокаций с сохранением порядка
Библиотека Go без аллокаций, которая кодирует составные кортежи в байтовые ключи, упорядочиваемые по memcmp, с независимой сортировкой ASC/DESC, метками размещения NULL и границами префиксного сканирования.

Portalite: легковесный Go SDK для Portal с привязкой к нескольким ретрансляторам и поддержкой стандартного net.Listener
Облегчённый клиент и CLI для Portal, совместимый с стандартным интерфейсом net.Listener из Go, поддерживающий одновременную привязку к нескольким ретрансляторам, сквозное шифрование (E2EE) и автоматическое восстановление сеанса.

Go 1.27, или Как я научился не волноваться и полюбить обобщённые методы
Обобщённые методы, encoding/json/v2, стандартный пакет uuid и детектор утечек горутин, который действительно работает. Обзор Go 1.27 с примерами, все из которых были фактически запущены.

Анализ структуры времени выполнения управляемых языков и ассемблерного кода AMD64 в бинарных файлах Go
Сравнивается модель выполнения управляемых (managed) и неуправляемых (unmanaged) языков, а также с помощью AMD64-ассемблера, извлечённого командой go tool objdump, анализируются проверка стека и структура вызовов функций среды выполнения в бинарных файлах Go.

Генерация AMD64-ассемблерного кода для условного оператора (if) в Go и анализ команд ветвления
Сравнивается процесс, в ходе которого компилятор Go преобразует условный оператор if-else в инструкции условного перехода машинного кода AMD64, такие как CMPQ, JGE и JMP, а также результаты генерации кода ветвлений компилятором C (-O2).

Нативная для ИИ методология разработки: двунаправленная циркуляция контекста, выходящая за рамки использования инструментов
Сопоставляются структурные ограничения режима зависимости от ИИ и этапа простого использования ИИ как инструмента, а также определяется AI-нативный процесс разработки, в котором проектное намерение и организационный контекст накапливаются в двустороннем режиме.

Portal Tunnel: открытие локальных сервисов через децентрализованные публичные ретрансляторы
Открывайте локальные HTTP-сервисы для публичного доступа в интернет одной командой curl через многоретрансляционные туннели Portal без учетных записей и установки двоичных файлов.

Предел пропускной способности канала Шеннона и структура семантической связи (Semantic Communication) на основе ИИ
Рассмотрим физические пределы пропускной способности канала, установленные теоремой Шеннона–Хартли, и обсудим семантическую коммуникацию, в которой данные сжимаются не в битовых единицах, а в единицах смысла с помощью общей базы знаний и семантических кодера и декодера.

Portal: открытый ретрансляционный сервис со сквозным шифрованием, передающий локальные сервисы во внешнюю сеть
В этом документе описывается архитектура Portal, которая позволяет открыть локальный сервер во внешнем интернете без статического публичного IP-адреса и настройки облачной инфраструктуры, используя открытую сеть ретрансляции с сквозным шифрованием (E2EE).

Прямые системные вызовы Linux на чистом Go с помощью syscall.Syscall и unsafe.Pointer
Вызов системных вызовов ядра Linux, таких как SYS_SYSINFO, напрямую из чистого Go с использованием структур, выровненных по ABI, unsafe.Pointer и стандартного пакета syscall без cgo.

Any не есть Any, но Any есть Any
Выполняется подробный анализ типа `any` языка Go и его внутренней структуры `EFace`, а также описываются способы динамической обработки типов с использованием пакета `reflect` и утверждений о типе и switch по типу.

Структура реализации FIPS 140-2 и FIPS 140-3 в стандартной криптографической библиотеке Go
Анализируются ограничения интеграции с внешним провайдером C OpenSSL и рассматриваются: BoringCrypto (FIPS 140-2), режим FIPS 140-3 в нативном стандартном пакете crypto языка Go, проверка Fail-Fast, Hedged ECDSA и структура DRBG.

Яркое растровое изображение
От концепции битмап-индексов в базах данных до принципов работы Roaring Bitmap и практического применения на языке Go. Рассматриваются методы оптимизации битовых карт для эффективной обработки больших наборов данных.

Политика и компьютеры
Политика и информатика, две на первый взгляд различные, но в чём-то схожие области, рассматриваются здесь с точки зрения того, как они совместно способствуют решению общественных проблем и как разработчик может становиться новым законодателем.

Принцип работы горутин (Goroutine) в Go: переменный стек размером 2 КБ и планировщик GMP с моделью M:N
Рассматриваются различия между конкурентностью и параллелизмом, начиная с 2 КБ начального растущего стека горутин, переключения контекста на уровне пользователя, GOMAXPROCS и модели планирования выполнения в рантайме GMP (Goroutine-Machine-Processor).

Серверные системы управления базами данных и встраиваемые базы данных: сравнение архитектуры и характеристик ввода-вывода
Сравниваются独立 процессные RDBMS и встраиваемые (in-process) базы данных, такие как SQLite, RocksDB, BadgerDB и PebbleDB, с точки зрения задержки I/O на NVMe SSD, изоляции данных в MSA и структуры развертывания.

Структура конфигурации встроенного сервера NATS в приложении на Go и механизм межпроцессного взаимодействия в пределах одного процесса
В данном материале рассматриваются способ конфигурации и запуска брокера NATS (nats-server/v2), встроенного в процесс Go, а также проектирование внутриprocessной коммуникации в памяти на основе InProcessConn и интерфейса, определяемого потребителем.

Интерфейсы Go и встраивание структур: различия с наследованием классов и проектирование на основе композиции
Сравнивается различие между наследованием классов в Java/C++ и структурной типизацией интерфейсов в Go, а также с помощью примеров кода поясняется паттерн композиции (Composition) с использованием встраивания структур и делегирования методов.

5 проектных особенностей языка Go с точки зрения системного и backend-инжиниринга
Быстрая нативная компиляция и производительность выполнения, стандартная библиотека, работающая без фреймворков (net/http, database/sql), планировщик горутин M:N и гарантии обратной совместимости: на этих аспектах сосредоточено изложение философии проектирования Go.

Возможность выпить чашку зелёного чая, которую у нас отнимет среда выполнения Go: GreenTea GC
Новый сборщик мусора GreenTea в Go повышает производительность за счет повышения эффективности сборки мусора для мелких объектов на основе областей памяти (memory spans). Рассматриваются проблемы существующего сборщика мусора и преимущества GreenTea GC.

Сокращение задержки ответа при загрузке файлов по HTTP в Go: реализация асинхронной очереди воркеров на основе каналов
Данная структура разделяет в обработчике загрузки файлов net/http приём временного файла и передачу в контейнер Incus на буферизованный канал и пул рабочих горутин, что позволяет сократить задержку ответа конечной точки.

Анализ изменений в поведении encoding/json/v2 в Go 1.25 и слоя совместимости с v1
Сравниваются сопоставление с учётом регистра, изменение семантики omitempty и omitzero, сериализация nil-срезов и nil-отображений, а также параметры encoding/json/v2, введённого как экспериментальная функция Go 1.25 (goexperiment.jsonv2).

Внедрение переменных на этапе компиляции в Go: использование go build -ldflags -X
Рассматривается способ внедрения значений строковых переменных Go на этапе компиляции без использования внешнего файла .env, с помощью флага компоновщика go build -ldflags "-X" и указания пути к символу пакета.

Более удобная обработка HTTP-ошибок + RFC7807
Надоело возиться с обработкой ошибок в Go API? Попробуйте RFC 7807: это более простой и понятный способ.

Сравнение языковых дизайнов в среде генерации кода с помощью LLM: стоимость абстракции и явность Go
Анализируются причины, по которым объектно-ориентированный полиморфизм, синтаксический сахар и сложные деревья модулей повышают стоимость вывода контекста для LLM, а также рассматривается, почему Go с его явным потоком управления и простым синтаксисом более удобен для генерации кода с помощью ИИ.

Cilium: история о том, как небольшое изменение кода привело к значительному повышению стабильности сети
Подробно рассматривается, каким образом небольшое изменение кода в проекте Cilium существенно повысило надежность управления NAT-соединениями на основе LRU.

Немного о понимании MCP host
Статья призвана способствовать пониманию протокола MCP от Anthropic и MCP-хоста (mcphost), реализованного на Go.

Запуск масштабируемого Go-сервера в .NET Aspire
Как масштабируемо запускать Go-серверы с помощью .NET Aspire: пример горизонтального масштабирования и автоматизированной конфигурации с обратным прокси-сервером YARP.

Опыт использования MLDSA и MLKEM в языке Go
В этом материале рассматривается использование постквантовых криптографических алгоритмов MLDSA и MLKEM в языке Go, описываются особенности каждого алгоритма и приводятся примеры кода.

Обзор релиза Go 1.24: таблицы Swiss Table для отображений, ML-KEM, os.Root и testing/synctest
Технический обзор Go 1.24: встроенные map на основе Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root и testing/synctest.

Randflake ID: распределённая генерация 64-битных уникальных идентификаторов с помощью блочного шифра Sparx64
Распределённый генератор уникальных 64-битных идентификаторов, объединяющий 30-битную метку времени, 17-битный идентификатор узла, 17-битный локальный счётчик и блочный шифр Sparx64 ARX для получения непредсказуемых идентификаторов.

Повышение отзывчивости с помощью клиентского кэша Redis
Повышение отзывчивости API с использованием клиентского кэша с поддержкой сервера Redis

Реализация просмотрщика изображений на основе многофайлового списка (listbox) с использованием Go и Tcl/Tk 9.0
Для реализации графического просмотрщика изображений, поддерживающего открытие нескольких файлов изображений, переключение выбора и удаление элементов списка, в modernc.org/tk9.0 добавляются привязки команд Tcl listbox и обработчики виртуальных событий.

Реализация GUI на Go Tcl/Tk (modernc.org/tk9.0) без CGo: упаковка виджетов и рендеринг изображений
Реализация создания окон, упаковки виджетов кнопок и строки меню, а также рендеринга изображений SVG/PNG/ICO на Go с использованием кроссплатформенной библиотеки modernc.org/tk9.0, не имеющей зависимостей от CGo.

Go и экосистема OpenAPI
Представляем библиотеки и стратегии, которые можно использовать при разработке API на основе OpenAPI на языке Go.

Стартовый набор по конкурентности в Go
Представляем различные инструменты и методы управления конкурентностью в Go, включая горутины, каналы, мьютексы и другие.

Причины, по которым Go выбрал явный возврат ошибок и механизм panic-recover вместо генерации исключений try-catch
Рассматриваются ограничения конструкции try-catch, которая переносит ответственность за обработку исключений вдоль стека вызовов, и описывается подход Go к panic-recover, применяемый исключительно к неустранимым состояниям, в сочетании с явной обработкой error в точках вызова.

Построение инфраструктуры AI-сервисов на Go: конкурентность и интеграция API
Как Go обеспечивает оркестрацию API базовых моделей, параллельный сетевой ввод-вывод, потоковые конвейеры и развёртывание сервисов в облачной среде.