インストール
このコミットが含まれているのは:
コミット
b5ae88c523
93
README.md
93
README.md
|
@ -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"
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
読み込み中…
新しいイシューから参照