diff --git a/.build.yml b/.build.yml index 4408343..861ea95 100644 --- a/.build.yml +++ b/.build.yml @@ -13,4 +13,5 @@ tasks: - upload: | echo "StrictHostKeyChecking=no" >> ~/.ssh/config rsync -e 'ssh -p 38901' -Wvr kawari/target/release/kawari-frontier deploy@ryne.moe:/opt/kawari/ - rsync -e 'ssh -p 38901' -Wvr kawari/target/release/kawari-admin deploy@ryne.moe:/opt/kawari/ \ No newline at end of file + rsync -e 'ssh -p 38901' -Wvr kawari/target/release/kawari-admin deploy@ryne.moe:/opt/kawari/ + rsync -e 'ssh -p 38901' -Wvr kawari/target/release/kawari-login deploy@ryne.moe:/opt/kawari/ \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index f204d22..d722be7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,9 @@ name = "kawari-frontier" [[bin]] name = "kawari-admin" +[[bin]] +name = "kawari-login" + [profile.release] lto = true strip = true diff --git a/src/bin/kawari-login.rs b/src/bin/kawari-login.rs new file mode 100644 index 0000000..f65e899 --- /dev/null +++ b/src/bin/kawari-login.rs @@ -0,0 +1,40 @@ +use std::net::SocketAddr; + +use axum::{Form, Json, Router, routing::get}; +use axum::response::Html; +use axum::routing::post; +use serde::{Deserialize, Serialize}; +use kawari::config::Config; + +async fn top() -> Html<&'static str> { + Html("
\r\n\t\r\n\t\t\r\n\t\t\n\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t
\r\n\r\n\r\n\r\n\r\n") +} + +#[derive(Deserialize, Debug)] +#[allow(dead_code)] +struct Input { + _STORED_: String, + sqexid: String, + password: String, + otppw: String +} + +async fn login_send(Form(input): Form) -> Html<&'static str> { + Html("window.external.user(\"login=auth,ok,sid,5b1548e2aa30bb9ef4cc9a4a690eb900cf0c801332149eeb227df7f8,terms,1,region,2,etmadd,0,playable,1,ps3pkg,0,maxex,4,product,1\");") +} + +#[tokio::main] +async fn main() { + tracing_subscriber::fmt::init(); + + let app = Router::new() + .route("/oauth/ffxivarr/login/top", post(top)) + .route("/oauth/ffxivarr/login/login.send", post(login_send)); + + let addr = SocketAddr::from(([127, 0, 0, 1], 6700)); + tracing::info!("Frontier server started on {}", addr); + axum::Server::bind(&addr) + .serve(app.into_make_service()) + .await + .unwrap(); +} \ No newline at end of file