https record test for domains added

This commit is contained in:
MDK
2024-03-26 10:35:39 +08:00
parent 1b819f659f
commit 6c585e67a2
7 changed files with 1001115 additions and 7 deletions

26
main.go
View File

@@ -12,10 +12,15 @@ import (
func main() {
var input_file string
var routine_num int
var mode string
flag.StringVar(&input_file, "input", "", "input file name")
flag.IntVar(&routine_num, "routine", 500, "working goroutine number")
flag.StringVar(&mode, "mode", "resolver", "probe mode (resolver & domain)")
flag.Parse()
input_pool := make(chan string, 500)
result_pool := make(chan method.CombinedResult)
result_pool := make(chan method.CombinedResult, 500)
bool_pool := make(chan bool, 500)
var test_tasks sync.WaitGroup
var process_tasks sync.WaitGroup
@@ -28,11 +33,24 @@ func main() {
logger := log.New(logfile, "", log.LstdFlags)
go utils.RetrieveLines(input_pool, input_file)
method.CombinedMeasurement(input_pool, result_pool, 500, &test_tasks, logger)
if mode == "resolver" {
method.CombinedMeasurement(input_pool, result_pool, routine_num, &test_tasks, logger)
} else if mode == "domain" {
servers := utils.RetrieveLinesToSlice("data/server_list")
method.HTTPSRecordMeasurement(servers, input_pool, bool_pool, routine_num, &test_tasks, logger)
}
process_tasks.Add(1)
go method.CombinedResultProcess(result_pool, &process_tasks)
if mode == "resolver" {
go method.CombinedResultProcess(result_pool, &process_tasks)
} else if mode == "domain" {
go method.HTTPSRecordResultProcess(bool_pool, &process_tasks)
}
test_tasks.Wait()
close(result_pool)
if mode == "resolver" {
close(result_pool)
} else if mode == "domain" {
close(bool_pool)
}
process_tasks.Wait()
time.Sleep(time.Second)
}