2024-02-10 12:53:55 +00:00

96 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====== Gmid ======
Многофункциональный сервер для протокола [[:gemini_protocol|Gemini]], с поддержкой виртуальных хостов и реверсивного проксирования.
===== Установка =====
Кроме типичных пакетов для сборки программ с make, потребуется также:
<code>
apt install bison byacc
</code>
Как и в большинстве случаев, удобным будет создать отдельного пользователя:
<code>
useradd -m gmid
</code>
Логинимся и забираем последнюю версию из репозитория (есть зеркало на GitHub) и осуществляем сборку командами:
<code>
git clone https://github.com/omar-polo/gmid.git
cd gmid
./configure
make
</code>
===== Проксирование =====
Для сертификатов виртуальных хостов можно создать отдельные директории, там же можно расположить конфигурации.
Можно создать общий файл конфигурации для запуска в рамках одного юнита / процесса.
Пример проксирования общего IPv4 Clearnet на два IPv6 Yggdrasil:
<file - /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
}
}
</file>
Юнит в этом случае будет таким:
<file - /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
</file>
* -f указывает на "foreground", иначе процесс будет стартовать в фоновом режиме
* -v verbose, отладка
Проверить работу сервера можно выполнив от пользователя gmid:
<code>netstat -tulpn | grep LISTEN</code>
===== Ссылки =====
[[https://gmid.omarpolo.com/|Домашняя страница]]