initial commit
This commit is contained in:
commit
65a7afcfbe
63008 changed files with 1210 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/target
|
737
Cargo.lock
generated
Normal file
737
Cargo.lock
generated
Normal file
|
@ -0,0 +1,737 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.71"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "axum"
|
||||
version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"axum-core",
|
||||
"bitflags",
|
||||
"bytes",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"itoa",
|
||||
"matchit",
|
||||
"memchr",
|
||||
"mime",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_path_to_error",
|
||||
"serde_urlencoded",
|
||||
"sync_wrapper",
|
||||
"tokio",
|
||||
"tower",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "axum-core"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"mime",
|
||||
"rustversion",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
|
||||
|
||||
[[package]]
|
||||
name = "captcha"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"lazy_static",
|
||||
"rand",
|
||||
"serde",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "fnv"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
||||
|
||||
[[package]]
|
||||
name = "form_urlencoded"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
|
||||
dependencies = [
|
||||
"percent-encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
"pin-project-lite",
|
||||
"pin-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.27.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
"itoa",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http-body"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "httparse"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
|
||||
|
||||
[[package]]
|
||||
name = "httpdate"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.14.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"httparse",
|
||||
"httpdate",
|
||||
"itoa",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
"want",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.147"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
|
||||
|
||||
[[package]]
|
||||
name = "matchit"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "mime"
|
||||
version = "0.3.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
|
||||
dependencies = [
|
||||
"adler",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "0.8.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.31.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
|
||||
|
||||
[[package]]
|
||||
name = "pin-project"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
|
||||
dependencies = [
|
||||
"pin-project-internal",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-internal"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.64"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"rand_chacha",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
dependencies = [
|
||||
"ppv-lite86",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_core"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.171"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.171"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.102"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_path_to_error"
|
||||
version = "0.1.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8acc4422959dd87a76cb117c191dcbffc20467f06c9100b76721dab370f24d3a"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_urlencoded"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sync_wrapper"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.29.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"backtrace",
|
||||
"bytes",
|
||||
"libc",
|
||||
"mio",
|
||||
"num_cpus",
|
||||
"pin-project-lite",
|
||||
"signal-hook-registry",
|
||||
"socket2",
|
||||
"tokio-macros",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower"
|
||||
version = "0.4.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"pin-project",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower-layer"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
|
||||
|
||||
[[package]]
|
||||
name = "tower-service"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"pin-project-lite",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "try-lock"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
|
||||
|
||||
[[package]]
|
||||
name = "want"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
|
||||
dependencies = [
|
||||
"try-lock",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
13
Cargo.toml
Normal file
13
Cargo.toml
Normal file
|
@ -0,0 +1,13 @@
|
|||
[package]
|
||||
name = "captcha"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
tokio = { version = "1.29", features = ["rt-multi-thread", "macros", "process"] }
|
||||
serde = { version = "1.0", features = ["serde_derive"] }
|
||||
axum = { version = "0.6", features = ["tokio", "query", "form", "json", "http1"], default-features = false }
|
||||
rand = "0.8"
|
||||
lazy_static = "1.4"
|
2
README.md
Normal file
2
README.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
digit images are from the MNIST handwritten digits dataset, licensed under CC BY-SA 3.0
|
||||
digit audio are from the FSDD spoken digit dataset v1.0.10, licensed under CC BY-SA 4.0
|
BIN
resources/audio/0/0_george_0.wav
Normal file
BIN
resources/audio/0/0_george_0.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_1.wav
Normal file
BIN
resources/audio/0/0_george_1.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_10.wav
Normal file
BIN
resources/audio/0/0_george_10.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_11.wav
Normal file
BIN
resources/audio/0/0_george_11.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_12.wav
Normal file
BIN
resources/audio/0/0_george_12.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_13.wav
Normal file
BIN
resources/audio/0/0_george_13.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_14.wav
Normal file
BIN
resources/audio/0/0_george_14.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_15.wav
Normal file
BIN
resources/audio/0/0_george_15.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_16.wav
Normal file
BIN
resources/audio/0/0_george_16.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_17.wav
Normal file
BIN
resources/audio/0/0_george_17.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_18.wav
Normal file
BIN
resources/audio/0/0_george_18.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_19.wav
Normal file
BIN
resources/audio/0/0_george_19.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_2.wav
Normal file
BIN
resources/audio/0/0_george_2.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_20.wav
Normal file
BIN
resources/audio/0/0_george_20.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_21.wav
Normal file
BIN
resources/audio/0/0_george_21.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_22.wav
Normal file
BIN
resources/audio/0/0_george_22.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_23.wav
Normal file
BIN
resources/audio/0/0_george_23.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_24.wav
Normal file
BIN
resources/audio/0/0_george_24.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_25.wav
Normal file
BIN
resources/audio/0/0_george_25.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_26.wav
Normal file
BIN
resources/audio/0/0_george_26.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_27.wav
Normal file
BIN
resources/audio/0/0_george_27.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_28.wav
Normal file
BIN
resources/audio/0/0_george_28.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_29.wav
Normal file
BIN
resources/audio/0/0_george_29.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_3.wav
Normal file
BIN
resources/audio/0/0_george_3.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_30.wav
Normal file
BIN
resources/audio/0/0_george_30.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_31.wav
Normal file
BIN
resources/audio/0/0_george_31.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_32.wav
Normal file
BIN
resources/audio/0/0_george_32.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_33.wav
Normal file
BIN
resources/audio/0/0_george_33.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_34.wav
Normal file
BIN
resources/audio/0/0_george_34.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_35.wav
Normal file
BIN
resources/audio/0/0_george_35.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_36.wav
Normal file
BIN
resources/audio/0/0_george_36.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_37.wav
Normal file
BIN
resources/audio/0/0_george_37.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_38.wav
Normal file
BIN
resources/audio/0/0_george_38.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_39.wav
Normal file
BIN
resources/audio/0/0_george_39.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_4.wav
Normal file
BIN
resources/audio/0/0_george_4.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_40.wav
Normal file
BIN
resources/audio/0/0_george_40.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_41.wav
Normal file
BIN
resources/audio/0/0_george_41.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_42.wav
Normal file
BIN
resources/audio/0/0_george_42.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_43.wav
Normal file
BIN
resources/audio/0/0_george_43.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_44.wav
Normal file
BIN
resources/audio/0/0_george_44.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_45.wav
Normal file
BIN
resources/audio/0/0_george_45.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_46.wav
Normal file
BIN
resources/audio/0/0_george_46.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_47.wav
Normal file
BIN
resources/audio/0/0_george_47.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_48.wav
Normal file
BIN
resources/audio/0/0_george_48.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_49.wav
Normal file
BIN
resources/audio/0/0_george_49.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_5.wav
Normal file
BIN
resources/audio/0/0_george_5.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_6.wav
Normal file
BIN
resources/audio/0/0_george_6.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_7.wav
Normal file
BIN
resources/audio/0/0_george_7.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_8.wav
Normal file
BIN
resources/audio/0/0_george_8.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_george_9.wav
Normal file
BIN
resources/audio/0/0_george_9.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_0.wav
Normal file
BIN
resources/audio/0/0_jackson_0.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_1.wav
Normal file
BIN
resources/audio/0/0_jackson_1.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_10.wav
Normal file
BIN
resources/audio/0/0_jackson_10.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_11.wav
Normal file
BIN
resources/audio/0/0_jackson_11.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_12.wav
Normal file
BIN
resources/audio/0/0_jackson_12.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_13.wav
Normal file
BIN
resources/audio/0/0_jackson_13.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_14.wav
Normal file
BIN
resources/audio/0/0_jackson_14.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_15.wav
Normal file
BIN
resources/audio/0/0_jackson_15.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_16.wav
Normal file
BIN
resources/audio/0/0_jackson_16.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_17.wav
Normal file
BIN
resources/audio/0/0_jackson_17.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_18.wav
Normal file
BIN
resources/audio/0/0_jackson_18.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_19.wav
Normal file
BIN
resources/audio/0/0_jackson_19.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_2.wav
Normal file
BIN
resources/audio/0/0_jackson_2.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_20.wav
Normal file
BIN
resources/audio/0/0_jackson_20.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_21.wav
Normal file
BIN
resources/audio/0/0_jackson_21.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_22.wav
Normal file
BIN
resources/audio/0/0_jackson_22.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_23.wav
Normal file
BIN
resources/audio/0/0_jackson_23.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_24.wav
Normal file
BIN
resources/audio/0/0_jackson_24.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_25.wav
Normal file
BIN
resources/audio/0/0_jackson_25.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_26.wav
Normal file
BIN
resources/audio/0/0_jackson_26.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_27.wav
Normal file
BIN
resources/audio/0/0_jackson_27.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_28.wav
Normal file
BIN
resources/audio/0/0_jackson_28.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_29.wav
Normal file
BIN
resources/audio/0/0_jackson_29.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_3.wav
Normal file
BIN
resources/audio/0/0_jackson_3.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_30.wav
Normal file
BIN
resources/audio/0/0_jackson_30.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_31.wav
Normal file
BIN
resources/audio/0/0_jackson_31.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_32.wav
Normal file
BIN
resources/audio/0/0_jackson_32.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_33.wav
Normal file
BIN
resources/audio/0/0_jackson_33.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_34.wav
Normal file
BIN
resources/audio/0/0_jackson_34.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_35.wav
Normal file
BIN
resources/audio/0/0_jackson_35.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_36.wav
Normal file
BIN
resources/audio/0/0_jackson_36.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_37.wav
Normal file
BIN
resources/audio/0/0_jackson_37.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_38.wav
Normal file
BIN
resources/audio/0/0_jackson_38.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_39.wav
Normal file
BIN
resources/audio/0/0_jackson_39.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_4.wav
Normal file
BIN
resources/audio/0/0_jackson_4.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_40.wav
Normal file
BIN
resources/audio/0/0_jackson_40.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_41.wav
Normal file
BIN
resources/audio/0/0_jackson_41.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_42.wav
Normal file
BIN
resources/audio/0/0_jackson_42.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_43.wav
Normal file
BIN
resources/audio/0/0_jackson_43.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_44.wav
Normal file
BIN
resources/audio/0/0_jackson_44.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_45.wav
Normal file
BIN
resources/audio/0/0_jackson_45.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_46.wav
Normal file
BIN
resources/audio/0/0_jackson_46.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_47.wav
Normal file
BIN
resources/audio/0/0_jackson_47.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_48.wav
Normal file
BIN
resources/audio/0/0_jackson_48.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_49.wav
Normal file
BIN
resources/audio/0/0_jackson_49.wav
Normal file
Binary file not shown.
BIN
resources/audio/0/0_jackson_5.wav
Normal file
BIN
resources/audio/0/0_jackson_5.wav
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue