Skip to content

Commit

Permalink
v1.2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
XIU2 committed Sep 1, 2020
1 parent 479629b commit 31743a8
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 12 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module CloudflareIPScanner
module CloudflareSpeedTest

go 1.14

Expand Down
40 changes: 31 additions & 9 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,21 @@ https://github.com/XIU2/CloudflareSpeedTest
println(version)
os.Exit(0)
}
if pingRoutine <= 0 {
pingRoutine = 500
}
if pingTime <= 0 {
pingTime = 4
}
if downloadTestCount <= 0 {
downloadTestCount = 20
}
if downloadSecond <= 0 {
downloadSecond = 10
}
if ipFile == "" {
ipFile = "ip.txt"
}
}

func main() {
Expand All @@ -74,27 +89,34 @@ func main() {
var data = make([]CloudflareIPData, 0)

fmt.Println("开始延迟测速(TCP):")

control := make(chan bool, pingRoutine)
for _, ip := range ips {
wg.Add(1)
control <- false
handleProgress := handleProgressGenerator(bar)
handleProgress := handleProgressGenerator(bar) // 多线程进度条
go tcpingGoroutine(&wg, &mu, ip, pingTime, &data, control, handleProgress)
}
wg.Wait()
bar.Finish()

sort.Sort(CloudflareIPDataSet(data)) // 排序
if !disableDownload { // 如果禁用下载测速就跳过
bar = pb.Simple.Start(downloadTestCount)
fmt.Println("开始下载测速:")
for i := 0; i < downloadTestCount; i++ {
_, speed := DownloadSpeedHandler(data[i].ip)
data[i].downloadSpeed = speed
bar.Add(1)
if len(data) > 0 { // IP数组长度(IP数量) 大于 0 时继续
if len(data) < downloadTestCount { // 如果IP数组长度(IP数量) 小于 下载测速次数,则次数改为IP数
downloadTestCount = len(data)
fmt.Println("\n[信息] IP数量小于下载测速次数,下载测速次数改为IP数。\n")
}
bar = pb.Simple.Start(downloadTestCount)
fmt.Println("开始下载测速:")
for i := 0; i < downloadTestCount; i++ {
_, speed := DownloadSpeedHandler(data[i].ip)
data[i].downloadSpeed = speed
bar.Add(1)
}
bar.Finish()
} else {
fmt.Println("\n[信息] IP数量为 0,跳过下载测速。")
}
bar.Finish()
}
ExportCsv("./result.csv", data) // 输出结果
}
5 changes: 3 additions & 2 deletions tcping.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ package main

import (
"context"
"github.com/VividCortex/ewma"
"io"
"net"
"net/http"
"strconv"
"sync"
"time"

"github.com/VividCortex/ewma"
)

//bool connectionSucceed float32 time
Expand Down Expand Up @@ -130,7 +131,7 @@ func DownloadSpeedHandler(ip net.IPAddr) (bool, float32) {
var nextTime = timeStart.Add(timeSlice * time.Duration(timeCounter))
e := ewma.NewMovingAverage()

for ; contentLength != contentRead; {
for contentLength != contentRead {
var currentTime = time.Now()
if currentTime.After(nextTime) {
timeCounter += 1
Expand Down

0 comments on commit 31743a8

Please sign in to comment.