💾 Archived View for betahowto.duckdns.org › gemini_protocol:gmid captured on 2024-03-21 at 15:13:42. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Gmid

Многофункциональный сервер для протокола Gemini ( gemini://betahowto.duckdns.org/gemini_protocol ), с поддержкой виртуальных хостов и реверсивного проксирования.

Установка

Кроме типичных пакетов для сборки программ с 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

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

netstat -tulpn | grep LISTEN

Ссылки

Домашняя страница ( https://gmid.omarpolo.com/ )

Материалы

gemini://betahowto.duckdns.org/gemini_protocol

https://github.com/omar-polo/gmid.git

https://gmid.omarpolo.com/

Навигация

Поиск

Главная страница

Редактировать

Проект β-Doku

Алиас

[0200::/7]

Alfis / Yggdrasil