-
Notifications
You must be signed in to change notification settings - Fork 28
/
init.go
96 lines (90 loc) · 2.16 KB
/
init.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
package jd_cookie
import (
"net/http"
"net/url"
"os"
"strings"
"github.com/beego/beego/v2/core/logs"
"github.com/cdle/sillyGirl/core"
"github.com/cdle/sillyGirl/develop/qinglong"
"golang.org/x/net/proxy"
)
func init() {
if !core.Bucket("qinglong").GetBool("enable_qinglong", true) {
return
}
data, _ := os.ReadFile("dev.go")
if !strings.Contains(string(data), "jd_cookie") && !jd_cookie.GetBool("enable_jd_cookie") {
return
}
initAsset()
initCheck()
initEnEn()
initEnv()
initHelp()
initLogin()
initSubmit()
initTyt()
initNotify()
buildHttpTransportWithProxy()
if Transport != nil {
logs.Info("可口的双层之芝士夹心饼。")
} else {
logs.Info("美味的芝士夹心饼。")
}
logs.Info(
"芝士推荐您使用零内置、纯内助、安全的、高优化、稳定的、高性能的仓库,目前只收集日常活动脚本,拉库命令:%s",
`ql repo https://github.com/cdle/carry.git "jd_" "" "jdCookie.js|sendNotify.js|share_code.js|USER_AGENTS.js"`,
)
initRongQi()
}
var Transport *http.Transport
func buildHttpTransportWithProxy() {
addr := jd_cookie.Get("http_proxy")
if strings.Contains(addr, "http://") {
if addr != "" {
u, err := url.Parse(addr)
if err != nil {
logs.Warn("can't connect to the http proxy:", err)
return
}
Transport = &http.Transport{Proxy: http.ProxyURL(u)}
}
}
if strings.Contains(addr, "sock5://") || strings.Contains(addr, "socks5://") {
addr = strings.Replace(addr, "sock5://", "", -1)
addr = strings.Replace(addr, "socks5://", "", -1)
var auth *proxy.Auth
v := strings.Split(addr, "@")
if len(v) == 3 {
auth = &proxy.Auth{
User: v[1],
Password: v[2],
}
addr = v[0]
}
dialer, err := proxy.SOCKS5("tcp", addr, auth, proxy.Direct)
if err != nil {
logs.Warn("can't connect to the sock5 proxy:", err)
return
}
Transport = &http.Transport{
Dial: dialer.Dial,
}
}
}
func GetEnvs(ql *qinglong.QingLong, s string) ([]qinglong.Env, error) {
envs, err := qinglong.GetEnvs(ql, s)
if err != nil {
if s == "JD_COOKIE" {
i := 0
for _, env := range envs {
if env.Status == 0 {
i++
}
}
ql.SetNumber(i)
}
}
return envs, err
}