Skip to content
This repository was archived by the owner on Sep 24, 2023. It is now read-only.

Commit 8ff4688

Browse files
committed
test
1 parent 61690a7 commit 8ff4688

File tree

3 files changed

+73
-1
lines changed

3 files changed

+73
-1
lines changed

Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "goodbye_kt"
3+
version = "0.1.0"
4+
authors = ["Akiacode <catry.me@gmail.com>"]
5+
edition = "2018"
6+
documentation = "https://docs.rs/goodbye_kt"
7+
repository = "https://github.com/AkiaCode/GoodbyeKT"
8+
license = "MIT"
9+
description = "Rust library that can be reset if you think it's slow"
10+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
11+
12+
[dependencies]
13+
reqwest = { version = "0.11.3", features = ["blocking"] }

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
1-
# goodbye_kt
1+
# GoodbyeKT
22
Rust library that can be reset if you think it's slow
3+
4+
5+
### Example
6+
```rust
7+
fn main() {
8+
let status = goodbye_kt::reset();
9+
10+
println!("{}", status);
11+
}
12+
```

src/lib.rs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
use std::collections::HashMap;
2+
use reqwest::Url;
3+
use reqwest::{header::USER_AGENT};
4+
5+
pub fn find_url() -> (String, String, String, String) {
6+
let client = reqwest::blocking::Client::new();
7+
let request = client.get("http://access.olleh.com")
8+
.header(USER_AGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36")
9+
.send().unwrap();
10+
11+
let url = request.url();
12+
13+
let scheme = url.scheme().to_string();
14+
let host = url.host().unwrap().to_string();
15+
let port = url.port().unwrap().to_string();
16+
let query = url.query().unwrap().to_string();
17+
18+
return (scheme, host, port, query);
19+
}
20+
21+
pub fn enter_admin_url(data: (String, String, String, String)) -> String {
22+
format!("{}://{}:{}/enterAdminId.html?{}", data.0, data.1, data.2, data.3)
23+
}
24+
25+
pub fn admin_url(data: (String, String, String, String)) -> String {
26+
format!("{}://{}:{}/reauth_said.html", data.0, data.1, data.2)
27+
}
28+
29+
pub fn reset() -> String {
30+
let find_url = find_url();
31+
32+
let url = Url::parse(&enter_admin_url(find_url.clone())).unwrap();
33+
let query: HashMap<String, String> = url.query_pairs().into_owned().collect();
34+
35+
let mut form = HashMap::new();
36+
form.insert("userID", "reset");
37+
form.insert("userPW", "reset1");
38+
form.insert("sso", query.get("sso").unwrap());
39+
form.insert("no", query.get("no").unwrap());
40+
41+
let client = reqwest::blocking::Client::new();
42+
let response = client.post(admin_url(find_url.clone()))
43+
.header(USER_AGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36")
44+
.header("Referer", enter_admin_url(find_url))
45+
.form(&form)
46+
.send().unwrap();
47+
48+
return response.status().to_string();
49+
}

0 commit comments

Comments
 (0)