[[Gmid]]
 

Gmid

Многофункциональный сервер для протокола Gemini, с поддержкой виртуальных хостов и реверсивного проксирования.

Установка

Кроме типичных пакетов для сборки программ с make, потребуется также:

apt install bison byacc

Как и в большинстве случаев, удобным будет создать отдельного пользователя:

useradd -m gmid

Логинимся и забираем последнюю версию из репозитория (есть зеркало на GitHub) и осуществляем сборку командами:

git clone https://github.com/omar-polo/gmid.git
cd gmid
./configure
make

Проксирование

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

Можно создать общий файл конфигурации для запуска в рамках одного юнита / процесса.

Пример проксирования общего IPv4 Clearnet на два IPv6 Yggdrasil:

/home/gmid/gmid.conf
server "betahowto.duckdns.org" {

	listen on 94.140.114.89 port 1965
	
	cert "/home/gmid/host/betahowto.duckdns.org/cert.pem"
	key "/home/gmid/host/betahowto.duckdns.org/key.rsa"

	proxy {
		sni "betahowto.duckdns.org"
		relay-to 301:5eb5:f061:678e::b port 1965
		verifyname off
	}
}

server "kevachat.duckdns.org" {

	listen on 94.140.114.89 port 1965
	
	cert "/home/gmid/host/kevachat.duckdns.org/cert.pem"
	key "/home/gmid/host/kevachat.duckdns.org/key.rsa"

	proxy {
		sni "kevachat.duckdns.org"
		relay-to 201:23b4:991a:634d:8359:4521:5576:15b7 port 1965
		verifyname off
	}
}

Юнит в этом случае будет таким:

/etc/systemd/system/gmid.service
[Unit]
Description=gmid
After=network.target

[Service]
Type=simple
User=gmid
Group=gmid
WorkingDirectory=/home/gmid/
ExecStart=/home/gmid/gmid/gmid -c /home/gmid/gmid.conf -f -v
StandardOutput=file:/home/gmid/output.log
StandardError=file:/home/gmid/debug.log
Restart=on-failure

[Install]
WantedBy=multi-user.target
  • -f указывает на «foreground», иначе процесс будет стартовать в фоновом режиме
  • -v verbose, отладка

Проверить работу сервера можно выполнив от пользователя gmid:

netstat -tulpn | grep LISTEN

Ссылки

Только авторизованные участники могут оставлять комментарии.
gemini_protocol/gmid.txt · Последнее изменение: 2024/02/07 22:31 — d4708
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki