add whole app LOL

Co-authored-by: Alpisc <Alpisc@users.noreply.github.com>
This commit is contained in:
Mystikfluu
2023-01-14 21:20:37 +01:00
co-authored by Alpisc
parent 981a2641c0
commit ddf53e5908
13 changed files with 695 additions and 146 deletions
+176 -47
View File
@@ -161,6 +161,12 @@ dependencies = [
"serde",
]
[[package]]
name = "bumpalo"
version = "3.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
[[package]]
name = "bytemuck"
version = "1.12.3"
@@ -818,7 +824,7 @@ dependencies = [
"libc",
"log",
"rustversion",
"windows",
"windows 0.39.0",
]
[[package]]
@@ -1194,20 +1200,19 @@ dependencies = [
[[package]]
name = "ip_lib"
version = "0.1.0"
version = "1.0.0"
dependencies = [
"aes-gcm",
"brotli",
"hex",
"home",
"rand 0.8.5",
"rpassword",
"sha2",
]
[[package]]
name = "ipass-gui"
version = "0.0.1"
version = "0.1.0"
dependencies = [
"ip_lib",
"serde",
@@ -1271,6 +1276,15 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
[[package]]
name = "js-sys"
version = "0.3.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "json-patch"
version = "0.2.7"
@@ -1538,6 +1552,17 @@ dependencies = [
"objc_exception",
]
[[package]]
name = "objc-foundation"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
dependencies = [
"block",
"objc",
"objc_id",
]
[[package]]
name = "objc_exception"
version = "0.1.2"
@@ -1568,16 +1593,6 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "open"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8"
dependencies = [
"pathdiff",
"windows-sys",
]
[[package]]
name = "overload"
version = "0.1.1"
@@ -1638,12 +1653,6 @@ version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
[[package]]
name = "pathdiff"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
[[package]]
name = "percent-encoding"
version = "2.2.0"
@@ -2031,24 +2040,27 @@ dependencies = [
]
[[package]]
name = "rpassword"
version = "7.2.0"
name = "rfd"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea"
dependencies = [
"libc",
"rtoolbox",
"winapi",
]
[[package]]
name = "rtoolbox"
version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
dependencies = [
"libc",
"winapi",
"block",
"dispatch",
"glib-sys",
"gobject-sys",
"gtk-sys",
"js-sys",
"lazy_static",
"log",
"objc",
"objc-foundation",
"objc_id",
"raw-window-handle",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"windows 0.37.0",
]
[[package]]
@@ -2451,7 +2463,7 @@ dependencies = [
"serde",
"unicode-segmentation",
"uuid 1.2.2",
"windows",
"windows 0.39.0",
"windows-implement",
"x11-dl",
]
@@ -2488,11 +2500,10 @@ dependencies = [
"ignore",
"objc",
"once_cell",
"open",
"percent-encoding",
"rand 0.8.5",
"raw-window-handle",
"regex",
"rfd",
"semver 1.0.16",
"serde",
"serde_json",
@@ -2511,7 +2522,7 @@ dependencies = [
"uuid 1.2.2",
"webkit2gtk",
"webview2-com",
"windows",
"windows 0.39.0",
]
[[package]]
@@ -2544,7 +2555,6 @@ dependencies = [
"png",
"proc-macro2",
"quote",
"regex",
"semver 1.0.16",
"serde",
"serde_json",
@@ -2587,7 +2597,7 @@ dependencies = [
"thiserror",
"uuid 1.2.2",
"webview2-com",
"windows",
"windows 0.39.0",
]
[[package]]
@@ -2606,7 +2616,7 @@ dependencies = [
"uuid 1.2.2",
"webkit2gtk",
"webview2-com",
"windows",
"windows 0.39.0",
"wry",
]
@@ -2635,7 +2645,7 @@ dependencies = [
"thiserror",
"url",
"walkdir",
"windows",
"windows 0.39.0",
]
[[package]]
@@ -2963,6 +2973,82 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
dependencies = [
"cfg-if",
"js-sys",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
dependencies = [
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
[[package]]
name = "web-sys"
version = "0.3.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "webkit2gtk"
version = "0.18.2"
@@ -3018,7 +3104,7 @@ checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178"
dependencies = [
"webview2-com-macros",
"webview2-com-sys",
"windows",
"windows 0.39.0",
"windows-implement",
]
@@ -3043,7 +3129,7 @@ dependencies = [
"serde",
"serde_json",
"thiserror",
"windows",
"windows 0.39.0",
"windows-bindgen",
"windows-metadata",
]
@@ -3079,6 +3165,19 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647"
dependencies = [
"windows_aarch64_msvc 0.37.0",
"windows_i686_gnu 0.37.0",
"windows_i686_msvc 0.37.0",
"windows_x86_64_gnu 0.37.0",
"windows_x86_64_msvc 0.37.0",
]
[[package]]
name = "windows"
version = "0.39.0"
@@ -3146,6 +3245,12 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
[[package]]
name = "windows_aarch64_msvc"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a"
[[package]]
name = "windows_aarch64_msvc"
version = "0.39.0"
@@ -3158,6 +3263,12 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
[[package]]
name = "windows_i686_gnu"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1"
[[package]]
name = "windows_i686_gnu"
version = "0.39.0"
@@ -3170,6 +3281,12 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
[[package]]
name = "windows_i686_msvc"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c"
[[package]]
name = "windows_i686_msvc"
version = "0.39.0"
@@ -3182,6 +3299,12 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
[[package]]
name = "windows_x86_64_gnu"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d"
[[package]]
name = "windows_x86_64_gnu"
version = "0.39.0"
@@ -3200,6 +3323,12 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
[[package]]
name = "windows_x86_64_msvc"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d"
[[package]]
name = "windows_x86_64_msvc"
version = "0.39.0"
@@ -3255,7 +3384,7 @@ dependencies = [
"webkit2gtk",
"webkit2gtk-sys",
"webview2-com",
"windows",
"windows 0.39.0",
"windows-implement",
]
+3 -3
View File
@@ -1,6 +1,6 @@
[package]
name = "ipass-gui"
version = "0.0.1"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -11,7 +11,7 @@ tauri-build = { version = "1.2", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.2", features = ["shell-open"] }
tauri = { version = "1.2", features = ["dialog-confirm"] }
ip_lib = { path = "../library/" }
[features]
@@ -27,4 +27,4 @@ opt-level = 'z' # Optimize for size
lto = true # Enable link-time optimization
codegen-units = 1 # Reduce number of codegen units to increase optimizations
panic = 'abort' # Abort on panic
# strip = true # Strip symbols from binary; remove pdb
strip = true # Strip symbols from binary; remove pdb
+52 -11
View File
@@ -1,24 +1,65 @@
#![cfg_attr(
all(not(debug_assertions), target_os = "linux"),
windows_subsystem = "windows"
all(not(debug_assertions), target_os = "linux"),
windows_subsystem = "windows"
)]
extern crate ip_lib;
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}! You've been greeted from Rust!", name)
}
#[tauri::command]
fn get_version() -> String {
return option_env!("CARGO_PKG_VERSION").unwrap_or("x.x.x").to_string();
return option_env!("CARGO_PKG_VERSION").unwrap_or("x.x.x").to_string();
}
#[tauri::command]
fn create_entry(name: String, username: String, pw: &str, mpw: String) -> bool {
ip_lib::create_entry(&name, username+";"+pw, mpw)
}
#[tauri::command]
fn random_password() -> String {
ip_lib::random_password()
}
#[tauri::command]
fn get_entry(name: String, mpw: String) -> Result<(String,String),String> {
let binding = ip_lib::get_entry(&name, mpw);
if let Ok(data) = binding {
let mut split = data.split(";");
return Ok((split.next().unwrap().to_string(),split.next().unwrap().to_string()));
} else {
return Err(binding.expect_err("expected error"));
}
}
#[tauri::command]
fn get_entries() -> Vec<String> {
let mut vector: Vec<String> = Vec::default();
for entry in ip_lib::get_entries() {
let entry_filename = entry.unwrap().file_name();
let ent =entry_filename.to_str().unwrap();
vector.insert(0, ent[..ent.len()-6].to_string());
}
vector.sort();
return vector;
}
#[tauri::command]
fn remove_entry(name: &str) -> bool {
let filepath = &(ip_lib::get_ipass_folder()+name+".ipass");
if std::path::Path::new(filepath).exists() {
std::fs::remove_file(filepath).unwrap();
return true;
}
return false;
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet,get_version])
.run(tauri::generate_context!())
.expect("error while running tauri application");
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![get_version,create_entry,random_password,get_entry,get_entries,remove_entry])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
+11 -6
View File
@@ -8,14 +8,18 @@
},
"package": {
"productName": "ipass",
"version": "0.0.1"
"version": "0.1.0"
},
"tauri": {
"allowlist": {
"all": false,
"shell": {
"dialog": {
"all": false,
"open": true
"open": false,
"save": false,
"ask": false,
"message": false,
"confirm": true
}
},
"bundle": {
@@ -58,9 +62,10 @@
{
"fullscreen": false,
"height": 600,
"resizable": true,
"title": "ipass-gui",
"width": 800
"resizable": false,
"title": "IPass",
"width": 880,
"theme": "Dark"
}
]
}