├── .dockerignore ├── docker-entrypoint.sh ├── images └── image.jpg ├── cloudflare_ipv4.txt ├── Cargo.toml ├── README_zh.MD ├── Dockerfile ├── README.MD ├── src ├── utils.rs └── main.rs ├── .github └── workflows │ ├── main.yml │ └── AutoBuild.yml ├── LICENSE.MD └── Cargo.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | target 3 | result -------------------------------------------------------------------------------- /docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ./fast-cf 3 | head -n 100 result/sorted_ping_ip.txt -------------------------------------------------------------------------------- /images/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/golangboy/fast-cloudflare/HEAD/images/image.jpg -------------------------------------------------------------------------------- /cloudflare_ipv4.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/13 15 | 131.0.72.0/22 -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "fast-cf" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | tokio = { version = "1.36.0", features = ["full"] } 10 | futures = "0.3.30" 11 | reqwest = "0.11.24" 12 | ipnetwork = "*" 13 | indicatif = "0.17.7" 14 | surge-ping = "0.8.0" 15 | rand = "0.8.4" 16 | -------------------------------------------------------------------------------- /README_zh.MD: -------------------------------------------------------------------------------- 1 | [中文版](./README_zh.MD) | [English](./README.MD) 2 | 3 | # 📖 介绍 4 | 对CloudFlare的所有IP节点进行扫描,找出最快的IP节点 5 | 6 | # ⚡️ 开始 7 | ## 🔨️ 构建 8 | ```bash 9 | git clone https://github.com/golangboy/fast-cloudflare 10 | cd fast-cloudflare 11 | cargo run 12 | ``` 13 | > 请确保你安装好了Rust环境 14 | 15 | 扫描结果将保存在`result\sorted_ping_ip.txt`下 16 | ## 🐳 Docker 17 | ```bash 18 | docker run -t golangboyme/fast-cloudflare 19 | ``` 20 | ![](./images/image.jpg) -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM rust:alpine3.18 as builder 2 | WORKDIR /app 3 | RUN apk add --no-cache musl-dev 4 | RUN apk add --no-cache pkgconfig 5 | RUN apk add --no-cache libressl-dev 6 | COPY . . 7 | RUN ["cargo","build","--release"] 8 | 9 | FROM alpine 10 | WORKDIR /app 11 | COPY --from=builder /app/target/release/fast-cf /app 12 | COPY --from=builder /app/docker-entrypoint.sh /app 13 | COPY --from=builder /app/cloudflare_ipv4.txt /app 14 | RUN ["chmod", "+x" ,"/app/docker-entrypoint.sh"] 15 | CMD [ "/app/docker-entrypoint.sh" ] -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | [中文版](./README_zh.MD) | [English](./README.MD) 2 | 3 | # 📖 Introduction 4 | Scan all IP nodes of CloudFlare to find the fastest IP node. 5 | 6 | # ⚡️ Get Started 7 | ## 🔨️ Build 8 | ```bash 9 | git clone https://github.com/golangboy/fast-cloudflare 10 | cd fast-cloudflare 11 | cargo run 12 | ``` 13 | > Please ensure that you have properly installed the Rust environment. 14 | 15 | The scan results will be saved under`result\sorted_ping_ip.txt` 16 | ## 🐳 Docker 17 | ```bash 18 | docker run -t golangboyme/fast-cloudflare 19 | ``` 20 | ![](./images/image.jpg) -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- 1 | extern crate reqwest; 2 | 3 | use std::io::Read; 4 | 5 | use ipnetwork::Ipv4Network; 6 | 7 | pub async fn get_all_ipv4() -> Result, Box> { 8 | let mut cidr_strings: String = String::new(); 9 | let file = std::fs::File::open("cloudflare_ipv4.txt").unwrap(); 10 | let mut reader: std::io::BufReader = std::io::BufReader::new(file); 11 | reader.read_to_string(&mut cidr_strings).unwrap(); 12 | let cidr_list = cidr_strings.lines(); 13 | let mut ipv4_addresses = Vec::::new(); 14 | for cidr in cidr_list { 15 | let network: Ipv4Network = cidr.parse().unwrap(); 16 | for address in network.iter() { 17 | ipv4_addresses.push(String::from(address.to_string())); 18 | } 19 | } 20 | return Ok(ipv4_addresses); 21 | } 22 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Build and Push Docker Image 2 | 3 | on: 4 | push: 5 | branches: [ "main" ] # Trigger the workflow on push to the main branch 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout code 12 | uses: actions/checkout@v2 13 | 14 | - name: Set up Docker Buildx 15 | uses: docker/setup-buildx-action@v1 16 | 17 | - name: Log in to Docker Hub 18 | uses: docker/login-action@v1 19 | with: 20 | username: ${{ secrets.DOCKER_HUB_USERNAME }} 21 | password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} 22 | 23 | - name: Build and push Docker image 24 | uses: docker/build-push-action@v2 25 | with: 26 | platforms: linux/amd64,linux/arm64 27 | context: . 28 | push: true 29 | tags: golangboyme/fast-cloudflare 30 | -------------------------------------------------------------------------------- /.github/workflows/AutoBuild.yml: -------------------------------------------------------------------------------- 1 | name: AutoBuild 2 | permissions: 3 | contents: write 4 | on: 5 | push: 6 | tags: 7 | - '*' 8 | pull_request: 9 | tags: 10 | - '*' 11 | 12 | env: 13 | CARGO_TERM_COLOR: always 14 | 15 | jobs: 16 | build: 17 | runs-on: windows-latest 18 | 19 | steps: 20 | - name: Set up Rust 21 | uses: actions-rs/toolchain@v1 22 | with: 23 | toolchain: stable 24 | 25 | - name: Check out code 26 | uses: actions/checkout@v2 27 | 28 | - name: Build 29 | run: cargo build --release --target x86_64-pc-windows-msvc 30 | 31 | - name: Create ZIP 32 | run: | 33 | cd target/x86_64-pc-windows-msvc/release 34 | 7z a fast-cf.zip fast-cf.exe ../../../cloudflare_ipv4.txt 35 | - name: Upload to GitHub Releases 36 | uses: softprops/action-gh-release@v1 37 | with: 38 | files: target/x86_64-pc-windows-msvc/release/fast-cf.zip 39 | env: 40 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 41 | -------------------------------------------------------------------------------- /LICENSE.MD: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 fast-cloudflare 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use futures::future::join_all; 2 | use indicatif::ProgressBar; 3 | use std::io::{BufRead, Write}; 4 | use std::sync::Arc; 5 | use surge_ping::{Client, Config, IcmpPacket, PingIdentifier, PingSequence}; 6 | use tokio::io::AsyncWriteExt; 7 | mod utils; 8 | use rand::random; 9 | use std::time::Duration; 10 | async fn perform_first_stage() -> Result<(), Box> { 11 | let cloudflare_ipv4_addresses = utils::get_all_ipv4().await?; 12 | let mut tasks = Vec::new(); 13 | let live_ip_file = tokio::fs::File::create("result/live_ip.txt").await?; 14 | let live_ip_file_lock: Arc> = 15 | Arc::new(tokio::sync::Mutex::new(live_ip_file)); 16 | let progress_bar = ProgressBar::new(cloudflare_ipv4_addresses.len() as u64); 17 | let progress_bar_lock = Arc::new(tokio::sync::Mutex::new(progress_bar)); 18 | 19 | let ipv4_addresses_iter = cloudflare_ipv4_addresses.into_iter(); 20 | let ipv4_addresses_iter_lock = Arc::new(tokio::sync::Mutex::new(ipv4_addresses_iter)); 21 | for _ in 1..500 { 22 | let addresses_iter_clone = ipv4_addresses_iter_lock.clone(); 23 | let live_ip_file_clone = live_ip_file_lock.clone(); 24 | let progress_bar_clone = progress_bar_lock.clone(); 25 | let task = tokio::spawn(async move { 26 | loop { 27 | let next_ipv4_address = addresses_iter_clone.lock().await.next(); 28 | progress_bar_clone.lock().await.inc(1); 29 | match next_ipv4_address { 30 | Some(mut ipv4_address) => { 31 | let connection_attempt = 32 | tokio::net::TcpStream::connect(ipv4_address.clone() + ":80"); 33 | let connection_result = tokio::time::timeout( 34 | tokio::time::Duration::new(1, 0), 35 | connection_attempt, 36 | ) 37 | .await; 38 | match connection_result { 39 | Ok(result) => match result { 40 | Ok(mut connection) => { 41 | let mut file_handle = live_ip_file_clone.lock().await; 42 | ipv4_address.push('\n'); 43 | file_handle.write(ipv4_address.as_bytes()).await.unwrap(); 44 | _ = connection.shutdown().await; 45 | } 46 | Err(_) => {} 47 | }, 48 | Err(_) => {} 49 | } 50 | } 51 | None => { 52 | break; 53 | } 54 | } 55 | } 56 | }); 57 | tasks.push(task); 58 | } 59 | join_all(tasks).await; 60 | live_ip_file_lock.lock().await.sync_all().await?; 61 | return Ok(()); 62 | } 63 | 64 | async fn perform_second_stage() -> Result<(), Box> { 65 | let ping_result_file = std::fs::File::create("result/ping_ip.txt").unwrap(); 66 | let ping_result_file_lock = Arc::new(tokio::sync::Mutex::new(ping_result_file)); 67 | let live_ip_file_content = std::fs::read_to_string("result/live_ip.txt").unwrap(); 68 | let live_ipv4_addresses: Vec = live_ip_file_content 69 | .split("\n") 70 | .filter(|&s| !s.is_empty()) 71 | .map(|s| s.to_owned()) 72 | .collect(); 73 | let progress_bar = ProgressBar::new(live_ipv4_addresses.len() as u64); 74 | let mut tasks = Vec::new(); 75 | let live_ipv4_addresses_iter_lock = 76 | Arc::new(tokio::sync::Mutex::new(live_ipv4_addresses.into_iter())); 77 | for _ in 1..10 { 78 | let addresses_iter_clone = live_ipv4_addresses_iter_lock.clone(); 79 | let ping_result_file_clone = ping_result_file_lock.clone(); 80 | let progress_bar_clone = progress_bar.clone(); 81 | let task = tokio::spawn(async move { 82 | loop { 83 | let next_ipv4_address = addresses_iter_clone.lock().await.next(); 84 | progress_bar_clone.inc(1); 85 | match next_ipv4_address { 86 | Some(ipv4_address) => { 87 | let client_v4 = Client::new(&Config::default()).unwrap(); 88 | let mut pinger = client_v4 89 | .pinger(ipv4_address.parse().unwrap(), PingIdentifier(random())) 90 | .await; 91 | pinger.timeout(Duration::from_secs(1)); 92 | let payload = &[1u8]; 93 | match pinger.ping(PingSequence::from(1), payload).await { 94 | Ok((IcmpPacket::V4(_packet), duration)) => { 95 | let mut result_line = String::from(ipv4_address); 96 | result_line.push(' '); 97 | result_line.push_str(&duration.as_millis().to_string()); 98 | result_line.push('\n'); 99 | let mut file_handle = ping_result_file_clone.lock().await; 100 | file_handle.write(result_line.as_bytes()).unwrap(); 101 | } 102 | Ok((IcmpPacket::V6(_packet), _duration)) => {} 103 | Err(_) => { 104 | let mut result_line = String::from(ipv4_address); 105 | result_line.push_str(" 999999\n"); 106 | let mut file_handle = ping_result_file_clone.lock().await; 107 | file_handle.write(result_line.as_bytes()).unwrap(); 108 | } 109 | } 110 | } 111 | None => { 112 | break; 113 | } 114 | } 115 | } 116 | }); 117 | tasks.push(task); 118 | } 119 | join_all(tasks).await; 120 | ping_result_file_lock.lock().await.sync_all().unwrap(); 121 | return Ok(()); 122 | } 123 | fn sort_ping_results() -> std::result::Result<(), Box> { 124 | let file = std::fs::File::open("result/ping_ip.txt")?; 125 | let reader = std::io::BufReader::new(file); 126 | 127 | let mut ping_results: Vec<(String, u64)> = Vec::new(); 128 | 129 | for line in reader.lines() { 130 | let line = line?; 131 | let parts: Vec<&str> = line.split_whitespace().collect(); 132 | if parts.len() == 2 { 133 | let ip = parts[0].to_owned(); 134 | let ms = parts[1].parse::().unwrap_or(0); 135 | ping_results.push((ip, ms)); 136 | } 137 | } 138 | 139 | ping_results.sort_by(|a, b| a.1.cmp(&b.1)); 140 | 141 | let mut sorted_file = std::fs::File::create("result/sorted_ping_ip.txt")?; 142 | for (ip, ms) in ping_results { 143 | writeln!(sorted_file, "{} {}", ip, ms)?; 144 | } 145 | 146 | Ok(()) 147 | } 148 | 149 | #[tokio::main] 150 | async fn main() -> Result<(), Box> { 151 | _ = std::fs::create_dir("result"); 152 | println!("Performing first stage"); 153 | perform_first_stage().await?; 154 | println!("Performing second stage"); 155 | perform_second_stage().await?; 156 | println!("Sorting results"); 157 | sort_ping_results()?; 158 | println!("Done"); 159 | return Ok(()); 160 | } 161 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.2" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "autocfg" 31 | version = "1.1.0" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 34 | 35 | [[package]] 36 | name = "backtrace" 37 | version = "0.3.69" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 40 | dependencies = [ 41 | "addr2line", 42 | "cc", 43 | "cfg-if", 44 | "libc", 45 | "miniz_oxide", 46 | "object", 47 | "rustc-demangle", 48 | ] 49 | 50 | [[package]] 51 | name = "base64" 52 | version = "0.21.7" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 55 | 56 | [[package]] 57 | name = "bitflags" 58 | version = "1.3.2" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 61 | 62 | [[package]] 63 | name = "bitflags" 64 | version = "2.4.2" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" 67 | 68 | [[package]] 69 | name = "bumpalo" 70 | version = "3.14.0" 71 | source = "registry+https://github.com/rust-lang/crates.io-index" 72 | checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" 73 | 74 | [[package]] 75 | name = "bytes" 76 | version = "1.5.0" 77 | source = "registry+https://github.com/rust-lang/crates.io-index" 78 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 79 | 80 | [[package]] 81 | name = "cc" 82 | version = "1.0.83" 83 | source = "registry+https://github.com/rust-lang/crates.io-index" 84 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 85 | dependencies = [ 86 | "libc", 87 | ] 88 | 89 | [[package]] 90 | name = "cfg-if" 91 | version = "1.0.0" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 94 | 95 | [[package]] 96 | name = "console" 97 | version = "0.15.8" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" 100 | dependencies = [ 101 | "encode_unicode", 102 | "lazy_static", 103 | "libc", 104 | "unicode-width", 105 | "windows-sys 0.52.0", 106 | ] 107 | 108 | [[package]] 109 | name = "core-foundation" 110 | version = "0.9.4" 111 | source = "registry+https://github.com/rust-lang/crates.io-index" 112 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 113 | dependencies = [ 114 | "core-foundation-sys", 115 | "libc", 116 | ] 117 | 118 | [[package]] 119 | name = "core-foundation-sys" 120 | version = "0.8.6" 121 | source = "registry+https://github.com/rust-lang/crates.io-index" 122 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 123 | 124 | [[package]] 125 | name = "encode_unicode" 126 | version = "0.3.6" 127 | source = "registry+https://github.com/rust-lang/crates.io-index" 128 | checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" 129 | 130 | [[package]] 131 | name = "encoding_rs" 132 | version = "0.8.33" 133 | source = "registry+https://github.com/rust-lang/crates.io-index" 134 | checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" 135 | dependencies = [ 136 | "cfg-if", 137 | ] 138 | 139 | [[package]] 140 | name = "equivalent" 141 | version = "1.0.1" 142 | source = "registry+https://github.com/rust-lang/crates.io-index" 143 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 144 | 145 | [[package]] 146 | name = "errno" 147 | version = "0.3.8" 148 | source = "registry+https://github.com/rust-lang/crates.io-index" 149 | checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" 150 | dependencies = [ 151 | "libc", 152 | "windows-sys 0.52.0", 153 | ] 154 | 155 | [[package]] 156 | name = "fast-cf" 157 | version = "0.1.0" 158 | dependencies = [ 159 | "futures", 160 | "indicatif", 161 | "ipnetwork", 162 | "rand", 163 | "reqwest", 164 | "surge-ping", 165 | "tokio", 166 | ] 167 | 168 | [[package]] 169 | name = "fastrand" 170 | version = "2.0.1" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 173 | 174 | [[package]] 175 | name = "fnv" 176 | version = "1.0.7" 177 | source = "registry+https://github.com/rust-lang/crates.io-index" 178 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 179 | 180 | [[package]] 181 | name = "foreign-types" 182 | version = "0.3.2" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 185 | dependencies = [ 186 | "foreign-types-shared", 187 | ] 188 | 189 | [[package]] 190 | name = "foreign-types-shared" 191 | version = "0.1.1" 192 | source = "registry+https://github.com/rust-lang/crates.io-index" 193 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 194 | 195 | [[package]] 196 | name = "form_urlencoded" 197 | version = "1.2.1" 198 | source = "registry+https://github.com/rust-lang/crates.io-index" 199 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 200 | dependencies = [ 201 | "percent-encoding", 202 | ] 203 | 204 | [[package]] 205 | name = "futures" 206 | version = "0.3.30" 207 | source = "registry+https://github.com/rust-lang/crates.io-index" 208 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" 209 | dependencies = [ 210 | "futures-channel", 211 | "futures-core", 212 | "futures-executor", 213 | "futures-io", 214 | "futures-sink", 215 | "futures-task", 216 | "futures-util", 217 | ] 218 | 219 | [[package]] 220 | name = "futures-channel" 221 | version = "0.3.30" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 224 | dependencies = [ 225 | "futures-core", 226 | "futures-sink", 227 | ] 228 | 229 | [[package]] 230 | name = "futures-core" 231 | version = "0.3.30" 232 | source = "registry+https://github.com/rust-lang/crates.io-index" 233 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 234 | 235 | [[package]] 236 | name = "futures-executor" 237 | version = "0.3.30" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 240 | dependencies = [ 241 | "futures-core", 242 | "futures-task", 243 | "futures-util", 244 | ] 245 | 246 | [[package]] 247 | name = "futures-io" 248 | version = "0.3.30" 249 | source = "registry+https://github.com/rust-lang/crates.io-index" 250 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 251 | 252 | [[package]] 253 | name = "futures-macro" 254 | version = "0.3.30" 255 | source = "registry+https://github.com/rust-lang/crates.io-index" 256 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 257 | dependencies = [ 258 | "proc-macro2", 259 | "quote", 260 | "syn 2.0.48", 261 | ] 262 | 263 | [[package]] 264 | name = "futures-sink" 265 | version = "0.3.30" 266 | source = "registry+https://github.com/rust-lang/crates.io-index" 267 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 268 | 269 | [[package]] 270 | name = "futures-task" 271 | version = "0.3.30" 272 | source = "registry+https://github.com/rust-lang/crates.io-index" 273 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 274 | 275 | [[package]] 276 | name = "futures-util" 277 | version = "0.3.30" 278 | source = "registry+https://github.com/rust-lang/crates.io-index" 279 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 280 | dependencies = [ 281 | "futures-channel", 282 | "futures-core", 283 | "futures-io", 284 | "futures-macro", 285 | "futures-sink", 286 | "futures-task", 287 | "memchr", 288 | "pin-project-lite", 289 | "pin-utils", 290 | "slab", 291 | ] 292 | 293 | [[package]] 294 | name = "getrandom" 295 | version = "0.2.12" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" 298 | dependencies = [ 299 | "cfg-if", 300 | "libc", 301 | "wasi", 302 | ] 303 | 304 | [[package]] 305 | name = "gimli" 306 | version = "0.28.1" 307 | source = "registry+https://github.com/rust-lang/crates.io-index" 308 | checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 309 | 310 | [[package]] 311 | name = "glob" 312 | version = "0.3.1" 313 | source = "registry+https://github.com/rust-lang/crates.io-index" 314 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 315 | 316 | [[package]] 317 | name = "h2" 318 | version = "0.3.24" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" 321 | dependencies = [ 322 | "bytes", 323 | "fnv", 324 | "futures-core", 325 | "futures-sink", 326 | "futures-util", 327 | "http", 328 | "indexmap", 329 | "slab", 330 | "tokio", 331 | "tokio-util", 332 | "tracing", 333 | ] 334 | 335 | [[package]] 336 | name = "hashbrown" 337 | version = "0.14.3" 338 | source = "registry+https://github.com/rust-lang/crates.io-index" 339 | checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" 340 | 341 | [[package]] 342 | name = "hermit-abi" 343 | version = "0.3.4" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" 346 | 347 | [[package]] 348 | name = "hex" 349 | version = "0.4.3" 350 | source = "registry+https://github.com/rust-lang/crates.io-index" 351 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 352 | 353 | [[package]] 354 | name = "http" 355 | version = "0.2.11" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" 358 | dependencies = [ 359 | "bytes", 360 | "fnv", 361 | "itoa", 362 | ] 363 | 364 | [[package]] 365 | name = "http-body" 366 | version = "0.4.6" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 369 | dependencies = [ 370 | "bytes", 371 | "http", 372 | "pin-project-lite", 373 | ] 374 | 375 | [[package]] 376 | name = "httparse" 377 | version = "1.8.0" 378 | source = "registry+https://github.com/rust-lang/crates.io-index" 379 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 380 | 381 | [[package]] 382 | name = "httpdate" 383 | version = "1.0.3" 384 | source = "registry+https://github.com/rust-lang/crates.io-index" 385 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 386 | 387 | [[package]] 388 | name = "hyper" 389 | version = "0.14.28" 390 | source = "registry+https://github.com/rust-lang/crates.io-index" 391 | checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 392 | dependencies = [ 393 | "bytes", 394 | "futures-channel", 395 | "futures-core", 396 | "futures-util", 397 | "h2", 398 | "http", 399 | "http-body", 400 | "httparse", 401 | "httpdate", 402 | "itoa", 403 | "pin-project-lite", 404 | "socket2", 405 | "tokio", 406 | "tower-service", 407 | "tracing", 408 | "want", 409 | ] 410 | 411 | [[package]] 412 | name = "hyper-tls" 413 | version = "0.5.0" 414 | source = "registry+https://github.com/rust-lang/crates.io-index" 415 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" 416 | dependencies = [ 417 | "bytes", 418 | "hyper", 419 | "native-tls", 420 | "tokio", 421 | "tokio-native-tls", 422 | ] 423 | 424 | [[package]] 425 | name = "idna" 426 | version = "0.5.0" 427 | source = "registry+https://github.com/rust-lang/crates.io-index" 428 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 429 | dependencies = [ 430 | "unicode-bidi", 431 | "unicode-normalization", 432 | ] 433 | 434 | [[package]] 435 | name = "indexmap" 436 | version = "2.2.2" 437 | source = "registry+https://github.com/rust-lang/crates.io-index" 438 | checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" 439 | dependencies = [ 440 | "equivalent", 441 | "hashbrown", 442 | ] 443 | 444 | [[package]] 445 | name = "indicatif" 446 | version = "0.17.7" 447 | source = "registry+https://github.com/rust-lang/crates.io-index" 448 | checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" 449 | dependencies = [ 450 | "console", 451 | "instant", 452 | "number_prefix", 453 | "portable-atomic", 454 | "unicode-width", 455 | ] 456 | 457 | [[package]] 458 | name = "instant" 459 | version = "0.1.12" 460 | source = "registry+https://github.com/rust-lang/crates.io-index" 461 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 462 | dependencies = [ 463 | "cfg-if", 464 | ] 465 | 466 | [[package]] 467 | name = "ipnet" 468 | version = "2.9.0" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 471 | 472 | [[package]] 473 | name = "ipnetwork" 474 | version = "0.20.0" 475 | source = "registry+https://github.com/rust-lang/crates.io-index" 476 | checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" 477 | dependencies = [ 478 | "serde", 479 | ] 480 | 481 | [[package]] 482 | name = "itoa" 483 | version = "1.0.10" 484 | source = "registry+https://github.com/rust-lang/crates.io-index" 485 | checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" 486 | 487 | [[package]] 488 | name = "js-sys" 489 | version = "0.3.67" 490 | source = "registry+https://github.com/rust-lang/crates.io-index" 491 | checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" 492 | dependencies = [ 493 | "wasm-bindgen", 494 | ] 495 | 496 | [[package]] 497 | name = "lazy_static" 498 | version = "1.4.0" 499 | source = "registry+https://github.com/rust-lang/crates.io-index" 500 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 501 | 502 | [[package]] 503 | name = "libc" 504 | version = "0.2.153" 505 | source = "registry+https://github.com/rust-lang/crates.io-index" 506 | checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" 507 | 508 | [[package]] 509 | name = "linux-raw-sys" 510 | version = "0.4.13" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" 513 | 514 | [[package]] 515 | name = "lock_api" 516 | version = "0.4.11" 517 | source = "registry+https://github.com/rust-lang/crates.io-index" 518 | checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" 519 | dependencies = [ 520 | "autocfg", 521 | "scopeguard", 522 | ] 523 | 524 | [[package]] 525 | name = "log" 526 | version = "0.4.20" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 529 | 530 | [[package]] 531 | name = "memchr" 532 | version = "2.7.1" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" 535 | 536 | [[package]] 537 | name = "mime" 538 | version = "0.3.17" 539 | source = "registry+https://github.com/rust-lang/crates.io-index" 540 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 541 | 542 | [[package]] 543 | name = "miniz_oxide" 544 | version = "0.7.2" 545 | source = "registry+https://github.com/rust-lang/crates.io-index" 546 | checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 547 | dependencies = [ 548 | "adler", 549 | ] 550 | 551 | [[package]] 552 | name = "mio" 553 | version = "0.8.10" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" 556 | dependencies = [ 557 | "libc", 558 | "wasi", 559 | "windows-sys 0.48.0", 560 | ] 561 | 562 | [[package]] 563 | name = "native-tls" 564 | version = "0.2.11" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" 567 | dependencies = [ 568 | "lazy_static", 569 | "libc", 570 | "log", 571 | "openssl", 572 | "openssl-probe", 573 | "openssl-sys", 574 | "schannel", 575 | "security-framework", 576 | "security-framework-sys", 577 | "tempfile", 578 | ] 579 | 580 | [[package]] 581 | name = "no-std-net" 582 | version = "0.6.0" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" 585 | 586 | [[package]] 587 | name = "num_cpus" 588 | version = "1.16.0" 589 | source = "registry+https://github.com/rust-lang/crates.io-index" 590 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 591 | dependencies = [ 592 | "hermit-abi", 593 | "libc", 594 | ] 595 | 596 | [[package]] 597 | name = "number_prefix" 598 | version = "0.4.0" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" 601 | 602 | [[package]] 603 | name = "object" 604 | version = "0.32.2" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 607 | dependencies = [ 608 | "memchr", 609 | ] 610 | 611 | [[package]] 612 | name = "once_cell" 613 | version = "1.19.0" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 616 | 617 | [[package]] 618 | name = "openssl" 619 | version = "0.10.63" 620 | source = "registry+https://github.com/rust-lang/crates.io-index" 621 | checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" 622 | dependencies = [ 623 | "bitflags 2.4.2", 624 | "cfg-if", 625 | "foreign-types", 626 | "libc", 627 | "once_cell", 628 | "openssl-macros", 629 | "openssl-sys", 630 | ] 631 | 632 | [[package]] 633 | name = "openssl-macros" 634 | version = "0.1.1" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 637 | dependencies = [ 638 | "proc-macro2", 639 | "quote", 640 | "syn 2.0.48", 641 | ] 642 | 643 | [[package]] 644 | name = "openssl-probe" 645 | version = "0.1.5" 646 | source = "registry+https://github.com/rust-lang/crates.io-index" 647 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 648 | 649 | [[package]] 650 | name = "openssl-sys" 651 | version = "0.9.99" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" 654 | dependencies = [ 655 | "cc", 656 | "libc", 657 | "pkg-config", 658 | "vcpkg", 659 | ] 660 | 661 | [[package]] 662 | name = "parking_lot" 663 | version = "0.12.1" 664 | source = "registry+https://github.com/rust-lang/crates.io-index" 665 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 666 | dependencies = [ 667 | "lock_api", 668 | "parking_lot_core", 669 | ] 670 | 671 | [[package]] 672 | name = "parking_lot_core" 673 | version = "0.9.9" 674 | source = "registry+https://github.com/rust-lang/crates.io-index" 675 | checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" 676 | dependencies = [ 677 | "cfg-if", 678 | "libc", 679 | "redox_syscall", 680 | "smallvec", 681 | "windows-targets 0.48.5", 682 | ] 683 | 684 | [[package]] 685 | name = "percent-encoding" 686 | version = "2.3.1" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 689 | 690 | [[package]] 691 | name = "pin-project-lite" 692 | version = "0.2.13" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 695 | 696 | [[package]] 697 | name = "pin-utils" 698 | version = "0.1.0" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 701 | 702 | [[package]] 703 | name = "pkg-config" 704 | version = "0.3.29" 705 | source = "registry+https://github.com/rust-lang/crates.io-index" 706 | checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" 707 | 708 | [[package]] 709 | name = "pnet_base" 710 | version = "0.33.0" 711 | source = "registry+https://github.com/rust-lang/crates.io-index" 712 | checksum = "872e46346144ebf35219ccaa64b1dffacd9c6f188cd7d012bd6977a2a838f42e" 713 | dependencies = [ 714 | "no-std-net", 715 | ] 716 | 717 | [[package]] 718 | name = "pnet_macros" 719 | version = "0.33.0" 720 | source = "registry+https://github.com/rust-lang/crates.io-index" 721 | checksum = "2a780e80005c2e463ec25a6e9f928630049a10b43945fea83207207d4a7606f4" 722 | dependencies = [ 723 | "proc-macro2", 724 | "quote", 725 | "regex", 726 | "syn 1.0.109", 727 | ] 728 | 729 | [[package]] 730 | name = "pnet_macros_support" 731 | version = "0.33.0" 732 | source = "registry+https://github.com/rust-lang/crates.io-index" 733 | checksum = "e6d932134f32efd7834eb8b16d42418dac87086347d1bc7d142370ef078582bc" 734 | dependencies = [ 735 | "pnet_base", 736 | ] 737 | 738 | [[package]] 739 | name = "pnet_packet" 740 | version = "0.33.0" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "8bde678bbd85cb1c2d99dc9fc596e57f03aa725f84f3168b0eaf33eeccb41706" 743 | dependencies = [ 744 | "glob", 745 | "pnet_base", 746 | "pnet_macros", 747 | "pnet_macros_support", 748 | ] 749 | 750 | [[package]] 751 | name = "portable-atomic" 752 | version = "1.6.0" 753 | source = "registry+https://github.com/rust-lang/crates.io-index" 754 | checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" 755 | 756 | [[package]] 757 | name = "ppv-lite86" 758 | version = "0.2.17" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 761 | 762 | [[package]] 763 | name = "proc-macro2" 764 | version = "1.0.78" 765 | source = "registry+https://github.com/rust-lang/crates.io-index" 766 | checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" 767 | dependencies = [ 768 | "unicode-ident", 769 | ] 770 | 771 | [[package]] 772 | name = "quote" 773 | version = "1.0.35" 774 | source = "registry+https://github.com/rust-lang/crates.io-index" 775 | checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" 776 | dependencies = [ 777 | "proc-macro2", 778 | ] 779 | 780 | [[package]] 781 | name = "rand" 782 | version = "0.8.5" 783 | source = "registry+https://github.com/rust-lang/crates.io-index" 784 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 785 | dependencies = [ 786 | "libc", 787 | "rand_chacha", 788 | "rand_core", 789 | ] 790 | 791 | [[package]] 792 | name = "rand_chacha" 793 | version = "0.3.1" 794 | source = "registry+https://github.com/rust-lang/crates.io-index" 795 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 796 | dependencies = [ 797 | "ppv-lite86", 798 | "rand_core", 799 | ] 800 | 801 | [[package]] 802 | name = "rand_core" 803 | version = "0.6.4" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 806 | dependencies = [ 807 | "getrandom", 808 | ] 809 | 810 | [[package]] 811 | name = "redox_syscall" 812 | version = "0.4.1" 813 | source = "registry+https://github.com/rust-lang/crates.io-index" 814 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 815 | dependencies = [ 816 | "bitflags 1.3.2", 817 | ] 818 | 819 | [[package]] 820 | name = "regex" 821 | version = "1.10.3" 822 | source = "registry+https://github.com/rust-lang/crates.io-index" 823 | checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" 824 | dependencies = [ 825 | "aho-corasick", 826 | "memchr", 827 | "regex-automata", 828 | "regex-syntax", 829 | ] 830 | 831 | [[package]] 832 | name = "regex-automata" 833 | version = "0.4.5" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" 836 | dependencies = [ 837 | "aho-corasick", 838 | "memchr", 839 | "regex-syntax", 840 | ] 841 | 842 | [[package]] 843 | name = "regex-syntax" 844 | version = "0.8.2" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 847 | 848 | [[package]] 849 | name = "reqwest" 850 | version = "0.11.24" 851 | source = "registry+https://github.com/rust-lang/crates.io-index" 852 | checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" 853 | dependencies = [ 854 | "base64", 855 | "bytes", 856 | "encoding_rs", 857 | "futures-core", 858 | "futures-util", 859 | "h2", 860 | "http", 861 | "http-body", 862 | "hyper", 863 | "hyper-tls", 864 | "ipnet", 865 | "js-sys", 866 | "log", 867 | "mime", 868 | "native-tls", 869 | "once_cell", 870 | "percent-encoding", 871 | "pin-project-lite", 872 | "rustls-pemfile", 873 | "serde", 874 | "serde_json", 875 | "serde_urlencoded", 876 | "sync_wrapper", 877 | "system-configuration", 878 | "tokio", 879 | "tokio-native-tls", 880 | "tower-service", 881 | "url", 882 | "wasm-bindgen", 883 | "wasm-bindgen-futures", 884 | "web-sys", 885 | "winreg", 886 | ] 887 | 888 | [[package]] 889 | name = "rustc-demangle" 890 | version = "0.1.23" 891 | source = "registry+https://github.com/rust-lang/crates.io-index" 892 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 893 | 894 | [[package]] 895 | name = "rustix" 896 | version = "0.38.31" 897 | source = "registry+https://github.com/rust-lang/crates.io-index" 898 | checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" 899 | dependencies = [ 900 | "bitflags 2.4.2", 901 | "errno", 902 | "libc", 903 | "linux-raw-sys", 904 | "windows-sys 0.52.0", 905 | ] 906 | 907 | [[package]] 908 | name = "rustls-pemfile" 909 | version = "1.0.4" 910 | source = "registry+https://github.com/rust-lang/crates.io-index" 911 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 912 | dependencies = [ 913 | "base64", 914 | ] 915 | 916 | [[package]] 917 | name = "ryu" 918 | version = "1.0.16" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" 921 | 922 | [[package]] 923 | name = "schannel" 924 | version = "0.1.23" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 927 | dependencies = [ 928 | "windows-sys 0.52.0", 929 | ] 930 | 931 | [[package]] 932 | name = "scopeguard" 933 | version = "1.2.0" 934 | source = "registry+https://github.com/rust-lang/crates.io-index" 935 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 936 | 937 | [[package]] 938 | name = "security-framework" 939 | version = "2.9.2" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" 942 | dependencies = [ 943 | "bitflags 1.3.2", 944 | "core-foundation", 945 | "core-foundation-sys", 946 | "libc", 947 | "security-framework-sys", 948 | ] 949 | 950 | [[package]] 951 | name = "security-framework-sys" 952 | version = "2.9.1" 953 | source = "registry+https://github.com/rust-lang/crates.io-index" 954 | checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" 955 | dependencies = [ 956 | "core-foundation-sys", 957 | "libc", 958 | ] 959 | 960 | [[package]] 961 | name = "serde" 962 | version = "1.0.196" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" 965 | dependencies = [ 966 | "serde_derive", 967 | ] 968 | 969 | [[package]] 970 | name = "serde_derive" 971 | version = "1.0.196" 972 | source = "registry+https://github.com/rust-lang/crates.io-index" 973 | checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" 974 | dependencies = [ 975 | "proc-macro2", 976 | "quote", 977 | "syn 2.0.48", 978 | ] 979 | 980 | [[package]] 981 | name = "serde_json" 982 | version = "1.0.113" 983 | source = "registry+https://github.com/rust-lang/crates.io-index" 984 | checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" 985 | dependencies = [ 986 | "itoa", 987 | "ryu", 988 | "serde", 989 | ] 990 | 991 | [[package]] 992 | name = "serde_urlencoded" 993 | version = "0.7.1" 994 | source = "registry+https://github.com/rust-lang/crates.io-index" 995 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 996 | dependencies = [ 997 | "form_urlencoded", 998 | "itoa", 999 | "ryu", 1000 | "serde", 1001 | ] 1002 | 1003 | [[package]] 1004 | name = "signal-hook-registry" 1005 | version = "1.4.1" 1006 | source = "registry+https://github.com/rust-lang/crates.io-index" 1007 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 1008 | dependencies = [ 1009 | "libc", 1010 | ] 1011 | 1012 | [[package]] 1013 | name = "slab" 1014 | version = "0.4.9" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1017 | dependencies = [ 1018 | "autocfg", 1019 | ] 1020 | 1021 | [[package]] 1022 | name = "smallvec" 1023 | version = "1.13.1" 1024 | source = "registry+https://github.com/rust-lang/crates.io-index" 1025 | checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" 1026 | 1027 | [[package]] 1028 | name = "socket2" 1029 | version = "0.5.5" 1030 | source = "registry+https://github.com/rust-lang/crates.io-index" 1031 | checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" 1032 | dependencies = [ 1033 | "libc", 1034 | "windows-sys 0.48.0", 1035 | ] 1036 | 1037 | [[package]] 1038 | name = "surge-ping" 1039 | version = "0.8.0" 1040 | source = "registry+https://github.com/rust-lang/crates.io-index" 1041 | checksum = "af341b2be485d647b5dc4cfb2da99efac35b5c95748a08fb7233480fedc5ead3" 1042 | dependencies = [ 1043 | "hex", 1044 | "parking_lot", 1045 | "pnet_packet", 1046 | "rand", 1047 | "socket2", 1048 | "thiserror", 1049 | "tokio", 1050 | "tracing", 1051 | ] 1052 | 1053 | [[package]] 1054 | name = "syn" 1055 | version = "1.0.109" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1058 | dependencies = [ 1059 | "proc-macro2", 1060 | "quote", 1061 | "unicode-ident", 1062 | ] 1063 | 1064 | [[package]] 1065 | name = "syn" 1066 | version = "2.0.48" 1067 | source = "registry+https://github.com/rust-lang/crates.io-index" 1068 | checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" 1069 | dependencies = [ 1070 | "proc-macro2", 1071 | "quote", 1072 | "unicode-ident", 1073 | ] 1074 | 1075 | [[package]] 1076 | name = "sync_wrapper" 1077 | version = "0.1.2" 1078 | source = "registry+https://github.com/rust-lang/crates.io-index" 1079 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 1080 | 1081 | [[package]] 1082 | name = "system-configuration" 1083 | version = "0.5.1" 1084 | source = "registry+https://github.com/rust-lang/crates.io-index" 1085 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 1086 | dependencies = [ 1087 | "bitflags 1.3.2", 1088 | "core-foundation", 1089 | "system-configuration-sys", 1090 | ] 1091 | 1092 | [[package]] 1093 | name = "system-configuration-sys" 1094 | version = "0.5.0" 1095 | source = "registry+https://github.com/rust-lang/crates.io-index" 1096 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 1097 | dependencies = [ 1098 | "core-foundation-sys", 1099 | "libc", 1100 | ] 1101 | 1102 | [[package]] 1103 | name = "tempfile" 1104 | version = "3.10.0" 1105 | source = "registry+https://github.com/rust-lang/crates.io-index" 1106 | checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" 1107 | dependencies = [ 1108 | "cfg-if", 1109 | "fastrand", 1110 | "rustix", 1111 | "windows-sys 0.52.0", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "thiserror" 1116 | version = "1.0.56" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" 1119 | dependencies = [ 1120 | "thiserror-impl", 1121 | ] 1122 | 1123 | [[package]] 1124 | name = "thiserror-impl" 1125 | version = "1.0.56" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" 1128 | dependencies = [ 1129 | "proc-macro2", 1130 | "quote", 1131 | "syn 2.0.48", 1132 | ] 1133 | 1134 | [[package]] 1135 | name = "tinyvec" 1136 | version = "1.6.0" 1137 | source = "registry+https://github.com/rust-lang/crates.io-index" 1138 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1139 | dependencies = [ 1140 | "tinyvec_macros", 1141 | ] 1142 | 1143 | [[package]] 1144 | name = "tinyvec_macros" 1145 | version = "0.1.1" 1146 | source = "registry+https://github.com/rust-lang/crates.io-index" 1147 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1148 | 1149 | [[package]] 1150 | name = "tokio" 1151 | version = "1.36.0" 1152 | source = "registry+https://github.com/rust-lang/crates.io-index" 1153 | checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" 1154 | dependencies = [ 1155 | "backtrace", 1156 | "bytes", 1157 | "libc", 1158 | "mio", 1159 | "num_cpus", 1160 | "parking_lot", 1161 | "pin-project-lite", 1162 | "signal-hook-registry", 1163 | "socket2", 1164 | "tokio-macros", 1165 | "windows-sys 0.48.0", 1166 | ] 1167 | 1168 | [[package]] 1169 | name = "tokio-macros" 1170 | version = "2.2.0" 1171 | source = "registry+https://github.com/rust-lang/crates.io-index" 1172 | checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" 1173 | dependencies = [ 1174 | "proc-macro2", 1175 | "quote", 1176 | "syn 2.0.48", 1177 | ] 1178 | 1179 | [[package]] 1180 | name = "tokio-native-tls" 1181 | version = "0.3.1" 1182 | source = "registry+https://github.com/rust-lang/crates.io-index" 1183 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1184 | dependencies = [ 1185 | "native-tls", 1186 | "tokio", 1187 | ] 1188 | 1189 | [[package]] 1190 | name = "tokio-util" 1191 | version = "0.7.10" 1192 | source = "registry+https://github.com/rust-lang/crates.io-index" 1193 | checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" 1194 | dependencies = [ 1195 | "bytes", 1196 | "futures-core", 1197 | "futures-sink", 1198 | "pin-project-lite", 1199 | "tokio", 1200 | "tracing", 1201 | ] 1202 | 1203 | [[package]] 1204 | name = "tower-service" 1205 | version = "0.3.2" 1206 | source = "registry+https://github.com/rust-lang/crates.io-index" 1207 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1208 | 1209 | [[package]] 1210 | name = "tracing" 1211 | version = "0.1.40" 1212 | source = "registry+https://github.com/rust-lang/crates.io-index" 1213 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1214 | dependencies = [ 1215 | "pin-project-lite", 1216 | "tracing-attributes", 1217 | "tracing-core", 1218 | ] 1219 | 1220 | [[package]] 1221 | name = "tracing-attributes" 1222 | version = "0.1.27" 1223 | source = "registry+https://github.com/rust-lang/crates.io-index" 1224 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1225 | dependencies = [ 1226 | "proc-macro2", 1227 | "quote", 1228 | "syn 2.0.48", 1229 | ] 1230 | 1231 | [[package]] 1232 | name = "tracing-core" 1233 | version = "0.1.32" 1234 | source = "registry+https://github.com/rust-lang/crates.io-index" 1235 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1236 | dependencies = [ 1237 | "once_cell", 1238 | ] 1239 | 1240 | [[package]] 1241 | name = "try-lock" 1242 | version = "0.2.5" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1245 | 1246 | [[package]] 1247 | name = "unicode-bidi" 1248 | version = "0.3.15" 1249 | source = "registry+https://github.com/rust-lang/crates.io-index" 1250 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 1251 | 1252 | [[package]] 1253 | name = "unicode-ident" 1254 | version = "1.0.12" 1255 | source = "registry+https://github.com/rust-lang/crates.io-index" 1256 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1257 | 1258 | [[package]] 1259 | name = "unicode-normalization" 1260 | version = "0.1.22" 1261 | source = "registry+https://github.com/rust-lang/crates.io-index" 1262 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1263 | dependencies = [ 1264 | "tinyvec", 1265 | ] 1266 | 1267 | [[package]] 1268 | name = "unicode-width" 1269 | version = "0.1.11" 1270 | source = "registry+https://github.com/rust-lang/crates.io-index" 1271 | checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 1272 | 1273 | [[package]] 1274 | name = "url" 1275 | version = "2.5.0" 1276 | source = "registry+https://github.com/rust-lang/crates.io-index" 1277 | checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 1278 | dependencies = [ 1279 | "form_urlencoded", 1280 | "idna", 1281 | "percent-encoding", 1282 | ] 1283 | 1284 | [[package]] 1285 | name = "vcpkg" 1286 | version = "0.2.15" 1287 | source = "registry+https://github.com/rust-lang/crates.io-index" 1288 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1289 | 1290 | [[package]] 1291 | name = "want" 1292 | version = "0.3.1" 1293 | source = "registry+https://github.com/rust-lang/crates.io-index" 1294 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1295 | dependencies = [ 1296 | "try-lock", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "wasi" 1301 | version = "0.11.0+wasi-snapshot-preview1" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1304 | 1305 | [[package]] 1306 | name = "wasm-bindgen" 1307 | version = "0.2.90" 1308 | source = "registry+https://github.com/rust-lang/crates.io-index" 1309 | checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" 1310 | dependencies = [ 1311 | "cfg-if", 1312 | "wasm-bindgen-macro", 1313 | ] 1314 | 1315 | [[package]] 1316 | name = "wasm-bindgen-backend" 1317 | version = "0.2.90" 1318 | source = "registry+https://github.com/rust-lang/crates.io-index" 1319 | checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" 1320 | dependencies = [ 1321 | "bumpalo", 1322 | "log", 1323 | "once_cell", 1324 | "proc-macro2", 1325 | "quote", 1326 | "syn 2.0.48", 1327 | "wasm-bindgen-shared", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "wasm-bindgen-futures" 1332 | version = "0.4.40" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" 1335 | dependencies = [ 1336 | "cfg-if", 1337 | "js-sys", 1338 | "wasm-bindgen", 1339 | "web-sys", 1340 | ] 1341 | 1342 | [[package]] 1343 | name = "wasm-bindgen-macro" 1344 | version = "0.2.90" 1345 | source = "registry+https://github.com/rust-lang/crates.io-index" 1346 | checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" 1347 | dependencies = [ 1348 | "quote", 1349 | "wasm-bindgen-macro-support", 1350 | ] 1351 | 1352 | [[package]] 1353 | name = "wasm-bindgen-macro-support" 1354 | version = "0.2.90" 1355 | source = "registry+https://github.com/rust-lang/crates.io-index" 1356 | checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" 1357 | dependencies = [ 1358 | "proc-macro2", 1359 | "quote", 1360 | "syn 2.0.48", 1361 | "wasm-bindgen-backend", 1362 | "wasm-bindgen-shared", 1363 | ] 1364 | 1365 | [[package]] 1366 | name = "wasm-bindgen-shared" 1367 | version = "0.2.90" 1368 | source = "registry+https://github.com/rust-lang/crates.io-index" 1369 | checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" 1370 | 1371 | [[package]] 1372 | name = "web-sys" 1373 | version = "0.3.67" 1374 | source = "registry+https://github.com/rust-lang/crates.io-index" 1375 | checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" 1376 | dependencies = [ 1377 | "js-sys", 1378 | "wasm-bindgen", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "windows-sys" 1383 | version = "0.48.0" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1386 | dependencies = [ 1387 | "windows-targets 0.48.5", 1388 | ] 1389 | 1390 | [[package]] 1391 | name = "windows-sys" 1392 | version = "0.52.0" 1393 | source = "registry+https://github.com/rust-lang/crates.io-index" 1394 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1395 | dependencies = [ 1396 | "windows-targets 0.52.0", 1397 | ] 1398 | 1399 | [[package]] 1400 | name = "windows-targets" 1401 | version = "0.48.5" 1402 | source = "registry+https://github.com/rust-lang/crates.io-index" 1403 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1404 | dependencies = [ 1405 | "windows_aarch64_gnullvm 0.48.5", 1406 | "windows_aarch64_msvc 0.48.5", 1407 | "windows_i686_gnu 0.48.5", 1408 | "windows_i686_msvc 0.48.5", 1409 | "windows_x86_64_gnu 0.48.5", 1410 | "windows_x86_64_gnullvm 0.48.5", 1411 | "windows_x86_64_msvc 0.48.5", 1412 | ] 1413 | 1414 | [[package]] 1415 | name = "windows-targets" 1416 | version = "0.52.0" 1417 | source = "registry+https://github.com/rust-lang/crates.io-index" 1418 | checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" 1419 | dependencies = [ 1420 | "windows_aarch64_gnullvm 0.52.0", 1421 | "windows_aarch64_msvc 0.52.0", 1422 | "windows_i686_gnu 0.52.0", 1423 | "windows_i686_msvc 0.52.0", 1424 | "windows_x86_64_gnu 0.52.0", 1425 | "windows_x86_64_gnullvm 0.52.0", 1426 | "windows_x86_64_msvc 0.52.0", 1427 | ] 1428 | 1429 | [[package]] 1430 | name = "windows_aarch64_gnullvm" 1431 | version = "0.48.5" 1432 | source = "registry+https://github.com/rust-lang/crates.io-index" 1433 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1434 | 1435 | [[package]] 1436 | name = "windows_aarch64_gnullvm" 1437 | version = "0.52.0" 1438 | source = "registry+https://github.com/rust-lang/crates.io-index" 1439 | checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" 1440 | 1441 | [[package]] 1442 | name = "windows_aarch64_msvc" 1443 | version = "0.48.5" 1444 | source = "registry+https://github.com/rust-lang/crates.io-index" 1445 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1446 | 1447 | [[package]] 1448 | name = "windows_aarch64_msvc" 1449 | version = "0.52.0" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" 1452 | 1453 | [[package]] 1454 | name = "windows_i686_gnu" 1455 | version = "0.48.5" 1456 | source = "registry+https://github.com/rust-lang/crates.io-index" 1457 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1458 | 1459 | [[package]] 1460 | name = "windows_i686_gnu" 1461 | version = "0.52.0" 1462 | source = "registry+https://github.com/rust-lang/crates.io-index" 1463 | checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" 1464 | 1465 | [[package]] 1466 | name = "windows_i686_msvc" 1467 | version = "0.48.5" 1468 | source = "registry+https://github.com/rust-lang/crates.io-index" 1469 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1470 | 1471 | [[package]] 1472 | name = "windows_i686_msvc" 1473 | version = "0.52.0" 1474 | source = "registry+https://github.com/rust-lang/crates.io-index" 1475 | checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" 1476 | 1477 | [[package]] 1478 | name = "windows_x86_64_gnu" 1479 | version = "0.48.5" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1482 | 1483 | [[package]] 1484 | name = "windows_x86_64_gnu" 1485 | version = "0.52.0" 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" 1487 | checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" 1488 | 1489 | [[package]] 1490 | name = "windows_x86_64_gnullvm" 1491 | version = "0.48.5" 1492 | source = "registry+https://github.com/rust-lang/crates.io-index" 1493 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1494 | 1495 | [[package]] 1496 | name = "windows_x86_64_gnullvm" 1497 | version = "0.52.0" 1498 | source = "registry+https://github.com/rust-lang/crates.io-index" 1499 | checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" 1500 | 1501 | [[package]] 1502 | name = "windows_x86_64_msvc" 1503 | version = "0.48.5" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1506 | 1507 | [[package]] 1508 | name = "windows_x86_64_msvc" 1509 | version = "0.52.0" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" 1512 | 1513 | [[package]] 1514 | name = "winreg" 1515 | version = "0.50.0" 1516 | source = "registry+https://github.com/rust-lang/crates.io-index" 1517 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 1518 | dependencies = [ 1519 | "cfg-if", 1520 | "windows-sys 0.48.0", 1521 | ] 1522 | --------------------------------------------------------------------------------