forked from user1121114685/115push
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
121 lines (109 loc) · 3.22 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package main
import (
"115push/login"
"115push/receiver"
"115push/server"
"bufio"
"flag"
"fmt"
"log"
"os"
"regexp"
"strings"
"time"
)
var runServer bool
var runDebug bool
var getQr bool
var Version = "调试版本"
func init() {
flag.BoolVar(&runServer, "s", false, "一键运行服务端,方便从linux等设备启动运行。")
flag.BoolVar(&getQr, "qr", false, "扫码登录Linux端,从此永不掉线。")
flag.BoolVar(&runDebug, "debug", false, "显示更多log信息")
}
func main() {
log.SetFlags(log.Lmicroseconds | log.Ldate)
flag.Parse()
if runDebug {
log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)
}
if runServer {
server.Run115PushServer()
return
}
if getQr {
login.QrCodeLogin()
}
for {
fmt.Println("当前版本 V" + Version)
fmt.Println()
fmt.Println("欢迎使用云传(115push),请勿用于任何商业用途。")
fmt.Println("你正在使用社区版,需要功能更强的定制版请联系[email protected]")
fmt.Println("社区源码(并非开源不允许白嫖):https://github.com/user1121114685/115push")
fmt.Println()
fmt.Println("请输入编号选择功能:")
fmt.Println()
fmt.Println("1 启动服务端,其他人将通过您提供的链接访问你的115资源")
fmt.Println()
fmt.Println("2 启动导入,通过输入他人提供的服务端地址,导入115资源")
fmt.Println()
fmt.Println("3 扫码登录,扫码登录linux端,从此不再掉线")
var num int
fmt.Scanln(&num)
switch num {
case 1:
server.Run115PushServer()
break
case 2:
var cid string
if receiver.FindLastCid() {
fmt.Println("上一次使用的CID是: ", receiver.Lastchoice)
fmt.Println("按回车键使用上一次的CID,否则按任意键开始输入新的CID")
bytes, _ := bufio.NewReader(os.Stdin).ReadBytes('\n')
if len(bytes) == 2 {
cid = receiver.Lastchoice
}
}
if cid == "" {
fmt.Println("请输入自己目录的CID")
fmt.Scanln(&cid)
// 将字节切片写入文件,如果文件不存在则创建,如果存在则覆盖
os.WriteFile("./last_cid.txt", []byte(cid), 0644)
}
var url string
fmt.Println("请输入分享者url,例如: http://127.0.0.1:1150")
fmt.Scanln(&url)
var shareCid string
fmt.Println("请输入分享者分享的CID,不是自己的CID,是分享者的CID!!!")
fmt.Scanln(&shareCid)
_isNumber, _ := regexp.MatchString("^[0-9]+$", cid+shareCid)
if !_isNumber {
// 不是数字 说明输入有误
fmt.Println("自己的CID和分享者的CID只能是数字,请重新检查。")
time.Sleep(2 * time.Second)
continue
}
url = strings.ToLower(url)
_isHttp, _ := regexp.MatchString("^https?://", url)
if !_isHttp {
// 不是数字 说明输入有误
fmt.Println("url 不正确 应该包含 http:// 或者 https://")
time.Sleep(2 * time.Second)
continue
}
if cid == "" || url == "" || shareCid == "" {
// 不是数字 说明输入有误
fmt.Println("信息没有输入完整,请重新检查。")
time.Sleep(2 * time.Second)
continue
}
receiver.Import(cid, url, shareCid)
break
case 3:
login.QrCodeLogin()
break
default:
fmt.Println("输入有误,请重新输入....")
}
}
}