Skip to content

Commit df87ac7

Browse files
committed
移除从官网下载IP地址
1 parent 293ebd4 commit df87ac7

File tree

1 file changed

+4
-66
lines changed

1 file changed

+4
-66
lines changed

src/utils.rs

Lines changed: 4 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,14 @@
11
extern crate reqwest;
22

3-
use std::io::{Read, Write};
3+
use std::io::Read;
44

55
use ipnetwork::Ipv4Network;
6-
use reqwest::header;
76

87
pub async fn get_all_ipv4() -> Result<Vec<String>, Box<dyn std::error::Error>> {
9-
let cidr_strings_result = get_cidr_from_cf().await;
108
let mut cidr_strings: String = String::new();
11-
match cidr_strings_result {
12-
Ok(v) => {
13-
cidr_strings = v;
14-
let file = std::fs::File::create("cloudflare_ipv4.txt").unwrap();
15-
let mut writer: std::io::BufWriter<std::fs::File> = std::io::BufWriter::new(file);
16-
writer.write_all(cidr_strings.as_bytes()).unwrap();
17-
}
18-
Err(err) => {
19-
println!("Error: {}", err.to_string());
20-
let file = std::fs::File::open("cloudflare_ipv4.txt").unwrap();
21-
let mut reader: std::io::BufReader<std::fs::File> = std::io::BufReader::new(file);
22-
reader.read_to_string(&mut cidr_strings).unwrap();
23-
24-
}
25-
}
9+
let file = std::fs::File::open("cloudflare_ipv4.txt").unwrap();
10+
let mut reader: std::io::BufReader<std::fs::File> = std::io::BufReader::new(file);
11+
reader.read_to_string(&mut cidr_strings).unwrap();
2612
let cidr_list = cidr_strings.split("\n");
2713
let mut ipv4_addresses = Vec::<String>::new();
2814
for cidr in cidr_list {
@@ -33,51 +19,3 @@ pub async fn get_all_ipv4() -> Result<Vec<String>, Box<dyn std::error::Error>> {
3319
}
3420
return Ok(ipv4_addresses);
3521
}
36-
37-
pub async fn get_cidr_from_cf() -> Result<String, Box<dyn std::error::Error>> {
38-
let mut headers = header::HeaderMap::new();
39-
headers.insert("authority", "www.cloudflare.com".parse().unwrap());
40-
headers.insert("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7".parse().unwrap());
41-
headers.insert("accept-language", "zh-CN,zh;q=0.9".parse().unwrap());
42-
headers.insert("cache-control", "no-cache".parse().unwrap());
43-
headers.insert("pragma", "no-cache".parse().unwrap());
44-
headers.insert(
45-
"referer",
46-
"https://www.cloudflare.com/zh-cn/ips/".parse().unwrap(),
47-
);
48-
headers.insert(
49-
"sec-ch-ua",
50-
"\"Not A(Brand\";v=\"99\", \"Google Chrome\";v=\"121\", \"Chromium\";v=\"121\""
51-
.parse()
52-
.unwrap(),
53-
);
54-
headers.insert("sec-ch-ua-arch", "\"arm\"".parse().unwrap());
55-
headers.insert("sec-ch-ua-bitness", "\"64\"".parse().unwrap());
56-
headers.insert(
57-
"sec-ch-ua-full-version",
58-
"\"121.0.6167.139\"".parse().unwrap(),
59-
);
60-
headers.insert("sec-ch-ua-full-version-list", "\"Not A(Brand\";v=\"99.0.0.0\", \"Google Chrome\";v=\"121.0.6167.139\", \"Chromium\";v=\"121.0.6167.139\"".parse().unwrap());
61-
headers.insert("sec-ch-ua-mobile", "?0".parse().unwrap());
62-
headers.insert("sec-ch-ua-model", "\"\"".parse().unwrap());
63-
headers.insert("sec-ch-ua-platform", "\"macOS\"".parse().unwrap());
64-
headers.insert("sec-ch-ua-platform-version", "\"14.3.0\"".parse().unwrap());
65-
headers.insert("sec-fetch-dest", "document".parse().unwrap());
66-
headers.insert("sec-fetch-mode", "navigate".parse().unwrap());
67-
headers.insert("sec-fetch-site", "same-origin".parse().unwrap());
68-
headers.insert("sec-fetch-user", "?1".parse().unwrap());
69-
headers.insert("upgrade-insecure-requests", "1".parse().unwrap());
70-
headers.insert("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36".parse().unwrap());
71-
72-
let client = reqwest::Client::builder()
73-
.redirect(reqwest::redirect::Policy::none())
74-
.build()
75-
.unwrap();
76-
let res = client
77-
.get("https://www.cloudflare.com/ips-v4/")
78-
.headers(headers)
79-
.send()
80-
.await?;
81-
82-
Ok(res.text().await.unwrap())
83-
}

0 commit comments

Comments
 (0)