インストール

このコミットが含まれているのは:
守矢諏訪子 2023-02-07 01:42:43 +09:00
コミット b5ae88c523
7個のファイルの変更151行の追加90行の削除

ファイルの表示

@ -1,99 +1,12 @@
# URLロリ
クッソ小さいURL短縮作成ソフトだわ〜♡
## 使い方
## インストールする方法
```sh
cp links.sample.json links.json
mkdir /etc/urloli
mv links.json /etc/urloli
useradd -m -s /usr/local/bin/zsh urloli
su -l urloli
git clone https://gitler.moe/TechnicalSuwako/urlo.li.git && cd urlo.li
go build
exit
mv /home/urloli/urlo.li/urloli /usr/local/bin
chown -R urloli:urloli /usr/local/bin/urloli
chown -R urloli:urloli /etc/urloli
rcctl start urloli
chmod +x install.sh && ./install.sh
```
### nginxコンフィグ(Linux、FreeBSD)
```
server {
server_name urlo.li www.urlo.li;
access_log off;
error_log off;
if ($host = www.urlo.li) {
return 301 https://urlo.li$request_uri;
}
location / {
proxy_pass http://localhost:9910;
}
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/urlo.li/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/urlo.li/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf
}
server {
if ($host = urlo.li) {
return 301 https://urlo.li$request_uri;
}
if ($host = www.urlo.li) {
return 301 https://urlo.li$request_uri;
}
listen 80;
listen [::]:80;
server_name urlo.li www.urlo.li;
return 404;
}
```
### OpenHTTPdコンフィグ(OpenBSD)
```
server "urlo.li" {
listen on $ext_addr port 80
block return 301 "https://$SERVER_NAME$REQUEST_URI"
}
server "urlo.li" {
listen on $ext_addr tls port 443
tls {
certificate "/etc/letsencrypt/live/urlo.li/fullchain.pem"
key "/etc/letsencrypt/live/urlo.li/privkey.pem"
}
connection { max requests 500, timeout 3600 }
location "/*" {
fastcgi socket tcp 127.0.0.1 9910
}
}
```
### OpenBSDのrc
```
#!/bin/ksh
#
# $OpenBSD: urloli.rc,v 1.4 2018/01/11 19:27:11 rpe Exp $
name="urloli"
daemon="/usr/local/bin/${name}"
daemon_user="${name}"
. /etc/rc.d/rc.subr
rc_cmd $1
```
### links.jsonファイルの中に
## links.jsonファイルの中に
```
{
"hogehoge": "https://076.moe"

38
install.sh ノーマルファイル
ファイルの表示

@ -0,0 +1,38 @@
#!/bin/sh
su
mkdir /etc/urloli
cp links.sample.json /etc/urloli/links.json
go build
mv /home/urloli/urlo.li/urloli /usr/local/bin
chown -R urloli:urloli /usr/local/bin/urloli
chown -R urloli:urloli /etc/urloli
unamestr=$(uname)
if [ "$unamestr" = 'Linux' ]; then
platform=$(cat /etc/os-release | grep "^ID=")
if [ "$platform" = 'ID=debian' -o "$platform" = "ID=devuan" -o "$platform" = "ID=ubuntu" ]; then
apt update && apt install certbot
elif [ "$platform" = "ID=arch" -o "$platform" = "ID=artix" ]; then
pacman -S certbot
elif [ "$platform" = "ID=centos" -o "$platform" = "ID=rhel" ]; then
dnf install certbot
fi
certbot certonly --webroot urlo.li www.urlo.li
cp srv/linux/etc/nginx/sites-enabled/urloli.conf /etc/nginx/sites-enabled
cp srv/linux/etc/init.d/urloli /etc/init.d
chmod +x /etc/init.d/urloli
/etc/init.d/urloli start
elif [ "$unamestr" = 'OpenBSD' ]; then
pkg_add certbot
cat /etc/acme-client.conf src/openbsd/etc/acme-client.conf > /etc/acme-client.conf
cat /etc/httpd.conf srv/openbsd/etc/httpd.conf > /etc/httpd.conf
cp srv/openbsd/etc/rc.d/urloli /etc/rc.d
chmod +x /etc/rc.d/urloli
rcctl start urloli
fi
exit

42
srv/linux/etc/init.d/urloli ノーマルファイル
ファイルの表示

@ -0,0 +1,42 @@
#!/bin/sh
#
# chkconfig: 35 90 12
# description: URL Loli server
#
NAME=urloli
DESC=urloli
DAEMON=/usr/local/bin/$NAME
start () {
echo "URLロリサーバーの開始:\n"
sudo -u urloli /usr/local/bin/urloli &>/dev/null &
echo
}
stop () {
echo "URLロリサーバーの終了: \n"
pkill urloli
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
restart|reload|condrestart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0

35
srv/linux/etc/nginx/sites-enabled/urloli.conf ノーマルファイル
ファイルの表示

@ -0,0 +1,35 @@
server {
server_name urlo.li www.urlo.li;
access_log off;
error_log off;
if ($host = www.urlo.li) {
return 301 https://urlo.li$request_uri;
}
location / {
proxy_pass http://localhost:9910;
}
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/urlo.li/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/urlo.li/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf
}
server {
if ($host = urlo.li) {
return 301 https://urlo.li$request_uri;
}
if ($host = www.urlo.li) {
return 301 https://urlo.li$request_uri;
}
listen 80;
listen [::]:80;
server_name urlo.li www.urlo.li;
return 404;
}

7
srv/openbsd/etc/acme-client.conf ノーマルファイル
ファイルの表示

@ -0,0 +1,7 @@
domain urlo.li {
alernative names { www.urlo.li }
domain key "/etc/ssl/private/urlo.li.key"
domain full chain certificate "/etc/ssl/urlo.li.fullchain.pem"
sign with letsencrypt
}

16
srv/openbsd/etc/httpd.conf ノーマルファイル
ファイルの表示

@ -0,0 +1,16 @@
server "urlo.li" {
listen on $ext_addr port 80
block return 301 "https://$SERVER_NAME$REQUEST_URI"
}
server "urlo.li" {
listen on $ext_addr tls port 443
tls {
certificate "/etc/letsencrypt/live/urlo.li/fullchain.pem"
key "/etc/letsencrypt/live/urlo.li/privkey.pem"
}
connection { max requests 500, timeout 3600 }
location "/*" {
fastcgi socket tcp 127.0.0.1 9910
}
}

10
srv/openbsd/etc/rc.d/urloli ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
#!/bin/ksh
#
# $OpenBSD: urloli.rc,v 1.4 2018/01/11 19:27:11 rpe Exp $
name="urloli"
daemon="/usr/local/bin/${name}"
. /etc/rc.d/rc.subr
rc_cmd $1