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
|
|
|
|
)
|
|
|
|
|
|
2023-07-17 02:28:52 +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 () {
|
|
|
|
|
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
|
|
|
|
}
|