go-gitverse

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2025 License: MIT Imports: 16 Imported by: 0

README

go-gitverse

go-gitverse — это небольшой веб-сервер, упрощающий использование Go-модулей, опубликованных в Gitverse.

На текущий момент Gitverse не реализует go-probe протокол, который Go использует для автоматического определения типа VCS и URL репозитория. Чтобы сделать работу с модулями удобнее и избежать необходимости проходить полный процесс публикации пакетов, описанный в документации Gitverse, был создан этот сервис. Он уже задеплоен по адресу: https://go-gitverse.ru.

Использование

Чтобы подключить модуль из Gitverse через этот сервис, в имени модуля вместо gitverse.ru нужно указать go-gitverse.ru.

Например, в go.mod для собственного модуля:

module go-gitverse.ru/eduskaliev/go-gitverse

А при подключении его в другом проекте:

require go-gitverse.ru/eduskaliev/go-gitverse v0.1.0

Сервис автоматически перенаправит запрос Go-инструментов на соответствующий репозиторий в Gitverse.

Запуск

Доступен готовый Docker-образ (linux/amd64):

docker pull gitverse.ru/eduskaliev/go-gitverse:latest

Параметры запуска:

Usage:
  go-gitverse [OPTIONS]

Application Options:
      --addr=  address to listen on (default: :8080) [$ADDR]
      --host=  host that serves this proxy, e.g example.com, defaults to the request's Host header [$HOST]
      --to=    replacement for the import path, e.g https://example.com/ [$TO]
      --debug  enable debug mode [$DEBUG]

Help Options:
  -h, --help  Show this help message

В продакшн-версии сервис запущен с настройками:

ADDR=:8080
HOST=go-gitverse.ru
TO=https://gitverse.ru
DEBUG=false

Перед ним установлен reverse-proxy с TLS-терминацией на базе Let's Encrypt.

Примечания

  • Сервис не логирует входящие запросы и не сохраняет какую-либо информацию о них.
  • Ответственность за содержимое модулей лежит на их авторах. Сервис не проверяет их на безопасность.
  • Публикация модуля в gitverse вышеуказанным способом также позволяет pkg.go.dev индексировать модуль в случае, если он публичный, пример: https://pkg.go.dev/go-gitverse.ru/eduskaliev/go-gitverse.

Documentation

Overview

Package main implements a simple Go package proxy server that redirects requests to the Go package documentation based on a specified import path pattern.

Source Files

  • main.go
  • server.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
⌂ 换网址