urloli/main.go

65 行
1.6 KiB
Go
Raw 通常表示 履歴

2023-02-06 13:36:13 +09:00
package main
import (
"fmt"
"os"
2023-05-10 15:29:26 +09:00
"strconv"
2023-02-20 12:19:31 +09:00
)
var version = "2.2.0"
2023-02-28 15:25:09 +09:00
2023-05-10 15:29:26 +09:00
func help () {
2023-11-30 10:03:45 +09:00
fmt.Println(" URLロリ - クッソ小さいURL短縮作成ソフトだわ〜♡")
fmt.Println("https://urlo.li/ | https://gitler.moe/suwako/urloli")
fmt.Println("")
2023-05-10 15:29:26 +09:00
fmt.Println("使い方:");
fmt.Println("urloli -v :バージョンを表示");
fmt.Println("urloli -s [ポート番号] ポート番号でウェブサーバーを実行(デフォルト9910)");
fmt.Println("urloli -h :ヘルプを表示");
2023-05-12 00:17:03 +09:00
fmt.Println("urloli <URL> コマンドラインでURLを短縮");
2023-04-05 22:19:44 +09:00
}
2023-02-06 13:36:13 +09:00
func main () {
2023-05-10 15:29:26 +09:00
cnf, err := getconf()
if err != nil {
fmt.Println(err)
return
2023-02-20 12:19:31 +09:00
}
2023-05-10 15:29:26 +09:00
args := os.Args
2023-02-20 12:19:31 +09:00
2023-05-10 15:29:26 +09:00
if len(args) == 2 {
if args[1] == "-v" {
fmt.Println("urloli-" + version)
return
} else if args[1] == "-s" {
serv(cnf, 9910)
} else if args[1] == "-h" {
help()
2023-02-07 00:42:11 +09:00
return
2023-02-06 13:36:13 +09:00
} else {
2023-05-10 15:29:26 +09:00
if checkprefix(args[1]) {
_, key := geturl(args[1], cnf.linkpath, true)
if (key != "") {
fmt.Println(cnf.domain + "/" + key)
2023-02-06 13:36:13 +09:00
} else {
2023-05-10 15:29:26 +09:00
fmt.Println(cnf.domain + "/" + insertjson(args[1], cnf.linkpath))
2023-02-06 13:36:13 +09:00
}
2023-05-10 15:29:26 +09:00
return
2023-02-06 13:36:13 +09:00
} else {
2023-05-10 15:29:26 +09:00
fmt.Println("URLは不正です。終了…")
return
2023-02-06 13:36:13 +09:00
}
}
2023-05-10 15:29:26 +09:00
} else if len(args) == 3 && args[1] == "-s" {
if port, err := strconv.Atoi(args[2]); err != nil {
fmt.Printf("%qは数字ではありません。\n", args[2])
return
} else {
serv(cnf, port)
}
} else {
help()
return
}
2023-02-06 13:36:13 +09:00
}