MD AL AMIN TALUKDAR commited on
Commit
72cf3f4
2 Parent(s): 0b0080c bb06797

Merge remote-tracking branch 'upstream/rolling' into rolling

Browse files
Cargo.lock CHANGED
@@ -14,16 +14,16 @@ dependencies = [
14
  "futures-sink",
15
  "memchr",
16
  "pin-project-lite",
17
- "tokio 1.34.0",
18
  "tokio-util",
19
  "tracing",
20
  ]
21
 
22
  [[package]]
23
  name = "actix-cors"
24
- version = "0.6.4"
25
  source = "registry+https://github.com/rust-lang/crates.io-index"
26
- checksum = "b340e9cfa5b08690aae90fb61beb44e9b06f44fe3d0f93781aaa58cfba86245e"
27
  dependencies = [
28
  "actix-utils",
29
  "actix-web",
@@ -90,7 +90,7 @@ dependencies = [
90
  "http 0.2.11",
91
  "httparse",
92
  "httpdate",
93
- "itoa 1.0.9",
94
  "language-tags",
95
  "local-channel",
96
  "mime",
@@ -99,7 +99,7 @@ dependencies = [
99
  "rand 0.8.5",
100
  "sha1",
101
  "smallvec 1.11.2",
102
- "tokio 1.34.0",
103
  "tokio-util",
104
  "tracing",
105
  ]
@@ -111,7 +111,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
111
  checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
112
  dependencies = [
113
  "quote 1.0.33",
114
- "syn 2.0.39",
115
  ]
116
 
117
  [[package]]
@@ -134,7 +134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
134
  checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
135
  dependencies = [
136
  "futures-core",
137
- "tokio 1.34.0",
138
  ]
139
 
140
  [[package]]
@@ -148,9 +148,9 @@ dependencies = [
148
  "actix-utils",
149
  "futures-core",
150
  "futures-util",
151
- "mio 0.8.9",
152
  "socket2 0.5.5",
153
- "tokio 1.34.0",
154
  "tracing",
155
  ]
156
 
@@ -199,7 +199,7 @@ dependencies = [
199
  "encoding_rs",
200
  "futures-core",
201
  "futures-util",
202
- "itoa 1.0.9",
203
  "language-tags",
204
  "log",
205
  "mime",
@@ -224,7 +224,7 @@ dependencies = [
224
  "actix-router",
225
  "proc-macro2 1.0.70",
226
  "quote 1.0.33",
227
- "syn 2.0.39",
228
  ]
229
 
230
  [[package]]
@@ -352,7 +352,7 @@ dependencies = [
352
  "futures-core",
353
  "memchr",
354
  "pin-project-lite",
355
- "tokio 1.34.0",
356
  ]
357
 
358
  [[package]]
@@ -369,7 +369,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
369
  dependencies = [
370
  "proc-macro2 1.0.70",
371
  "quote 1.0.33",
372
- "syn 2.0.39",
373
  ]
374
 
375
  [[package]]
@@ -637,18 +637,18 @@ dependencies = [
637
 
638
  [[package]]
639
  name = "clap"
640
- version = "4.4.10"
641
  source = "registry+https://github.com/rust-lang/crates.io-index"
642
- checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
643
  dependencies = [
644
  "clap_builder",
645
  ]
646
 
647
  [[package]]
648
  name = "clap_builder"
649
- version = "4.4.9"
650
  source = "registry+https://github.com/rust-lang/crates.io-index"
651
- checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
652
  dependencies = [
653
  "anstyle",
654
  "clap_lex",
@@ -679,7 +679,7 @@ dependencies = [
679
  "futures-core",
680
  "memchr",
681
  "pin-project-lite",
682
- "tokio 1.34.0",
683
  "tokio-util",
684
  ]
685
 
@@ -907,7 +907,7 @@ checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
907
  dependencies = [
908
  "cssparser-macros",
909
  "dtoa-short",
910
- "itoa 1.0.9",
911
  "phf 0.11.2",
912
  "smallvec 1.11.2",
913
  ]
@@ -920,7 +920,7 @@ checksum = "9be934d936a0fbed5bcdc01042b770de1398bf79d0e192f49fa7faea0e99281e"
920
  dependencies = [
921
  "cssparser-macros",
922
  "dtoa-short",
923
- "itoa 1.0.9",
924
  "phf 0.11.2",
925
  "smallvec 1.11.2",
926
  ]
@@ -941,7 +941,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
941
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
942
  dependencies = [
943
  "quote 1.0.33",
944
- "syn 2.0.39",
945
  ]
946
 
947
  [[package]]
@@ -965,9 +965,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
965
 
966
  [[package]]
967
  name = "deranged"
968
- version = "0.3.9"
969
  source = "registry+https://github.com/rust-lang/crates.io-index"
970
- checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
971
  dependencies = [
972
  "powerfmt",
973
  ]
@@ -1296,7 +1296,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
1296
  dependencies = [
1297
  "proc-macro2 1.0.70",
1298
  "quote 1.0.33",
1299
- "syn 2.0.39",
1300
  ]
1301
 
1302
  [[package]]
@@ -1436,7 +1436,7 @@ dependencies = [
1436
  "http 0.2.11",
1437
  "indexmap 2.1.0",
1438
  "slab",
1439
- "tokio 1.34.0",
1440
  "tokio-util",
1441
  "tracing",
1442
  ]
@@ -1531,7 +1531,7 @@ checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
1531
  dependencies = [
1532
  "bytes 1.5.0",
1533
  "fnv",
1534
- "itoa 1.0.9",
1535
  ]
1536
 
1537
  [[package]]
@@ -1548,9 +1548,9 @@ dependencies = [
1548
 
1549
  [[package]]
1550
  name = "http-body"
1551
- version = "0.4.5"
1552
  source = "registry+https://github.com/rust-lang/crates.io-index"
1553
- checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
1554
  dependencies = [
1555
  "bytes 1.5.0",
1556
  "http 0.2.11",
@@ -1617,13 +1617,13 @@ dependencies = [
1617
  "futures-util",
1618
  "h2 0.3.22",
1619
  "http 0.2.11",
1620
- "http-body 0.4.5",
1621
  "httparse",
1622
  "httpdate",
1623
- "itoa 1.0.9",
1624
  "pin-project-lite",
1625
  "socket2 0.4.10",
1626
- "tokio 1.34.0",
1627
  "tower-service",
1628
  "tracing",
1629
  "want 0.3.1",
@@ -1639,7 +1639,7 @@ dependencies = [
1639
  "http 0.2.11",
1640
  "hyper 0.14.27",
1641
  "rustls",
1642
- "tokio 1.34.0",
1643
  "tokio-rustls",
1644
  ]
1645
 
@@ -1751,9 +1751,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
1751
 
1752
  [[package]]
1753
  name = "itoa"
1754
- version = "1.0.9"
1755
  source = "registry+https://github.com/rust-lang/crates.io-index"
1756
- checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
1757
 
1758
  [[package]]
1759
  name = "js-sys"
@@ -1788,9 +1788,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
1788
 
1789
  [[package]]
1790
  name = "libc"
1791
- version = "0.2.150"
1792
  source = "registry+https://github.com/rust-lang/crates.io-index"
1793
- checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
1794
 
1795
  [[package]]
1796
  name = "libmimalloc-sys"
@@ -1949,7 +1949,7 @@ checksum = "b0bab19cef8a7fe1c18a43e881793bfc9d4ea984befec3ae5bd0415abf3ecf00"
1949
  dependencies = [
1950
  "actix-web",
1951
  "futures-util",
1952
- "itoa 1.0.9",
1953
  "maud_macros",
1954
  ]
1955
 
@@ -2076,9 +2076,9 @@ dependencies = [
2076
 
2077
  [[package]]
2078
  name = "mio"
2079
- version = "0.8.9"
2080
  source = "registry+https://github.com/rust-lang/crates.io-index"
2081
- checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
2082
  dependencies = [
2083
  "libc",
2084
  "log",
@@ -2207,9 +2207,9 @@ dependencies = [
2207
 
2208
  [[package]]
2209
  name = "once_cell"
2210
- version = "1.18.0"
2211
  source = "registry+https://github.com/rust-lang/crates.io-index"
2212
- checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
2213
 
2214
  [[package]]
2215
  name = "oorandom"
@@ -2219,9 +2219,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
2219
 
2220
  [[package]]
2221
  name = "openssl"
2222
- version = "0.10.60"
2223
  source = "registry+https://github.com/rust-lang/crates.io-index"
2224
- checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
2225
  dependencies = [
2226
  "bitflags 2.4.1",
2227
  "cfg-if 1.0.0",
@@ -2240,7 +2240,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
2240
  dependencies = [
2241
  "proc-macro2 1.0.70",
2242
  "quote 1.0.33",
2243
- "syn 2.0.39",
2244
  ]
2245
 
2246
  [[package]]
@@ -2251,9 +2251,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
2251
 
2252
  [[package]]
2253
  name = "openssl-sys"
2254
- version = "0.9.96"
2255
  source = "registry+https://github.com/rust-lang/crates.io-index"
2256
- checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
2257
  dependencies = [
2258
  "cc",
2259
  "libc",
@@ -2451,7 +2451,7 @@ dependencies = [
2451
  "phf_shared 0.11.2",
2452
  "proc-macro2 1.0.70",
2453
  "quote 1.0.33",
2454
- "syn 2.0.39",
2455
  ]
2456
 
2457
  [[package]]
@@ -2498,7 +2498,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
2498
  dependencies = [
2499
  "proc-macro2 1.0.70",
2500
  "quote 1.0.33",
2501
- "syn 2.0.39",
2502
  ]
2503
 
2504
  [[package]]
@@ -2800,11 +2800,11 @@ dependencies = [
2800
  "combine",
2801
  "futures 0.3.29",
2802
  "futures-util",
2803
- "itoa 1.0.9",
2804
  "percent-encoding 2.3.1",
2805
  "pin-project-lite",
2806
  "ryu",
2807
- "tokio 1.34.0",
2808
  "tokio-retry",
2809
  "tokio-util",
2810
  "url 2.5.0",
@@ -2902,7 +2902,7 @@ dependencies = [
2902
  "futures-util",
2903
  "h2 0.3.22",
2904
  "http 0.2.11",
2905
- "http-body 0.4.5",
2906
  "hyper 0.14.27",
2907
  "hyper-rustls",
2908
  "ipnet",
@@ -2918,7 +2918,7 @@ dependencies = [
2918
  "serde_json",
2919
  "serde_urlencoded 0.7.1",
2920
  "system-configuration",
2921
- "tokio 1.34.0",
2922
  "tokio-rustls",
2923
  "tokio-util",
2924
  "tower-service",
@@ -2932,9 +2932,9 @@ dependencies = [
2932
 
2933
  [[package]]
2934
  name = "ring"
2935
- version = "0.17.6"
2936
  source = "registry+https://github.com/rust-lang/crates.io-index"
2937
- checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866"
2938
  dependencies = [
2939
  "cc",
2940
  "getrandom",
@@ -2976,9 +2976,9 @@ dependencies = [
2976
 
2977
  [[package]]
2978
  name = "rustix"
2979
- version = "0.38.26"
2980
  source = "registry+https://github.com/rust-lang/crates.io-index"
2981
- checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
2982
  dependencies = [
2983
  "bitflags 2.4.1",
2984
  "errno",
@@ -2989,9 +2989,9 @@ dependencies = [
2989
 
2990
  [[package]]
2991
  name = "rustls"
2992
- version = "0.21.9"
2993
  source = "registry+https://github.com/rust-lang/crates.io-index"
2994
- checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
2995
  dependencies = [
2996
  "log",
2997
  "ring",
@@ -3032,9 +3032,9 @@ dependencies = [
3032
 
3033
  [[package]]
3034
  name = "ryu"
3035
- version = "1.0.15"
3036
  source = "registry+https://github.com/rust-lang/crates.io-index"
3037
- checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
3038
 
3039
  [[package]]
3040
  name = "same-file"
@@ -3178,7 +3178,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
3178
  dependencies = [
3179
  "proc-macro2 1.0.70",
3180
  "quote 1.0.33",
3181
- "syn 2.0.39",
3182
  ]
3183
 
3184
  [[package]]
@@ -3187,7 +3187,7 @@ version = "1.0.108"
3187
  source = "registry+https://github.com/rust-lang/crates.io-index"
3188
  checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
3189
  dependencies = [
3190
- "itoa 1.0.9",
3191
  "ryu",
3192
  "serde",
3193
  ]
@@ -3211,7 +3211,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3211
  checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
3212
  dependencies = [
3213
  "form_urlencoded",
3214
- "itoa 1.0.9",
3215
  "ryu",
3216
  "serde",
3217
  ]
@@ -3424,9 +3424,9 @@ dependencies = [
3424
 
3425
  [[package]]
3426
  name = "syn"
3427
- version = "2.0.39"
3428
  source = "registry+https://github.com/rust-lang/crates.io-index"
3429
- checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
3430
  dependencies = [
3431
  "proc-macro2 1.0.70",
3432
  "quote 1.0.33",
@@ -3530,7 +3530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3530
  checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
3531
  dependencies = [
3532
  "deranged",
3533
- "itoa 1.0.9",
3534
  "powerfmt",
3535
  "serde",
3536
  "time-core",
@@ -3598,14 +3598,14 @@ dependencies = [
3598
 
3599
  [[package]]
3600
  name = "tokio"
3601
- version = "1.34.0"
3602
  source = "registry+https://github.com/rust-lang/crates.io-index"
3603
- checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
3604
  dependencies = [
3605
  "backtrace",
3606
  "bytes 1.5.0",
3607
  "libc",
3608
- "mio 0.8.9",
3609
  "num_cpus",
3610
  "parking_lot 0.12.1",
3611
  "pin-project-lite",
@@ -3665,7 +3665,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
3665
  dependencies = [
3666
  "proc-macro2 1.0.70",
3667
  "quote 1.0.33",
3668
- "syn 2.0.39",
3669
  ]
3670
 
3671
  [[package]]
@@ -3695,7 +3695,7 @@ checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f"
3695
  dependencies = [
3696
  "pin-project",
3697
  "rand 0.8.5",
3698
- "tokio 1.34.0",
3699
  ]
3700
 
3701
  [[package]]
@@ -3705,7 +3705,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3705
  checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
3706
  dependencies = [
3707
  "rustls",
3708
- "tokio 1.34.0",
3709
  ]
3710
 
3711
  [[package]]
@@ -3771,7 +3771,7 @@ dependencies = [
3771
  "futures-core",
3772
  "futures-sink",
3773
  "pin-project-lite",
3774
- "tokio 1.34.0",
3775
  "tracing",
3776
  ]
3777
 
@@ -3818,9 +3818,9 @@ checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
3818
 
3819
  [[package]]
3820
  name = "try-lock"
3821
- version = "0.2.4"
3822
  source = "registry+https://github.com/rust-lang/crates.io-index"
3823
- checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
3824
 
3825
  [[package]]
3826
  name = "try_from"
@@ -3848,9 +3848,9 @@ dependencies = [
3848
 
3849
  [[package]]
3850
  name = "unicode-bidi"
3851
- version = "0.3.13"
3852
  source = "registry+https://github.com/rust-lang/crates.io-index"
3853
- checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
3854
 
3855
  [[package]]
3856
  name = "unicode-ident"
@@ -4003,7 +4003,7 @@ dependencies = [
4003
  "once_cell",
4004
  "proc-macro2 1.0.70",
4005
  "quote 1.0.33",
4006
- "syn 2.0.39",
4007
  "wasm-bindgen-shared",
4008
  ]
4009
 
@@ -4037,7 +4037,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
4037
  dependencies = [
4038
  "proc-macro2 1.0.70",
4039
  "quote 1.0.33",
4040
- "syn 2.0.39",
4041
  "wasm-bindgen-backend",
4042
  "wasm-bindgen-shared",
4043
  ]
@@ -4066,7 +4066,7 @@ checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
4066
 
4067
  [[package]]
4068
  name = "websurfx"
4069
- version = "1.5.3"
4070
  dependencies = [
4071
  "actix-cors",
4072
  "actix-files",
@@ -4097,7 +4097,7 @@ dependencies = [
4097
  "serde_json",
4098
  "smallvec 1.11.2",
4099
  "tempfile",
4100
- "tokio 1.34.0",
4101
  ]
4102
 
4103
  [[package]]
@@ -4319,20 +4319,20 @@ dependencies = [
4319
 
4320
  [[package]]
4321
  name = "zerocopy"
4322
- version = "0.7.28"
4323
  source = "registry+https://github.com/rust-lang/crates.io-index"
4324
- checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e"
4325
  dependencies = [
4326
  "zerocopy-derive",
4327
  ]
4328
 
4329
  [[package]]
4330
  name = "zerocopy-derive"
4331
- version = "0.7.28"
4332
  source = "registry+https://github.com/rust-lang/crates.io-index"
4333
- checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b"
4334
  dependencies = [
4335
  "proc-macro2 1.0.70",
4336
  "quote 1.0.33",
4337
- "syn 2.0.39",
4338
  ]
 
14
  "futures-sink",
15
  "memchr",
16
  "pin-project-lite",
17
+ "tokio 1.35.0",
18
  "tokio-util",
19
  "tracing",
20
  ]
21
 
22
  [[package]]
23
  name = "actix-cors"
24
+ version = "0.6.5"
25
  source = "registry+https://github.com/rust-lang/crates.io-index"
26
+ checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370"
27
  dependencies = [
28
  "actix-utils",
29
  "actix-web",
 
90
  "http 0.2.11",
91
  "httparse",
92
  "httpdate",
93
+ "itoa 1.0.10",
94
  "language-tags",
95
  "local-channel",
96
  "mime",
 
99
  "rand 0.8.5",
100
  "sha1",
101
  "smallvec 1.11.2",
102
+ "tokio 1.35.0",
103
  "tokio-util",
104
  "tracing",
105
  ]
 
111
  checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
112
  dependencies = [
113
  "quote 1.0.33",
114
+ "syn 2.0.40",
115
  ]
116
 
117
  [[package]]
 
134
  checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
135
  dependencies = [
136
  "futures-core",
137
+ "tokio 1.35.0",
138
  ]
139
 
140
  [[package]]
 
148
  "actix-utils",
149
  "futures-core",
150
  "futures-util",
151
+ "mio 0.8.10",
152
  "socket2 0.5.5",
153
+ "tokio 1.35.0",
154
  "tracing",
155
  ]
156
 
 
199
  "encoding_rs",
200
  "futures-core",
201
  "futures-util",
202
+ "itoa 1.0.10",
203
  "language-tags",
204
  "log",
205
  "mime",
 
224
  "actix-router",
225
  "proc-macro2 1.0.70",
226
  "quote 1.0.33",
227
+ "syn 2.0.40",
228
  ]
229
 
230
  [[package]]
 
352
  "futures-core",
353
  "memchr",
354
  "pin-project-lite",
355
+ "tokio 1.35.0",
356
  ]
357
 
358
  [[package]]
 
369
  dependencies = [
370
  "proc-macro2 1.0.70",
371
  "quote 1.0.33",
372
+ "syn 2.0.40",
373
  ]
374
 
375
  [[package]]
 
637
 
638
  [[package]]
639
  name = "clap"
640
+ version = "4.4.11"
641
  source = "registry+https://github.com/rust-lang/crates.io-index"
642
+ checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
643
  dependencies = [
644
  "clap_builder",
645
  ]
646
 
647
  [[package]]
648
  name = "clap_builder"
649
+ version = "4.4.11"
650
  source = "registry+https://github.com/rust-lang/crates.io-index"
651
+ checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
652
  dependencies = [
653
  "anstyle",
654
  "clap_lex",
 
679
  "futures-core",
680
  "memchr",
681
  "pin-project-lite",
682
+ "tokio 1.35.0",
683
  "tokio-util",
684
  ]
685
 
 
907
  dependencies = [
908
  "cssparser-macros",
909
  "dtoa-short",
910
+ "itoa 1.0.10",
911
  "phf 0.11.2",
912
  "smallvec 1.11.2",
913
  ]
 
920
  dependencies = [
921
  "cssparser-macros",
922
  "dtoa-short",
923
+ "itoa 1.0.10",
924
  "phf 0.11.2",
925
  "smallvec 1.11.2",
926
  ]
 
941
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
942
  dependencies = [
943
  "quote 1.0.33",
944
+ "syn 2.0.40",
945
  ]
946
 
947
  [[package]]
 
965
 
966
  [[package]]
967
  name = "deranged"
968
+ version = "0.3.10"
969
  source = "registry+https://github.com/rust-lang/crates.io-index"
970
+ checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
971
  dependencies = [
972
  "powerfmt",
973
  ]
 
1296
  dependencies = [
1297
  "proc-macro2 1.0.70",
1298
  "quote 1.0.33",
1299
+ "syn 2.0.40",
1300
  ]
1301
 
1302
  [[package]]
 
1436
  "http 0.2.11",
1437
  "indexmap 2.1.0",
1438
  "slab",
1439
+ "tokio 1.35.0",
1440
  "tokio-util",
1441
  "tracing",
1442
  ]
 
1531
  dependencies = [
1532
  "bytes 1.5.0",
1533
  "fnv",
1534
+ "itoa 1.0.10",
1535
  ]
1536
 
1537
  [[package]]
 
1548
 
1549
  [[package]]
1550
  name = "http-body"
1551
+ version = "0.4.6"
1552
  source = "registry+https://github.com/rust-lang/crates.io-index"
1553
+ checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
1554
  dependencies = [
1555
  "bytes 1.5.0",
1556
  "http 0.2.11",
 
1617
  "futures-util",
1618
  "h2 0.3.22",
1619
  "http 0.2.11",
1620
+ "http-body 0.4.6",
1621
  "httparse",
1622
  "httpdate",
1623
+ "itoa 1.0.10",
1624
  "pin-project-lite",
1625
  "socket2 0.4.10",
1626
+ "tokio 1.35.0",
1627
  "tower-service",
1628
  "tracing",
1629
  "want 0.3.1",
 
1639
  "http 0.2.11",
1640
  "hyper 0.14.27",
1641
  "rustls",
1642
+ "tokio 1.35.0",
1643
  "tokio-rustls",
1644
  ]
1645
 
 
1751
 
1752
  [[package]]
1753
  name = "itoa"
1754
+ version = "1.0.10"
1755
  source = "registry+https://github.com/rust-lang/crates.io-index"
1756
+ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
1757
 
1758
  [[package]]
1759
  name = "js-sys"
 
1788
 
1789
  [[package]]
1790
  name = "libc"
1791
+ version = "0.2.151"
1792
  source = "registry+https://github.com/rust-lang/crates.io-index"
1793
+ checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
1794
 
1795
  [[package]]
1796
  name = "libmimalloc-sys"
 
1949
  dependencies = [
1950
  "actix-web",
1951
  "futures-util",
1952
+ "itoa 1.0.10",
1953
  "maud_macros",
1954
  ]
1955
 
 
2076
 
2077
  [[package]]
2078
  name = "mio"
2079
+ version = "0.8.10"
2080
  source = "registry+https://github.com/rust-lang/crates.io-index"
2081
+ checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
2082
  dependencies = [
2083
  "libc",
2084
  "log",
 
2207
 
2208
  [[package]]
2209
  name = "once_cell"
2210
+ version = "1.19.0"
2211
  source = "registry+https://github.com/rust-lang/crates.io-index"
2212
+ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
2213
 
2214
  [[package]]
2215
  name = "oorandom"
 
2219
 
2220
  [[package]]
2221
  name = "openssl"
2222
+ version = "0.10.61"
2223
  source = "registry+https://github.com/rust-lang/crates.io-index"
2224
+ checksum = "6b8419dc8cc6d866deb801274bba2e6f8f6108c1bb7fcc10ee5ab864931dbb45"
2225
  dependencies = [
2226
  "bitflags 2.4.1",
2227
  "cfg-if 1.0.0",
 
2240
  dependencies = [
2241
  "proc-macro2 1.0.70",
2242
  "quote 1.0.33",
2243
+ "syn 2.0.40",
2244
  ]
2245
 
2246
  [[package]]
 
2251
 
2252
  [[package]]
2253
  name = "openssl-sys"
2254
+ version = "0.9.97"
2255
  source = "registry+https://github.com/rust-lang/crates.io-index"
2256
+ checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b"
2257
  dependencies = [
2258
  "cc",
2259
  "libc",
 
2451
  "phf_shared 0.11.2",
2452
  "proc-macro2 1.0.70",
2453
  "quote 1.0.33",
2454
+ "syn 2.0.40",
2455
  ]
2456
 
2457
  [[package]]
 
2498
  dependencies = [
2499
  "proc-macro2 1.0.70",
2500
  "quote 1.0.33",
2501
+ "syn 2.0.40",
2502
  ]
2503
 
2504
  [[package]]
 
2800
  "combine",
2801
  "futures 0.3.29",
2802
  "futures-util",
2803
+ "itoa 1.0.10",
2804
  "percent-encoding 2.3.1",
2805
  "pin-project-lite",
2806
  "ryu",
2807
+ "tokio 1.35.0",
2808
  "tokio-retry",
2809
  "tokio-util",
2810
  "url 2.5.0",
 
2902
  "futures-util",
2903
  "h2 0.3.22",
2904
  "http 0.2.11",
2905
+ "http-body 0.4.6",
2906
  "hyper 0.14.27",
2907
  "hyper-rustls",
2908
  "ipnet",
 
2918
  "serde_json",
2919
  "serde_urlencoded 0.7.1",
2920
  "system-configuration",
2921
+ "tokio 1.35.0",
2922
  "tokio-rustls",
2923
  "tokio-util",
2924
  "tower-service",
 
2932
 
2933
  [[package]]
2934
  name = "ring"
2935
+ version = "0.17.7"
2936
  source = "registry+https://github.com/rust-lang/crates.io-index"
2937
+ checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
2938
  dependencies = [
2939
  "cc",
2940
  "getrandom",
 
2976
 
2977
  [[package]]
2978
  name = "rustix"
2979
+ version = "0.38.28"
2980
  source = "registry+https://github.com/rust-lang/crates.io-index"
2981
+ checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
2982
  dependencies = [
2983
  "bitflags 2.4.1",
2984
  "errno",
 
2989
 
2990
  [[package]]
2991
  name = "rustls"
2992
+ version = "0.21.10"
2993
  source = "registry+https://github.com/rust-lang/crates.io-index"
2994
+ checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
2995
  dependencies = [
2996
  "log",
2997
  "ring",
 
3032
 
3033
  [[package]]
3034
  name = "ryu"
3035
+ version = "1.0.16"
3036
  source = "registry+https://github.com/rust-lang/crates.io-index"
3037
+ checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
3038
 
3039
  [[package]]
3040
  name = "same-file"
 
3178
  dependencies = [
3179
  "proc-macro2 1.0.70",
3180
  "quote 1.0.33",
3181
+ "syn 2.0.40",
3182
  ]
3183
 
3184
  [[package]]
 
3187
  source = "registry+https://github.com/rust-lang/crates.io-index"
3188
  checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
3189
  dependencies = [
3190
+ "itoa 1.0.10",
3191
  "ryu",
3192
  "serde",
3193
  ]
 
3211
  checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
3212
  dependencies = [
3213
  "form_urlencoded",
3214
+ "itoa 1.0.10",
3215
  "ryu",
3216
  "serde",
3217
  ]
 
3424
 
3425
  [[package]]
3426
  name = "syn"
3427
+ version = "2.0.40"
3428
  source = "registry+https://github.com/rust-lang/crates.io-index"
3429
+ checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e"
3430
  dependencies = [
3431
  "proc-macro2 1.0.70",
3432
  "quote 1.0.33",
 
3530
  checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
3531
  dependencies = [
3532
  "deranged",
3533
+ "itoa 1.0.10",
3534
  "powerfmt",
3535
  "serde",
3536
  "time-core",
 
3598
 
3599
  [[package]]
3600
  name = "tokio"
3601
+ version = "1.35.0"
3602
  source = "registry+https://github.com/rust-lang/crates.io-index"
3603
+ checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c"
3604
  dependencies = [
3605
  "backtrace",
3606
  "bytes 1.5.0",
3607
  "libc",
3608
+ "mio 0.8.10",
3609
  "num_cpus",
3610
  "parking_lot 0.12.1",
3611
  "pin-project-lite",
 
3665
  dependencies = [
3666
  "proc-macro2 1.0.70",
3667
  "quote 1.0.33",
3668
+ "syn 2.0.40",
3669
  ]
3670
 
3671
  [[package]]
 
3695
  dependencies = [
3696
  "pin-project",
3697
  "rand 0.8.5",
3698
+ "tokio 1.35.0",
3699
  ]
3700
 
3701
  [[package]]
 
3705
  checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
3706
  dependencies = [
3707
  "rustls",
3708
+ "tokio 1.35.0",
3709
  ]
3710
 
3711
  [[package]]
 
3771
  "futures-core",
3772
  "futures-sink",
3773
  "pin-project-lite",
3774
+ "tokio 1.35.0",
3775
  "tracing",
3776
  ]
3777
 
 
3818
 
3819
  [[package]]
3820
  name = "try-lock"
3821
+ version = "0.2.5"
3822
  source = "registry+https://github.com/rust-lang/crates.io-index"
3823
+ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
3824
 
3825
  [[package]]
3826
  name = "try_from"
 
3848
 
3849
  [[package]]
3850
  name = "unicode-bidi"
3851
+ version = "0.3.14"
3852
  source = "registry+https://github.com/rust-lang/crates.io-index"
3853
+ checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
3854
 
3855
  [[package]]
3856
  name = "unicode-ident"
 
4003
  "once_cell",
4004
  "proc-macro2 1.0.70",
4005
  "quote 1.0.33",
4006
+ "syn 2.0.40",
4007
  "wasm-bindgen-shared",
4008
  ]
4009
 
 
4037
  dependencies = [
4038
  "proc-macro2 1.0.70",
4039
  "quote 1.0.33",
4040
+ "syn 2.0.40",
4041
  "wasm-bindgen-backend",
4042
  "wasm-bindgen-shared",
4043
  ]
 
4066
 
4067
  [[package]]
4068
  name = "websurfx"
4069
+ version = "1.6.1"
4070
  dependencies = [
4071
  "actix-cors",
4072
  "actix-files",
 
4097
  "serde_json",
4098
  "smallvec 1.11.2",
4099
  "tempfile",
4100
+ "tokio 1.35.0",
4101
  ]
4102
 
4103
  [[package]]
 
4319
 
4320
  [[package]]
4321
  name = "zerocopy"
4322
+ version = "0.7.30"
4323
  source = "registry+https://github.com/rust-lang/crates.io-index"
4324
+ checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7"
4325
  dependencies = [
4326
  "zerocopy-derive",
4327
  ]
4328
 
4329
  [[package]]
4330
  name = "zerocopy-derive"
4331
+ version = "0.7.30"
4332
  source = "registry+https://github.com/rust-lang/crates.io-index"
4333
+ checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba"
4334
  dependencies = [
4335
  "proc-macro2 1.0.70",
4336
  "quote 1.0.33",
4337
+ "syn 2.0.40",
4338
  ]
Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
  [package]
2
  name = "websurfx"
3
- version = "1.5.3"
4
  edition = "2021"
5
  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."
6
  repository = "https://github.com/neon-mmd/websurfx"
 
1
  [package]
2
  name = "websurfx"
3
+ version = "1.6.1"
4
  edition = "2021"
5
  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."
6
  repository = "https://github.com/neon-mmd/websurfx"
public/static/animations/simple-frosted-glow.css ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .results_aggregated .result {
2
+ margin: 1rem;
3
+ padding: 1rem;
4
+ border-radius: 1rem;
5
+ }
6
+
7
+ .results_aggregated .result:hover {
8
+ box-shadow:
9
+ inset 0 0 3rem var(--color-two),
10
+ inset 0 0 6rem var(--color-five),
11
+ inset 0 0 9rem var(--color-three),
12
+ 0 0 0.25rem var(--color-two),
13
+ 0 0 0.5rem var(--color-five),
14
+ 0 0 0.75rem var(--color-three);
15
+ }
public/static/settings.js CHANGED
@@ -50,6 +50,9 @@ function setClientSettings() {
50
  case 'colorschemes':
51
  cookie_dictionary['colorscheme'] = select_tag.value
52
  break
 
 
 
53
  case 'safe_search_levels':
54
  cookie_dictionary['safe_search_level'] = Number(select_tag.value)
55
  break
@@ -103,13 +106,50 @@ function getClientSettings() {
103
  .map((item) => item.split('='))
104
  .reduce((acc, [_, v]) => (acc = JSON.parse(v)) && acc, {})
105
 
106
- // Loop through all link tags and update their href values to match the user's preferences
107
- Array.from(document.querySelectorAll('link')).forEach((item) => {
108
- if (item.href.includes('static/themes')) {
109
- item.href = `static/themes/${cookie_value['theme']}.css`
110
- } else if (item.href.includes('static/colorschemes')) {
111
- item.href = `static/colorschemes/${cookie_value['colorscheme']}.css`
 
 
 
 
 
 
 
 
112
  }
113
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
115
  }
 
50
  case 'colorschemes':
51
  cookie_dictionary['colorscheme'] = select_tag.value
52
  break
53
+ case 'animations':
54
+ cookie_dictionary['animation'] = select_tag.value || null
55
+ break
56
  case 'safe_search_levels':
57
  cookie_dictionary['safe_search_level'] = Number(select_tag.value)
58
  break
 
106
  .map((item) => item.split('='))
107
  .reduce((acc, [_, v]) => (acc = JSON.parse(v)) && acc, {})
108
 
109
+ let links = Array.from(document.querySelectorAll('link'))
110
+
111
+ // A check to determine whether the animation link exists under the head tag or not.
112
+ // If it does not exists then create and add a new animation link under the head tag
113
+ // and update the other link tags href according to the settings provided by the user
114
+ // via the UI. On the other hand if it does exist then just update all the link tags
115
+ // href according to the settings provided by the user via the UI.
116
+ if (!links.some((item) => item.href.includes('static/animations'))) {
117
+ if (cookie_value['animation']) {
118
+ let animation_link = document.createElement('link')
119
+ animation_link.href = `static/animations/${cookie_value['animation']}.css`
120
+ animation_link.rel = 'stylesheet'
121
+ animation_link.type = 'text/css'
122
+ document.querySelector('head').appendChild(animation_link)
123
  }
124
+ // Loop through all link tags and update their href values to match the user's preferences
125
+ links.forEach((item) => {
126
+ if (item.href.includes('static/themes')) {
127
+ item.href = `static/themes/${cookie_value['theme']}.css`
128
+ } else if (item.href.includes('static/colorschemes')) {
129
+ item.href = `static/colorschemes/${cookie_value['colorscheme']}.css`
130
+ }
131
+ })
132
+ } else {
133
+ // Loop through all link tags and update their href values to match the user's preferences
134
+ links.forEach((item) => {
135
+ if (item.href.includes('static/themes')) {
136
+ item.href = `static/themes/${cookie_value['theme']}.css`
137
+ } else if (item.href.includes('static/colorschemes')) {
138
+ item.href = `static/colorschemes/${cookie_value['colorscheme']}.css`
139
+ } else if (
140
+ item.href.includes('static/animations') &&
141
+ cookie_value['animation']
142
+ ) {
143
+ item.href = `static/colorschemes/${cookie_value['animation']}.css`
144
+ }
145
+ })
146
+ if (!cookie_value['animation']) {
147
+ document
148
+ .querySelector('head')
149
+ .removeChild(
150
+ links.filter((item) => item.href.includes('static/animations')),
151
+ )
152
+ }
153
+ }
154
  }
155
  }
src/config/parser.rs CHANGED
@@ -115,6 +115,7 @@ impl Config {
115
  style: Style::new(
116
  globals.get::<_, String>("theme")?,
117
  globals.get::<_, String>("colorscheme")?,
 
118
  ),
119
  #[cfg(feature = "redis-cache")]
120
  redis_url: globals.get::<_, String>("redis_url")?,
 
115
  style: Style::new(
116
  globals.get::<_, String>("theme")?,
117
  globals.get::<_, String>("colorscheme")?,
118
+ globals.get::<_, Option<String>>("animation")?,
119
  ),
120
  #[cfg(feature = "redis-cache")]
121
  redis_url: globals.get::<_, String>("redis_url")?,
src/engines/duckduckgo.rs CHANGED
@@ -29,8 +29,8 @@ impl DuckDuckGo {
29
  Ok(Self {
30
  parser: SearchResultParser::new(
31
  ".no-results",
32
- ".result",
33
- ".result__a",
34
  ".result__url",
35
  ".result__snippet",
36
  )?,
 
29
  Ok(Self {
30
  parser: SearchResultParser::new(
31
  ".no-results",
32
+ ".results>.result",
33
+ ".result__title>.result__a",
34
  ".result__url",
35
  ".result__snippet",
36
  )?,
src/models/parser_models.rs CHANGED
@@ -17,6 +17,9 @@ pub struct Style {
17
  /// It stores the parsed colorscheme option used to set a colorscheme for the
18
  /// theme being used.
19
  pub colorscheme: String,
 
 
 
20
  }
21
 
22
  impl Style {
@@ -27,8 +30,12 @@ impl Style {
27
  /// * `theme` - It takes the parsed theme option used to set a theme for the website.
28
  /// * `colorscheme` - It takes the parsed colorscheme option used to set a colorscheme
29
  /// for the theme being used.
30
- pub fn new(theme: String, colorscheme: String) -> Self {
31
- Style { theme, colorscheme }
 
 
 
 
32
  }
33
  }
34
 
 
17
  /// It stores the parsed colorscheme option used to set a colorscheme for the
18
  /// theme being used.
19
  pub colorscheme: String,
20
+ /// It stores the parsed animation option used to set an animation for the
21
+ /// theme being used.
22
+ pub animation: Option<String>,
23
  }
24
 
25
  impl Style {
 
30
  /// * `theme` - It takes the parsed theme option used to set a theme for the website.
31
  /// * `colorscheme` - It takes the parsed colorscheme option used to set a colorscheme
32
  /// for the theme being used.
33
+ pub fn new(theme: String, colorscheme: String, animation: Option<String>) -> Self {
34
+ Style {
35
+ theme,
36
+ colorscheme,
37
+ animation,
38
+ }
39
  }
40
  }
41
 
src/server/router.rs CHANGED
@@ -13,7 +13,12 @@ use std::fs::read_to_string;
13
  #[get("/")]
14
  pub async fn index(config: web::Data<Config>) -> Result<HttpResponse, Box<dyn std::error::Error>> {
15
  Ok(HttpResponse::Ok().body(
16
- crate::templates::views::index::index(&config.style.colorscheme, &config.style.theme).0,
 
 
 
 
 
17
  ))
18
  }
19
 
@@ -28,6 +33,7 @@ pub async fn not_found(
28
  crate::templates::views::not_found::not_found(
29
  &config.style.colorscheme,
30
  &config.style.theme,
 
31
  )
32
  .0,
33
  ))
@@ -47,7 +53,12 @@ pub async fn robots_data(_req: HttpRequest) -> Result<HttpResponse, Box<dyn std:
47
  #[get("/about")]
48
  pub async fn about(config: web::Data<Config>) -> Result<HttpResponse, Box<dyn std::error::Error>> {
49
  Ok(HttpResponse::Ok().body(
50
- crate::templates::views::about::about(&config.style.colorscheme, &config.style.theme).0,
 
 
 
 
 
51
  ))
52
  }
53
 
@@ -60,6 +71,7 @@ pub async fn settings(
60
  crate::templates::views::settings::settings(
61
  &config.style.colorscheme,
62
  &config.style.theme,
 
63
  &config
64
  .upstream_search_engines
65
  .keys()
 
13
  #[get("/")]
14
  pub async fn index(config: web::Data<Config>) -> Result<HttpResponse, Box<dyn std::error::Error>> {
15
  Ok(HttpResponse::Ok().body(
16
+ crate::templates::views::index::index(
17
+ &config.style.colorscheme,
18
+ &config.style.theme,
19
+ &config.style.animation,
20
+ )
21
+ .0,
22
  ))
23
  }
24
 
 
33
  crate::templates::views::not_found::not_found(
34
  &config.style.colorscheme,
35
  &config.style.theme,
36
+ &config.style.animation,
37
  )
38
  .0,
39
  ))
 
53
  #[get("/about")]
54
  pub async fn about(config: web::Data<Config>) -> Result<HttpResponse, Box<dyn std::error::Error>> {
55
  Ok(HttpResponse::Ok().body(
56
+ crate::templates::views::about::about(
57
+ &config.style.colorscheme,
58
+ &config.style.theme,
59
+ &config.style.animation,
60
+ )
61
+ .0,
62
  ))
63
  }
64
 
 
71
  crate::templates::views::settings::settings(
72
  &config.style.colorscheme,
73
  &config.style.theme,
74
+ &config.style.animation,
75
  &config
76
  .upstream_search_engines
77
  .keys()
src/server/routes/search.rs CHANGED
@@ -72,6 +72,7 @@ pub async fn search(
72
  crate::templates::views::search::search(
73
  &config.style.colorscheme,
74
  &config.style.theme,
 
75
  query,
76
  &results?,
77
  )
 
72
  crate::templates::views::search::search(
73
  &config.style.colorscheme,
74
  &config.style.theme,
75
+ &config.style.animation,
76
  query,
77
  &results?,
78
  )
src/templates/partials/header.rs CHANGED
@@ -13,7 +13,7 @@ use maud::{html, Markup, PreEscaped, DOCTYPE};
13
  /// # Returns
14
  ///
15
  /// It returns the compiled html markup code for the header as a result.
16
- pub fn header(colorscheme: &str, theme: &str) -> Markup {
17
  html!(
18
  (DOCTYPE)
19
  html lang="en"
@@ -24,6 +24,9 @@ pub fn header(colorscheme: &str, theme: &str) -> Markup {
24
  meta name="viewport" content="width=device-width, initial-scale=1";
25
  link href=(format!("static/colorschemes/{colorscheme}.css")) rel="stylesheet" type="text/css";
26
  link href=(format!("static/themes/{theme}.css")) rel="stylesheet" type="text/css";
 
 
 
27
  }
28
 
29
  (PreEscaped("<body onload=\"getClientSettings()\">"))
 
13
  /// # Returns
14
  ///
15
  /// It returns the compiled html markup code for the header as a result.
16
+ pub fn header(colorscheme: &str, theme: &str, animation: &Option<String>) -> Markup {
17
  html!(
18
  (DOCTYPE)
19
  html lang="en"
 
24
  meta name="viewport" content="width=device-width, initial-scale=1";
25
  link href=(format!("static/colorschemes/{colorscheme}.css")) rel="stylesheet" type="text/css";
26
  link href=(format!("static/themes/{theme}.css")) rel="stylesheet" type="text/css";
27
+ @if animation.is_some() {
28
+ link href=(format!("static/animations/{}.css", animation.as_ref().unwrap())) rel="stylesheet" type="text/css";
29
+ }
30
  }
31
 
32
  (PreEscaped("<body onload=\"getClientSettings()\">"))
src/templates/partials/settings_tabs/user_interface.rs CHANGED
@@ -60,6 +60,17 @@ pub fn user_interface() -> Result<Markup, Box<dyn std::error::Error>> {
60
  option value=(k){(v)}
61
  }
62
  }
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
  ))
65
  }
 
60
  option value=(k){(v)}
61
  }
62
  }
63
+ h3{"select animation"}
64
+ p class="description"{
65
+ "Select the animation for your theme to be used in user interface"
66
+ }
67
+ select name="animations"{
68
+ option value=""{"none"}
69
+ @for (k,v) in style_option_list("animations")?{
70
+ option value=(k){(v)}
71
+ }
72
+ }
73
+
74
  }
75
  ))
76
  }
src/templates/views/about.rs CHANGED
@@ -14,9 +14,9 @@ use crate::templates::partials::{footer::footer, header::header};
14
  /// # Returns
15
  ///
16
  /// It returns the compiled html markup code as a result.
17
- pub fn about(colorscheme: &str, theme: &str) -> Markup {
18
  html!(
19
- (header(colorscheme, theme))
20
  main class="about-container"{
21
  article {
22
  div{
 
14
  /// # Returns
15
  ///
16
  /// It returns the compiled html markup code as a result.
17
+ pub fn about(colorscheme: &str, theme: &str, animation: &Option<String>) -> Markup {
18
  html!(
19
+ (header(colorscheme, theme, animation))
20
  main class="about-container"{
21
  article {
22
  div{
src/templates/views/index.rs CHANGED
@@ -14,7 +14,7 @@ use crate::templates::partials::{bar::bar, footer::footer, header::header};
14
  /// # Returns
15
  ///
16
  /// It returns the compiled html markup code as a result.
17
- pub fn index(colorscheme: &str, theme: &str) -> Markup {
18
  let logo_svg = r#"
19
  <svg viewBox="0 0 173 57" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
20
  <path d="M77.8201 21.4277L73.4513 35.5049H70.3855L67.5496 25.1067L64.7137 35.5049H61.6479L57.2536 21.4277H60.2172L63.1553 32.7457L66.1444 21.4277H69.1847L72.0461 32.6946L74.9586 21.4277H77.8201ZM92.8986 28.1214C92.8986 28.6494 92.8645 29.1263 92.7964 29.5521H82.0405C82.1257 30.6762 82.543 31.5789 83.2924 32.2602C84.0418 32.9415 84.9616 33.2822 86.0516 33.2822C87.6186 33.2822 88.7257 32.6264 89.3729 31.3149H92.5154C92.0896 32.6094 91.3146 33.6739 90.1905 34.5085C89.0834 35.326 87.7038 35.7348 86.0516 35.7348C84.7061 35.7348 83.4968 35.4368 82.4238 34.8406C81.3678 34.2275 80.5332 33.3758 79.92 32.2858C79.3239 31.1787 79.0258 29.9013 79.0258 28.4535C79.0258 27.0058 79.3154 25.7369 79.8945 24.6468C80.4906 23.5397 81.3167 22.6881 82.3727 22.092C83.4457 21.4958 84.672 21.1978 86.0516 21.1978C87.3801 21.1978 88.5639 21.4873 89.6029 22.0664C90.6418 22.6455 91.4509 23.4631 92.03 24.5191C92.6091 25.558 92.8986 26.7588 92.8986 28.1214ZM89.8583 27.2016C89.8413 26.1286 89.4581 25.2685 88.7087 24.6213C87.9592 23.974 87.031 23.6504 85.9239 23.6504C84.919 23.6504 84.0589 23.974 83.3435 24.6213C82.6281 25.2515 82.2023 26.1116 82.0661 27.2016H89.8583ZM98.6773 23.5227C99.1713 22.8414 99.844 22.2878 100.696 21.862C101.564 21.4192 102.527 21.1978 103.583 21.1978C104.826 21.1978 105.95 21.4958 106.955 22.092C107.96 22.6881 108.752 23.5397 109.331 24.6468C109.91 25.7369 110.2 26.9887 110.2 28.4024C110.2 29.8161 109.91 31.085 109.331 32.2091C108.752 33.3162 107.951 34.1849 106.929 34.8151C105.925 35.4282 104.809 35.7348 103.583 35.7348C102.493 35.7348 101.522 35.5219 100.67 35.0961C99.8355 34.6703 99.1713 34.1253 98.6773 33.461V35.5049H95.7648V16.5991H98.6773V23.5227ZM107.236 28.4024C107.236 27.4316 107.032 26.597 106.623 25.8987C106.231 25.1833 105.703 24.6468 105.039 24.2891C104.392 23.9144 103.693 23.7271 102.944 23.7271C102.212 23.7271 101.513 23.9144 100.849 24.2891C100.202 24.6638 99.6737 25.2089 99.265 25.9242C98.8732 26.6396 98.6773 27.4827 98.6773 28.4535C98.6773 29.4244 98.8732 30.276 99.265 31.0084C99.6737 31.7237 100.202 32.2688 100.849 32.6435C101.513 33.0182 102.212 33.2055 102.944 33.2055C103.693 33.2055 104.392 33.0182 105.039 32.6435C105.703 32.2517 106.231 31.6897 106.623 30.9573C107.032 30.2249 107.236 29.3733 107.236 28.4024ZM118.19 35.7348C117.082 35.7348 116.086 35.5389 115.2 35.1472C114.332 34.7384 113.642 34.1934 113.131 33.5121C112.62 32.8138 112.347 32.0388 112.313 31.1872H115.328C115.379 31.7833 115.66 32.2858 116.171 32.6946C116.699 33.0863 117.355 33.2822 118.138 33.2822C118.956 33.2822 119.586 33.1289 120.029 32.8223C120.489 32.4987 120.719 32.0899 120.719 31.596C120.719 31.068 120.463 30.6762 119.952 30.4207C119.458 30.1653 118.666 29.8842 117.576 29.5777C116.52 29.2881 115.66 29.0071 114.996 28.7346C114.332 28.462 113.753 28.0447 113.259 27.4827C112.782 26.9206 112.543 26.1797 112.543 25.26C112.543 24.5105 112.765 23.8293 113.208 23.2161C113.65 22.5859 114.281 22.092 115.098 21.7343C115.933 21.3766 116.887 21.1978 117.96 21.1978C119.561 21.1978 120.847 21.6065 121.817 22.4241C122.805 23.2246 123.333 24.3232 123.401 25.7198H120.489C120.438 25.0896 120.182 24.5872 119.722 24.2125C119.263 23.8378 118.641 23.6504 117.857 23.6504C117.091 23.6504 116.503 23.7952 116.095 24.0847C115.686 24.3743 115.481 24.7575 115.481 25.2344C115.481 25.6091 115.618 25.9242 115.89 26.1797C116.163 26.4352 116.495 26.6396 116.887 26.7929C117.278 26.9291 117.857 27.108 118.624 27.3294C119.646 27.6019 120.48 27.8829 121.128 28.1725C121.792 28.445 122.362 28.8538 122.839 29.3988C123.316 29.9438 123.563 30.6677 123.58 31.5704C123.58 32.3709 123.359 33.0863 122.916 33.7165C122.473 34.3467 121.843 34.8406 121.025 35.1983C120.225 35.556 119.28 35.7348 118.19 35.7348ZM139.476 21.4277V35.5049H136.563V33.8442C136.104 34.4233 135.499 34.8832 134.75 35.2239C134.017 35.5475 133.234 35.7093 132.399 35.7093C131.292 35.7093 130.296 35.4793 129.41 35.0195C128.541 34.5596 127.851 33.8783 127.34 32.9756C126.847 32.0729 126.6 30.9828 126.6 29.7054V21.4277H129.487V29.2711C129.487 30.5315 129.802 31.5023 130.432 32.1836C131.062 32.8478 131.922 33.18 133.012 33.18C134.102 33.18 134.962 32.8478 135.593 32.1836C136.24 31.5023 136.563 30.5315 136.563 29.2711V21.4277H139.476ZM146.231 23.4716C146.657 22.7562 147.219 22.2027 147.918 21.8109C148.633 21.4022 149.476 21.1978 150.447 21.1978V24.2125H149.706C148.565 24.2125 147.696 24.502 147.1 25.0811C146.521 25.6602 146.231 26.6651 146.231 28.0958V35.5049H143.319V21.4277H146.231V23.4716ZM159.026 23.8037H156.42V35.5049H153.482V23.8037H151.821V21.4277H153.482V20.4313C153.482 18.8133 153.907 17.638 154.759 16.9056C155.628 16.1562 156.982 15.7815 158.821 15.7815V18.2086C157.936 18.2086 157.314 18.3789 156.956 18.7196C156.599 19.0432 156.42 19.6138 156.42 20.4313V21.4277H159.026V23.8037ZM167.636 28.3769L172.184 35.5049H168.888L165.848 30.7273L162.986 35.5049H159.946L164.494 28.5813L159.946 21.4277H163.242L166.282 26.2053L169.144 21.4277H172.184L167.636 28.3769Z" fill="currentColor"/>
@@ -26,7 +26,7 @@ pub fn index(colorscheme: &str, theme: &str) -> Markup {
26
  "#;
27
 
28
  html!(
29
- (header(colorscheme, theme))
30
  main class="search-container"{
31
  (PreEscaped(logo_svg))
32
  (bar(&String::default()))
 
14
  /// # Returns
15
  ///
16
  /// It returns the compiled html markup code as a result.
17
+ pub fn index(colorscheme: &str, theme: &str, animation: &Option<String>) -> Markup {
18
  let logo_svg = r#"
19
  <svg viewBox="0 0 173 57" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
20
  <path d="M77.8201 21.4277L73.4513 35.5049H70.3855L67.5496 25.1067L64.7137 35.5049H61.6479L57.2536 21.4277H60.2172L63.1553 32.7457L66.1444 21.4277H69.1847L72.0461 32.6946L74.9586 21.4277H77.8201ZM92.8986 28.1214C92.8986 28.6494 92.8645 29.1263 92.7964 29.5521H82.0405C82.1257 30.6762 82.543 31.5789 83.2924 32.2602C84.0418 32.9415 84.9616 33.2822 86.0516 33.2822C87.6186 33.2822 88.7257 32.6264 89.3729 31.3149H92.5154C92.0896 32.6094 91.3146 33.6739 90.1905 34.5085C89.0834 35.326 87.7038 35.7348 86.0516 35.7348C84.7061 35.7348 83.4968 35.4368 82.4238 34.8406C81.3678 34.2275 80.5332 33.3758 79.92 32.2858C79.3239 31.1787 79.0258 29.9013 79.0258 28.4535C79.0258 27.0058 79.3154 25.7369 79.8945 24.6468C80.4906 23.5397 81.3167 22.6881 82.3727 22.092C83.4457 21.4958 84.672 21.1978 86.0516 21.1978C87.3801 21.1978 88.5639 21.4873 89.6029 22.0664C90.6418 22.6455 91.4509 23.4631 92.03 24.5191C92.6091 25.558 92.8986 26.7588 92.8986 28.1214ZM89.8583 27.2016C89.8413 26.1286 89.4581 25.2685 88.7087 24.6213C87.9592 23.974 87.031 23.6504 85.9239 23.6504C84.919 23.6504 84.0589 23.974 83.3435 24.6213C82.6281 25.2515 82.2023 26.1116 82.0661 27.2016H89.8583ZM98.6773 23.5227C99.1713 22.8414 99.844 22.2878 100.696 21.862C101.564 21.4192 102.527 21.1978 103.583 21.1978C104.826 21.1978 105.95 21.4958 106.955 22.092C107.96 22.6881 108.752 23.5397 109.331 24.6468C109.91 25.7369 110.2 26.9887 110.2 28.4024C110.2 29.8161 109.91 31.085 109.331 32.2091C108.752 33.3162 107.951 34.1849 106.929 34.8151C105.925 35.4282 104.809 35.7348 103.583 35.7348C102.493 35.7348 101.522 35.5219 100.67 35.0961C99.8355 34.6703 99.1713 34.1253 98.6773 33.461V35.5049H95.7648V16.5991H98.6773V23.5227ZM107.236 28.4024C107.236 27.4316 107.032 26.597 106.623 25.8987C106.231 25.1833 105.703 24.6468 105.039 24.2891C104.392 23.9144 103.693 23.7271 102.944 23.7271C102.212 23.7271 101.513 23.9144 100.849 24.2891C100.202 24.6638 99.6737 25.2089 99.265 25.9242C98.8732 26.6396 98.6773 27.4827 98.6773 28.4535C98.6773 29.4244 98.8732 30.276 99.265 31.0084C99.6737 31.7237 100.202 32.2688 100.849 32.6435C101.513 33.0182 102.212 33.2055 102.944 33.2055C103.693 33.2055 104.392 33.0182 105.039 32.6435C105.703 32.2517 106.231 31.6897 106.623 30.9573C107.032 30.2249 107.236 29.3733 107.236 28.4024ZM118.19 35.7348C117.082 35.7348 116.086 35.5389 115.2 35.1472C114.332 34.7384 113.642 34.1934 113.131 33.5121C112.62 32.8138 112.347 32.0388 112.313 31.1872H115.328C115.379 31.7833 115.66 32.2858 116.171 32.6946C116.699 33.0863 117.355 33.2822 118.138 33.2822C118.956 33.2822 119.586 33.1289 120.029 32.8223C120.489 32.4987 120.719 32.0899 120.719 31.596C120.719 31.068 120.463 30.6762 119.952 30.4207C119.458 30.1653 118.666 29.8842 117.576 29.5777C116.52 29.2881 115.66 29.0071 114.996 28.7346C114.332 28.462 113.753 28.0447 113.259 27.4827C112.782 26.9206 112.543 26.1797 112.543 25.26C112.543 24.5105 112.765 23.8293 113.208 23.2161C113.65 22.5859 114.281 22.092 115.098 21.7343C115.933 21.3766 116.887 21.1978 117.96 21.1978C119.561 21.1978 120.847 21.6065 121.817 22.4241C122.805 23.2246 123.333 24.3232 123.401 25.7198H120.489C120.438 25.0896 120.182 24.5872 119.722 24.2125C119.263 23.8378 118.641 23.6504 117.857 23.6504C117.091 23.6504 116.503 23.7952 116.095 24.0847C115.686 24.3743 115.481 24.7575 115.481 25.2344C115.481 25.6091 115.618 25.9242 115.89 26.1797C116.163 26.4352 116.495 26.6396 116.887 26.7929C117.278 26.9291 117.857 27.108 118.624 27.3294C119.646 27.6019 120.48 27.8829 121.128 28.1725C121.792 28.445 122.362 28.8538 122.839 29.3988C123.316 29.9438 123.563 30.6677 123.58 31.5704C123.58 32.3709 123.359 33.0863 122.916 33.7165C122.473 34.3467 121.843 34.8406 121.025 35.1983C120.225 35.556 119.28 35.7348 118.19 35.7348ZM139.476 21.4277V35.5049H136.563V33.8442C136.104 34.4233 135.499 34.8832 134.75 35.2239C134.017 35.5475 133.234 35.7093 132.399 35.7093C131.292 35.7093 130.296 35.4793 129.41 35.0195C128.541 34.5596 127.851 33.8783 127.34 32.9756C126.847 32.0729 126.6 30.9828 126.6 29.7054V21.4277H129.487V29.2711C129.487 30.5315 129.802 31.5023 130.432 32.1836C131.062 32.8478 131.922 33.18 133.012 33.18C134.102 33.18 134.962 32.8478 135.593 32.1836C136.24 31.5023 136.563 30.5315 136.563 29.2711V21.4277H139.476ZM146.231 23.4716C146.657 22.7562 147.219 22.2027 147.918 21.8109C148.633 21.4022 149.476 21.1978 150.447 21.1978V24.2125H149.706C148.565 24.2125 147.696 24.502 147.1 25.0811C146.521 25.6602 146.231 26.6651 146.231 28.0958V35.5049H143.319V21.4277H146.231V23.4716ZM159.026 23.8037H156.42V35.5049H153.482V23.8037H151.821V21.4277H153.482V20.4313C153.482 18.8133 153.907 17.638 154.759 16.9056C155.628 16.1562 156.982 15.7815 158.821 15.7815V18.2086C157.936 18.2086 157.314 18.3789 156.956 18.7196C156.599 19.0432 156.42 19.6138 156.42 20.4313V21.4277H159.026V23.8037ZM167.636 28.3769L172.184 35.5049H168.888L165.848 30.7273L162.986 35.5049H159.946L164.494 28.5813L159.946 21.4277H163.242L166.282 26.2053L169.144 21.4277H172.184L167.636 28.3769Z" fill="currentColor"/>
 
26
  "#;
27
 
28
  html!(
29
+ (header(colorscheme, theme, animation))
30
  main class="search-container"{
31
  (PreEscaped(logo_svg))
32
  (bar(&String::default()))
src/templates/views/not_found.rs CHANGED
@@ -13,9 +13,9 @@ use maud::{html, Markup};
13
  /// # Returns
14
  ///
15
  /// It returns the compiled html markup code as a result.
16
- pub fn not_found(colorscheme: &str, theme: &str) -> Markup {
17
  html!(
18
- (header(colorscheme, theme))
19
  main class="error_container"{
20
  img src="images/robot-404.svg" alt="Image of broken robot.";
21
  .error_content{
 
13
  /// # Returns
14
  ///
15
  /// It returns the compiled html markup code as a result.
16
+ pub fn not_found(colorscheme: &str, theme: &str, animation: &Option<String>) -> Markup {
17
  html!(
18
+ (header(colorscheme, theme, animation))
19
  main class="error_container"{
20
  img src="images/robot-404.svg" alt="Image of broken robot.";
21
  .error_content{
src/templates/views/search.rs CHANGED
@@ -22,11 +22,12 @@ use crate::{
22
  pub fn search(
23
  colorscheme: &str,
24
  theme: &str,
 
25
  query: &str,
26
  search_results: &SearchResults,
27
  ) -> Markup {
28
  html!(
29
- (header(colorscheme, theme))
30
  main class="results"{
31
  (search_bar(&search_results.engine_errors_info, search_results.safe_search_level, query))
32
  .results_aggregated{
 
22
  pub fn search(
23
  colorscheme: &str,
24
  theme: &str,
25
+ animation: &Option<String>,
26
  query: &str,
27
  search_results: &SearchResults,
28
  ) -> Markup {
29
  html!(
30
+ (header(colorscheme, theme, animation))
31
  main class="results"{
32
  (search_bar(&search_results.engine_errors_info, search_results.safe_search_level, query))
33
  .results_aggregated{
src/templates/views/settings.rs CHANGED
@@ -25,10 +25,11 @@ use crate::templates::partials::{
25
  pub fn settings(
26
  colorscheme: &str,
27
  theme: &str,
 
28
  engine_names: &[&String],
29
  ) -> Result<Markup, Box<dyn std::error::Error>> {
30
  Ok(html!(
31
- (header(colorscheme, theme))
32
  main class="settings"{
33
  h1{"Settings"}
34
  hr;
 
25
  pub fn settings(
26
  colorscheme: &str,
27
  theme: &str,
28
+ animation: &Option<String>,
29
  engine_names: &[&String],
30
  ) -> Result<Markup, Box<dyn std::error::Error>> {
31
  Ok(html!(
32
+ (header(colorscheme, theme, animation))
33
  main class="settings"{
34
  h1{"Settings"}
35
  hr;
tests/index.rs CHANGED
@@ -24,7 +24,12 @@ async fn test_index() {
24
  assert_eq!(res.status(), 200);
25
 
26
  let config = Config::parse(true).unwrap();
27
- let template = views::index::index(&config.style.colorscheme, &config.style.theme).0;
 
 
 
 
 
28
  assert_eq!(res.text().await.unwrap(), template);
29
  }
30
 
 
24
  assert_eq!(res.status(), 200);
25
 
26
  let config = Config::parse(true).unwrap();
27
+ let template = views::index::index(
28
+ &config.style.colorscheme,
29
+ &config.style.theme,
30
+ &config.style.animation,
31
+ )
32
+ .0;
33
  assert_eq!(res.text().await.unwrap(), template);
34
  }
35
 
websurfx/config.lua CHANGED
@@ -1,18 +1,18 @@
1
  -- ### General ###
2
  logging = true -- an option to enable or disable logs.
3
- debug = false -- an option to enable or disable debug mode.
4
- threads = 10 -- the amount of threads that the app will use to run (the value should be greater than 0).
5
 
6
  -- ### Server ###
7
- port = "8080" -- port on which server should be launched
8
  binding_ip = "127.0.0.1" --ip address on the which server should be launched.
9
- production_use = false -- whether to use production mode or not (in other words this option should be used if it is to be used to host it on the server to provide a service to a large number of users (more than one))
10
  -- if production_use is set to true
11
  -- There will be a random delay before sending the request to the search engines, this is to prevent DDoSing the upstream search engines from a large number of simultaneous requests.
12
- request_timeout = 30 -- timeout for the search requests sent to the upstream search engines to be fetched (value in seconds).
13
  rate_limiter = {
14
- number_of_requests = 20, -- The number of request that are allowed within a provided time limit.
15
- time_limit = 3, -- The time limit in which the quantity of requests that should be accepted.
16
  }
17
 
18
  -- ### Search ###
@@ -43,11 +43,20 @@ safe_search = 2
43
  -- tomorrow-night
44
  -- }}
45
  colorscheme = "catppuccin-mocha" -- the colorscheme name which should be used for the website theme
46
- theme = "simple" -- the theme name which should be used for the website
 
 
 
 
 
 
 
 
 
47
 
48
  -- ### Caching ###
49
  redis_url = "redis://127.0.0.1:8082" -- redis connection url address on which the client should connect on.
50
- cache_expiry_time = 600 -- This option takes the expiry time of the search results (value in seconds and the value should be greater than or equal to 60 seconds).
51
  -- ### Search Engines ###
52
  upstream_search_engines = {
53
  DuckDuckGo = true,
 
1
  -- ### General ###
2
  logging = true -- an option to enable or disable logs.
3
+ debug = false -- an option to enable or disable debug mode.
4
+ threads = 10 -- the amount of threads that the app will use to run (the value should be greater than 0).
5
 
6
  -- ### Server ###
7
+ port = "8080" -- port on which server should be launched
8
  binding_ip = "127.0.0.1" --ip address on the which server should be launched.
9
+ production_use = false -- whether to use production mode or not (in other words this option should be used if it is to be used to host it on the server to provide a service to a large number of users (more than one))
10
  -- if production_use is set to true
11
  -- There will be a random delay before sending the request to the search engines, this is to prevent DDoSing the upstream search engines from a large number of simultaneous requests.
12
+ request_timeout = 30 -- timeout for the search requests sent to the upstream search engines to be fetched (value in seconds).
13
  rate_limiter = {
14
+ number_of_requests = 20, -- The number of request that are allowed within a provided time limit.
15
+ time_limit = 3, -- The time limit in which the quantity of requests that should be accepted.
16
  }
17
 
18
  -- ### Search ###
 
43
  -- tomorrow-night
44
  -- }}
45
  colorscheme = "catppuccin-mocha" -- the colorscheme name which should be used for the website theme
46
+ -- The different themes provided are:
47
+ -- {{
48
+ -- simple
49
+ -- }}
50
+ theme = "simple" -- the theme name which should be used for the website
51
+ -- The different animations provided are:
52
+ -- {{
53
+ -- simple-frosted-glow
54
+ -- }}
55
+ animation = "simple-frosted-glow" -- the animation name which should be used with the theme or `nil` if you don't want any animations.
56
 
57
  -- ### Caching ###
58
  redis_url = "redis://127.0.0.1:8082" -- redis connection url address on which the client should connect on.
59
+ cache_expiry_time = 600 -- This option takes the expiry time of the search results (value in seconds and the value should be greater than or equal to 60 seconds).
60
  -- ### Search Engines ###
61
  upstream_search_engines = {
62
  DuckDuckGo = true,