diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..6063d2b --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,79 @@ +name: Release stable image + +on: + push: + branches: + - "release/stable/**" + pull_request: + branches: + - "release/stable/**" + types: [opened, synchronize] + +env: + CARGO_TERM_COLOR: always + +jobs: + release_image: + strategy: + fail-fast: false + matrix: + cache: + - memory + - redis + - hybrid + - no-cache + + name: Release ${{ matrix.cache }} image + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + # Install buildx + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + # Set buildx cache + - name: Cache register + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: buildx-cache + # Login to ghcr.io + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: neonmmd + password: ${{ secrets.DOCKERHUB_TOKEN }} + # Extract branch info + - name: Set info + run: | + echo "VERSION=$(echo ${GITHUB_REF} | awk -F/ '{print $6}')" >> $GITHUB_ENV + # Print info for debug + - name: Print Info + run: | + echo $VERSION + # Create buildx multiarch + - name: Create buildx multiarch + run: docker buildx create --use --name=buildx-multi-arch --driver=docker-container --driver-opt=network=host + # Modify cache variable in the dockerfile. + - name: Modify Cache variable + run: | + sed -i "s/ARG CACHE=[a-z]*/ARG CACHE=${{ matrix.cache }}/g" Dockerfile + # Publish image + - name: Publish image + run: docker buildx build --builder=buildx-multi-arch --platform=linux/amd64,linux/arm64 --build-arg CACHE=${{ matrix.cache }} --push -t neonmmd/websurfx:$VERSION-${{ matrix.cache }} -t neon-mmd/websurfx:${{matrix.cache}} -f Dockerfile . + - name: Publish latest + if: ${{ matrix.cache }} == 'hybrid' + run: docker buildx build --builder=buildx-multi-arch --platform=linux/amd64,linux/arm64 --build-arg CACHE=${{ matrix.cache }} --push -t neon-mmd/websurfx:latest -f Dockerfile . + # Upload it to release + - name: Test if release already exists + id: release-exists + continue-on-error: true + run: gh release view $BINARY_NAME-$VERSION + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create new draft release + if: steps.release-exists.outcome == 'failure' && steps.release-exists.conclusion == 'success' + run: gh release create -t $VERSION -d $VERSION + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index d66fb93..f1b09d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ "futures-sink", "memchr", "pin-project-lite", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-util", "tracing", ] @@ -31,7 +31,7 @@ dependencies = [ "futures-util", "log", "once_cell", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -53,7 +53,7 @@ dependencies = [ "log", "mime", "mime_guess", - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", "pin-project-lite", ] @@ -87,19 +87,19 @@ dependencies = [ "derive_more", "encoding_rs", "futures-core", - "http 0.2.9", + "http 0.2.11", "httparse", "httpdate", "itoa 1.0.9", "language-tags", "local-channel", "mime", - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", "pin-project-lite", "rand 0.8.5", "sha1", - "smallvec 1.11.1", - "tokio 1.33.0", + "smallvec 1.11.2", + "tokio 1.34.0", "tokio-util", "tracing", ] @@ -121,7 +121,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" dependencies = [ "bytestring", - "http 0.2.9", + "http 0.2.11", "regex", "serde", "tracing", @@ -134,7 +134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d" dependencies = [ "futures-core", - "tokio 1.33.0", + "tokio 1.34.0", ] [[package]] @@ -150,7 +150,7 @@ dependencies = [ "futures-util", "mio 0.8.9", "socket2 0.5.5", - "tokio 1.33.0", + "tokio 1.34.0", "tracing", ] @@ -209,10 +209,10 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded 0.7.1", - "smallvec 1.11.1", + "smallvec 1.11.2", "socket2 0.5.5", "time 0.3.30", - "url 2.4.1", + "url 2.5.0", ] [[package]] @@ -489,9 +489,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019" +checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" dependencies = [ "memchr", "serde", @@ -637,18 +637,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.7" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" +checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.7" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" +checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" dependencies = [ "anstyle", "clap_lex", @@ -679,7 +679,7 @@ dependencies = [ "futures-core", "memchr", "pin-project-lite", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-util", ] @@ -731,7 +731,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" dependencies = [ - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", "time 0.3.30", "version_check", ] @@ -909,7 +909,7 @@ dependencies = [ "dtoa-short", "itoa 1.0.9", "phf 0.11.2", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -922,7 +922,7 @@ dependencies = [ "dtoa-short", "itoa 1.0.9", "phf 0.11.2", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -959,9 +959,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "deranged" @@ -1055,9 +1055,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ "log", ] @@ -1069,14 +1069,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2d328fc287c61314c4a61af7cfdcbd7e678e39778488c7cb13ec133ce0f4059" dependencies = [ "fsio", - "indexmap", + "indexmap 1.9.3", ] [[package]] -name = "errno" -version = "0.3.6" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ "libc", "windows-sys", @@ -1173,11 +1179,11 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", ] [[package]] @@ -1370,9 +1376,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -1395,7 +1401,7 @@ dependencies = [ "parking_lot 0.12.1", "quanta", "rand 0.8.5", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -1409,7 +1415,7 @@ dependencies = [ "fnv", "futures 0.1.31", "http 0.1.21", - "indexmap", + "indexmap 1.9.3", "log", "slab", "string", @@ -1418,19 +1424,19 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes 1.5.0", "fnv", "futures-core", "futures-sink", "futures-util", - "http 0.2.9", - "indexmap", + "http 0.2.11", + "indexmap 2.1.0", "slab", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-util", "tracing", ] @@ -1441,21 +1447,6 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" -[[package]] -name = "handlebars" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39b3bc2a8f715298032cf5087e58573809374b08160aa7d750582bdb82d2683" -dependencies = [ - "log", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror", - "walkdir", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1534,9 +1525,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes 1.5.0", "fnv", @@ -1562,7 +1553,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes 1.5.0", - "http 0.2.9", + "http 0.2.11", "pin-project-lite", ] @@ -1624,15 +1615,15 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.21", - "http 0.2.9", + "h2 0.3.22", + "http 0.2.11", "http-body 0.4.5", "httparse", "httpdate", "itoa 1.0.9", "pin-project-lite", "socket2 0.4.10", - "tokio 1.33.0", + "tokio 1.34.0", "tower-service", "tracing", "want 0.3.1", @@ -1645,10 +1636,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http 0.2.9", + "http 0.2.11", "hyper 0.14.27", "rustls", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-rustls", ] @@ -1689,9 +1680,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1707,6 +1698,16 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.2", +] + [[package]] name = "iovec" version = "0.1.4" @@ -1818,7 +1819,7 @@ dependencies = [ "parcel_selectors", "paste", "pathdiff", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -1880,9 +1881,9 @@ dependencies = [ [[package]] name = "luajit-src" -version = "210.4.8+resty107baaf" +version = "210.5.2+113a168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05167e8b2a2185758d83ed23541e5bd8bce37072e4204e0ef2c9b322bc87c4e" +checksum = "823ec7bedb1819b11633bd583ae981b0082db08492b0c3396412b85dd329ffee" dependencies = [ "cc", "which", @@ -1940,6 +1941,30 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "maud" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0bab19cef8a7fe1c18a43e881793bfc9d4ea984befec3ae5bd0415abf3ecf00" +dependencies = [ + "actix-web", + "futures-util", + "itoa 1.0.9", + "maud_macros", +] + +[[package]] +name = "maud_macros" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be95d66c3024ffce639216058e5bae17a83ecaf266ffc6e4d060ad447c9eed2" +dependencies = [ + "proc-macro-error", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 1.0.109", +] + [[package]] name = "maybe-uninit" version = "2.0.0" @@ -1996,7 +2021,7 @@ dependencies = [ "crossbeam-utils 0.8.16", "dashmap", "skeptic", - "smallvec 1.11.1", + "smallvec 1.11.2", "tagptr", "triomphe", ] @@ -2075,9 +2100,9 @@ dependencies = [ [[package]] name = "mlua" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c3a7a7ff4481ec91b951a733390211a8ace1caba57266ccb5f4d4966704e560" +checksum = "7c81f8ac20188feb5461a73eabb22a34dd09d6d58513535eb587e46bff6ba250" dependencies = [ "bstr", "mlua-sys", @@ -2088,9 +2113,9 @@ dependencies = [ [[package]] name = "mlua-sys" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec8b54eddb76093069cce9eeffb4c7b3a1a0fe66962d7bd44c4867928149ca3" +checksum = "fc29228347d6bdc9e613dc95c69df2817f755434ee0f7f3b27b57755fe238b7f" dependencies = [ "cc", "cfg-if 1.0.0", @@ -2194,9 +2219,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "openssl" -version = "0.10.59" +version = "0.10.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" +checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800" dependencies = [ "bitflags 2.4.1", "cfg-if 1.0.0", @@ -2226,9 +2251,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.95" +version = "0.9.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" +checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f" dependencies = [ "cc", "libc", @@ -2249,7 +2274,7 @@ dependencies = [ "phf 0.10.1", "phf_codegen 0.10.0", "precomputed-hash", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -2297,7 +2322,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.4.1", - "smallvec 1.11.1", + "smallvec 1.11.2", "windows-targets", ] @@ -2334,54 +2359,9 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" - -[[package]] -name = "pest" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", -] - -[[package]] -name = "pest_meta" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" -dependencies = [ - "once_cell", - "pest", - "sha2", -] +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "phf" @@ -2557,6 +2537,30 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2 1.0.69", + "quote 1.0.33", + "version_check", +] + [[package]] name = "proc-macro2" version = "0.4.30" @@ -2582,7 +2586,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f" dependencies = [ "idna 0.2.3", - "url 2.4.1", + "url 2.5.0", ] [[package]] @@ -2797,13 +2801,13 @@ dependencies = [ "futures 0.3.29", "futures-util", "itoa 1.0.9", - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", "pin-project-lite", "ryu", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-retry", "tokio-util", - "url 2.4.1", + "url 2.5.0", ] [[package]] @@ -2896,8 +2900,8 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.3.21", - "http 0.2.9", + "h2 0.3.22", + "http 0.2.11", "http-body 0.4.5", "hyper 0.14.27", "hyper-rustls", @@ -2906,7 +2910,7 @@ dependencies = [ "log", "mime", "once_cell", - "percent-encoding 2.3.0", + "percent-encoding 2.3.1", "pin-project-lite", "rustls", "rustls-pemfile", @@ -2914,11 +2918,11 @@ dependencies = [ "serde_json", "serde_urlencoded 0.7.1", "system-configuration", - "tokio 1.33.0", + "tokio 1.34.0", "tokio-rustls", "tokio-util", "tower-service", - "url 2.4.1", + "url 2.5.0", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -2985,9 +2989,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", "ring", @@ -2997,9 +3001,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ "base64 0.21.5", ] @@ -3130,7 +3134,7 @@ dependencies = [ "phf_codegen 0.10.0", "precomputed-hash", "servo_arc", - "smallvec 1.11.1", + "smallvec 1.11.2", ] [[package]] @@ -3159,18 +3163,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", @@ -3232,17 +3236,6 @@ dependencies = [ "digest", ] -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest", -] - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -3299,9 +3292,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" dependencies = [ "serde", ] @@ -3513,26 +3506,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "thiserror" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" -dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.39", -] - [[package]] name = "thousands" version = "0.2.0" @@ -3625,9 +3598,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes 1.5.0", @@ -3686,9 +3659,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", @@ -3722,7 +3695,7 @@ checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project", "rand 0.8.5", - "tokio 1.33.0", + "tokio 1.34.0", ] [[package]] @@ -3732,7 +3705,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ "rustls", - "tokio 1.33.0", + "tokio 1.34.0", ] [[package]] @@ -3798,7 +3771,7 @@ dependencies = [ "futures-core", "futures-sink", "pin-project-lite", - "tokio 1.33.0", + "tokio 1.34.0", "tracing", ] @@ -3864,12 +3837,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - [[package]] name = "unicase" version = "2.7.0" @@ -3937,13 +3904,13 @@ dependencies = [ [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.4.0", - "percent-encoding 2.3.0", + "idna 0.5.0", + "percent-encoding 2.3.1", ] [[package]] @@ -4093,13 +4060,13 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.2" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "websurfx" -version = "1.2.28" +version = "1.2.30" dependencies = [ "actix-cors", "actix-files", @@ -4114,9 +4081,9 @@ dependencies = [ "error-stack", "fake-useragent", "futures 0.3.29", - "handlebars", "lightningcss", "log", + "maud", "mimalloc", "mini-moka", "minify-js", @@ -4128,21 +4095,22 @@ dependencies = [ "scraper", "serde", "serde_json", - "smallvec 1.11.1", + "smallvec 1.11.2", "tempfile", - "tokio 1.33.0", + "tokio 1.34.0", ] [[package]] name = "which" -version = "4.4.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" dependencies = [ "either", "home", "once_cell", "rustix", + "windows-sys", ] [[package]] @@ -4285,18 +4253,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", diff --git a/Cargo.toml b/Cargo.toml index e247241..56e608f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "websurfx" -version = "1.2.28" +version = "1.2.30" edition = "2021" description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind." repository = "https://github.com/neon-mmd/websurfx" diff --git a/public/static/colorschemes/catppuccin-mocha.css b/public/static/colorschemes/catppuccin-mocha.css index 95f68b4..41cc9e0 100644 --- a/public/static/colorschemes/catppuccin-mocha.css +++ b/public/static/colorschemes/catppuccin-mocha.css @@ -7,5 +7,5 @@ --color-four: #f9e2af; --color-five: #89b4fa; --color-six: #f5c2e7; - --color-seven: #ffffff; + --color-seven: #fff; } diff --git a/public/static/colorschemes/dark-chocolate.css b/public/static/colorschemes/dark-chocolate.css index f60d5ab..32f1f0b 100644 --- a/public/static/colorschemes/dark-chocolate.css +++ b/public/static/colorschemes/dark-chocolate.css @@ -1,11 +1,11 @@ :root { - --background-color: #000000; - --foreground-color: #ffffff; + --background-color: #000; + --foreground-color: #fff; --color-one: #121212; --color-two: #808080; - --color-three: #999999; - --color-four: #666666; + --color-three: #999; + --color-four: #666; --color-five: #bfbfbf; --color-six: #e0e0e0; - --color-seven: #555555; + --color-seven: #555; } diff --git a/public/static/colorschemes/dracula.css b/public/static/colorschemes/dracula.css index 71739ab..bb15d4c 100644 --- a/public/static/colorschemes/dracula.css +++ b/public/static/colorschemes/dracula.css @@ -1,11 +1,11 @@ :root { --background-color: #44475a; --foreground-color: #8be9fd; - --color-one: #ff5555; + --color-one: #f55; --color-two: #50fa7b; --color-three: #ffb86c; --color-four: #bd93f9; --color-five: #ff79c6; --color-six: #94a3a5; - --color-seven: #ffffff; + --color-seven: #fff; } diff --git a/public/static/colorschemes/gruvbox-dark.css b/public/static/colorschemes/gruvbox-dark.css index 69f81d6..ca89eb2 100644 --- a/public/static/colorschemes/gruvbox-dark.css +++ b/public/static/colorschemes/gruvbox-dark.css @@ -7,5 +7,5 @@ --color-four: #458588; --color-five: #b16286; --color-six: #689d6a; - --color-seven: #ffffff; + --color-seven: #fff; } diff --git a/public/static/colorschemes/monokai.css b/public/static/colorschemes/monokai.css index 7c33160..ea1b58e 100644 --- a/public/static/colorschemes/monokai.css +++ b/public/static/colorschemes/monokai.css @@ -7,5 +7,5 @@ --color-four: #fc9867; --color-five: #ab9df2; --color-six: #78dce8; - --color-seven: #ffffff; + --color-seven: #fff; } diff --git a/public/static/themes/simple.css b/public/static/themes/simple.css index 62ff0ea..2670c22 100644 --- a/public/static/themes/simple.css +++ b/public/static/themes/simple.css @@ -45,7 +45,7 @@ body { height: 3rem; outline: none; border: none; - box-shadow: rgba(0, 0, 0, 1); + box-shadow: rgb(0 0 0 / 1); background: var(--foreground-color); } @@ -126,9 +126,11 @@ body { min-height: 20rem; min-width: 22rem; } + .error_box .dropdown_error_box.show { display: flex; } + .error_box .dropdown_error_box .error_item, .error_box .dropdown_error_box .no_errors { display: flex; @@ -138,22 +140,25 @@ body { padding: 1rem; font-size: 1.2rem; } + .error_box .dropdown_error_box .error_item { justify-content: space-between; } + .error_box .dropdown_error_box .no_errors { min-height: 18rem; justify-content: center; } .error_box .dropdown_error_box .error_item:hover { - box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.1); + box-shadow: inset 0 0 100px 100px rgb(255 255 255 / 0.1); } .error_box .error_item .severity_color { width: 1.2rem; height: 1.2rem; } + .results .result_disallowed, .results .result_filtered, .results .result_engine_not_selected { @@ -163,7 +168,7 @@ body { gap: 10rem; font-size: 2rem; color: var(--foreground-color); - margin: 0rem 7rem; + margin: 0 7rem; } .results .result_disallowed .user_query, @@ -367,7 +372,7 @@ footer { } .page_navigation { - padding: 0 0 2rem 0; + padding: 0 0 2rem; display: flex; justify-content: space-between; align-items: center; @@ -441,7 +446,7 @@ footer { .settings hr { border-color: var(--color-three); - margin: 0.3rem 0 1rem 0; + margin: 0.3rem 0 1rem; } .settings_container .sidebar { @@ -564,10 +569,11 @@ footer { } .settings_container .cookies input { - margin: 1rem 0rem; + margin: 1rem 0; } /* Styles for the toggle button */ + /* The switch - the box around the slider */ .switch { position: relative; @@ -587,16 +593,12 @@ footer { .slider { position: absolute; cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; + inset: 0; background-color: var(--background-color); - -webkit-transition: 0.4s; transition: 0.4s; } -.slider:before { +.slider::before { position: absolute; content: ''; height: 2.6rem; @@ -604,7 +606,6 @@ footer { left: 0.4rem; bottom: 0.4rem; background-color: var(--foreground-color); - -webkit-transition: 0.4s; transition: 0.4s; } @@ -616,9 +617,7 @@ input:focus + .slider { box-shadow: 0 0 1px var(--color-three); } -input:checked + .slider:before { - -webkit-transform: translateX(2.6rem); - -ms-transform: translateX(2.6rem); +input:checked + .slider::before { transform: translateX(2.6rem); } @@ -627,6 +626,6 @@ input:checked + .slider:before { border-radius: 3.4rem; } -.slider.round:before { +.slider.round::before { border-radius: 50%; }