MCPcopy Create free account
hub / github.com/MengMengCode/GetRealityDomain / PrintRealityTargets

Function PrintRealityTargets

output.go:281–342  ·  view source on GitHub ↗

PrintRealityTargets 打印符合Reality要求的目标

(filename string)

Source from the content-addressed store, hash-verified

279
280// PrintRealityTargets 打印符合Reality要求的目标
281func PrintRealityTargets(filename string) error {
282 file, err := os.Open(filename)
283 if err != nil {
284 return fmt.Errorf("打开文件失败: %v", err)
285 }
286 defer file.Close()
287
288 reader := csv.NewReader(file)
289 records, err := reader.ReadAll()
290 if err != nil {
291 return fmt.Errorf("读取CSV文件失败: %v", err)
292 }
293
294 if len(records) < 2 {
295 printInfo("没有找到扫描结果")
296 return nil
297 }
298
299 // 查找符合条件的记录
300 var feasibleTargets [][]string
301 for i, record := range records {
302 if i == 0 { // 跳过头部
303 continue
304 }
305
306 if len(record) >= 10 && record[9] == "true" { // FEASIBLE字段
307 feasibleTargets = append(feasibleTargets, record)
308 }
309 }
310
311 if len(feasibleTargets) == 0 {
312 printInfo("没有找到符合Reality要求的目标")
313 return nil
314 }
315
316 // 打印结果
317 fmt.Println()
318 printBox([]string{
319 "",
320 " ═══ Reality目标列表 ═══",
321 "",
322 fmt.Sprintf(" 找到 %d 个符合条件的目标:", len(feasibleTargets)),
323 "",
324 })
325
326 fmt.Printf("%-15s %-25s %-10s %-20s %-15s\n",
327 "IP地址", "证书域名", "地理位置", "证书颁发者", "响应时间(ms)")
328 fmt.Println(strings.Repeat("-", 85))
329
330 for _, record := range feasibleTargets {
331 fmt.Printf("%-15s %-25s %-10s %-20s %-15s\n",
332 record[0], // IP
333 truncateString(record[3], 25), // CERT_DOMAIN
334 record[8], // GEO_CODE
335 truncateString(record[4], 20), // CERT_ISSUER
336 record[10], // RESPONSE_TIME_MS
337 )
338 }

Callers

nothing calls this directly

Calls 4

printInfoFunction · 0.85
printBoxFunction · 0.85
truncateStringFunction · 0.85
CloseMethod · 0.45

Tested by

no test coverage detected