feat: update post-rs

This commit is contained in:
2024-12-29 12:47:47 +08:00
parent 4d3e0341ff
commit 6d11b30ec9
2 changed files with 8 additions and 4 deletions

8
post-rs/src/main.rs Normal file → Executable file
View File

@@ -47,6 +47,10 @@ struct Args {
#[arg(long)]
available_after_decrypt: Option<String>,
/// Generate short URL, available minutes
#[arg(long)]
short_url_available_minutes: Option<u32>,
/// Password
#[arg(short, long)]
pass: Option<String>,
@@ -113,14 +117,14 @@ fn main() {
Err(e) => failure_and_exit!("Post file: {} response failed: {}", file_name, e),
Ok(text) => {
success!("Post file: {} succeed: {}", file_name, &text);
if read_yes_no("Generate One Time Link") {
if args.short_url_available_minutes.is_some() || read_yes_no("Generate One Time Link") {
let post_response: Value = serde_json::from_str(&text).unwrap();
if let Some(post_response_data) = post_response.get("data") {
if let Some(Value::String(full_link)) = post_response_data.get("fullLink") {
let mut params = HashMap::new();
params.insert("pretty", "true".to_string());
params.insert("targetUrl", full_link.to_string());
params.insert("aliveTimeMin", "10".to_string());
params.insert("aliveTimeMin", args.short_url_available_minutes.unwrap_or(10).to_string());
let otl_result = client.post("https://hatter.ink/onetimelink/add.json")
.form(&params)
.send();