Compare commits
	
		
			33 Commits
		
	
	
		
			v1.1.30
			...
			86169cb345
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 86169cb345 | |||
| c3f74e076f | |||
| 244be2e41e | |||
| 80db486dc9 | |||
| 9792d64f69 | |||
| a51035dbda | |||
| e66ef328a1 | |||
| e44eb495ac | |||
| 73cd4a27ac | |||
| 6b050f3a05 | |||
| 8b94b630be | |||
| e35b0c9fd9 | |||
| b5a2c750c5 | |||
| c7b0ca62f6 | |||
| 34457d1cc1 | |||
| e286e24d61 | |||
| 9c1336b50c | |||
| 54e8015773 | |||
| 30874a97f7 | |||
| 05142358e1 | |||
| 9f6891b4d5 | |||
| 9c52aa8833 | |||
| 0e244ebadd | |||
| 6ade932389 | |||
| 7dc14a83cf | |||
| 7a6da447ab | |||
| 69a0948cf7 | |||
| a738845b99 | |||
| fc8caf5f70 | |||
| 9fed0f99fa | |||
| 363d0f65a3 | |||
| 2df79f2cd9 | |||
| 89ab6fbe53 | 
							
								
								
									
										146
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										146
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -339,9 +339,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" | ||||
|  | ||||
| [[package]] | ||||
| name = "bitflags" | ||||
| version = "2.8.0" | ||||
| version = "2.9.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" | ||||
| checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" | ||||
|  | ||||
| [[package]] | ||||
| name = "block-buffer" | ||||
| @@ -365,9 +365,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "brotli-decompressor" | ||||
| version = "4.0.1" | ||||
| version = "4.0.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" | ||||
| checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" | ||||
| dependencies = [ | ||||
|  "alloc-no-stdlib", | ||||
|  "alloc-stdlib", | ||||
| @@ -381,9 +381,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | ||||
|  | ||||
| [[package]] | ||||
| name = "bytes" | ||||
| version = "1.9.0" | ||||
| version = "1.10.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" | ||||
| checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" | ||||
|  | ||||
| [[package]] | ||||
| name = "bytestring" | ||||
| @@ -396,9 +396,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "cc" | ||||
| version = "1.2.9" | ||||
| version = "1.2.16" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" | ||||
| checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" | ||||
| dependencies = [ | ||||
|  "jobserver", | ||||
|  "libc", | ||||
| @@ -413,9 +413,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | ||||
|  | ||||
| [[package]] | ||||
| name = "clap" | ||||
| version = "4.5.26" | ||||
| version = "4.5.31" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" | ||||
| checksum = "027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767" | ||||
| dependencies = [ | ||||
|  "clap_builder", | ||||
|  "clap_derive", | ||||
| @@ -423,9 +423,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "clap_builder" | ||||
| version = "4.5.26" | ||||
| version = "4.5.31" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" | ||||
| checksum = "5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863" | ||||
| dependencies = [ | ||||
|  "anstream", | ||||
|  "anstyle", | ||||
| @@ -435,9 +435,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "clap_derive" | ||||
| version = "4.5.24" | ||||
| version = "4.5.28" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" | ||||
| checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" | ||||
| dependencies = [ | ||||
|  "heck", | ||||
|  "proc-macro2", | ||||
| @@ -476,9 +476,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "cpufeatures" | ||||
| version = "0.2.16" | ||||
| version = "0.2.17" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" | ||||
| checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | ||||
| dependencies = [ | ||||
|  "libc", | ||||
| ] | ||||
| @@ -513,9 +513,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "derive_more" | ||||
| version = "0.99.18" | ||||
| version = "0.99.19" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" | ||||
| checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" | ||||
| dependencies = [ | ||||
|  "convert_case", | ||||
|  "proc-macro2", | ||||
| @@ -556,13 +556,13 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "equivalent" | ||||
| version = "1.0.1" | ||||
| version = "1.0.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" | ||||
| checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" | ||||
|  | ||||
| [[package]] | ||||
| name = "expose-dir-via-http" | ||||
| version = "1.1.30" | ||||
| version = "1.3.6" | ||||
| dependencies = [ | ||||
|  "actix-files", | ||||
|  "actix-web", | ||||
| @@ -571,9 +571,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "flate2" | ||||
| version = "1.0.35" | ||||
| version = "1.1.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" | ||||
| checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" | ||||
| dependencies = [ | ||||
|  "crc32fast", | ||||
|  "miniz_oxide", | ||||
| @@ -701,9 +701,9 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" | ||||
|  | ||||
| [[package]] | ||||
| name = "httparse" | ||||
| version = "1.9.5" | ||||
| version = "1.10.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" | ||||
| checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" | ||||
|  | ||||
| [[package]] | ||||
| name = "httpdate" | ||||
| @@ -858,9 +858,9 @@ checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" | ||||
|  | ||||
| [[package]] | ||||
| name = "indexmap" | ||||
| version = "2.7.0" | ||||
| version = "2.7.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" | ||||
| checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" | ||||
| dependencies = [ | ||||
|  "equivalent", | ||||
|  "hashbrown", | ||||
| @@ -895,15 +895,15 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" | ||||
|  | ||||
| [[package]] | ||||
| name = "libc" | ||||
| version = "0.2.169" | ||||
| version = "0.2.170" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" | ||||
| checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" | ||||
|  | ||||
| [[package]] | ||||
| name = "litemap" | ||||
| version = "0.7.4" | ||||
| version = "0.7.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" | ||||
| checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" | ||||
|  | ||||
| [[package]] | ||||
| name = "local-channel" | ||||
| @@ -934,9 +934,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "log" | ||||
| version = "0.4.25" | ||||
| version = "0.4.26" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" | ||||
| checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" | ||||
|  | ||||
| [[package]] | ||||
| name = "memchr" | ||||
| @@ -962,9 +962,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "miniz_oxide" | ||||
| version = "0.8.3" | ||||
| version = "0.8.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" | ||||
| checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" | ||||
| dependencies = [ | ||||
|  "adler2", | ||||
| ] | ||||
| @@ -998,9 +998,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "once_cell" | ||||
| version = "1.20.2" | ||||
| version = "1.20.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" | ||||
| checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" | ||||
|  | ||||
| [[package]] | ||||
| name = "parking_lot" | ||||
| @@ -1051,9 +1051,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" | ||||
|  | ||||
| [[package]] | ||||
| name = "pkg-config" | ||||
| version = "0.3.31" | ||||
| version = "0.3.32" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" | ||||
| checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" | ||||
|  | ||||
| [[package]] | ||||
| name = "powerfmt" | ||||
| @@ -1072,18 +1072,18 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "proc-macro2" | ||||
| version = "1.0.93" | ||||
| version = "1.0.94" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" | ||||
| checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" | ||||
| dependencies = [ | ||||
|  "unicode-ident", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "quote" | ||||
| version = "1.0.38" | ||||
| version = "1.0.39" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" | ||||
| checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
| ] | ||||
| @@ -1120,9 +1120,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "redox_syscall" | ||||
| version = "0.5.8" | ||||
| version = "0.5.9" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" | ||||
| checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" | ||||
| dependencies = [ | ||||
|  "bitflags", | ||||
| ] | ||||
| @@ -1179,9 +1179,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "ryu" | ||||
| version = "1.0.18" | ||||
| version = "1.0.19" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" | ||||
| checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" | ||||
|  | ||||
| [[package]] | ||||
| name = "scopeguard" | ||||
| @@ -1191,24 +1191,24 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | ||||
|  | ||||
| [[package]] | ||||
| name = "semver" | ||||
| version = "1.0.24" | ||||
| version = "1.0.25" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" | ||||
| checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" | ||||
|  | ||||
| [[package]] | ||||
| name = "serde" | ||||
| version = "1.0.217" | ||||
| version = "1.0.218" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" | ||||
| checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" | ||||
| dependencies = [ | ||||
|  "serde_derive", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "serde_derive" | ||||
| version = "1.0.217" | ||||
| version = "1.0.218" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" | ||||
| checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
| @@ -1217,9 +1217,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "serde_json" | ||||
| version = "1.0.135" | ||||
| version = "1.0.140" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" | ||||
| checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" | ||||
| dependencies = [ | ||||
|  "itoa", | ||||
|  "memchr", | ||||
| @@ -1276,9 +1276,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "smallvec" | ||||
| version = "1.13.2" | ||||
| version = "1.14.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" | ||||
| checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" | ||||
|  | ||||
| [[package]] | ||||
| name = "socket2" | ||||
| @@ -1304,9 +1304,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" | ||||
|  | ||||
| [[package]] | ||||
| name = "syn" | ||||
| version = "2.0.96" | ||||
| version = "2.0.99" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" | ||||
| checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
| @@ -1417,9 +1417,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "typenum" | ||||
| version = "1.17.0" | ||||
| version = "1.18.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" | ||||
| checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" | ||||
|  | ||||
| [[package]] | ||||
| name = "unicase" | ||||
| @@ -1429,9 +1429,9 @@ checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" | ||||
|  | ||||
| [[package]] | ||||
| name = "unicode-ident" | ||||
| version = "1.0.14" | ||||
| version = "1.0.17" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" | ||||
| checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" | ||||
|  | ||||
| [[package]] | ||||
| name = "url" | ||||
| @@ -1621,18 +1621,18 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "zerofrom" | ||||
| version = "0.1.5" | ||||
| version = "0.1.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" | ||||
| checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" | ||||
| dependencies = [ | ||||
|  "zerofrom-derive", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "zerofrom-derive" | ||||
| version = "0.1.5" | ||||
| version = "0.1.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" | ||||
| checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
| @@ -1664,27 +1664,27 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "zstd" | ||||
| version = "0.13.2" | ||||
| version = "0.13.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" | ||||
| checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" | ||||
| dependencies = [ | ||||
|  "zstd-safe", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "zstd-safe" | ||||
| version = "7.2.1" | ||||
| version = "7.2.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" | ||||
| checksum = "f3051792fbdc2e1e143244dc28c60f73d8470e93f3f9cbd0ead44da5ed802722" | ||||
| dependencies = [ | ||||
|  "zstd-sys", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "zstd-sys" | ||||
| version = "2.0.13+zstd.1.5.6" | ||||
| version = "2.0.14+zstd.1.5.7" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" | ||||
| checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5" | ||||
| dependencies = [ | ||||
|  "cc", | ||||
|  "pkg-config", | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| [package] | ||||
| name = "expose-dir-via-http" | ||||
| version = "1.1.30" | ||||
| edition = "2021" | ||||
| version = "1.3.6" | ||||
| edition = "2024" | ||||
|  | ||||
| [lints.rust] | ||||
| unsafe_code = "forbid" | ||||
|   | ||||
							
								
								
									
										27
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								src/main.rs
									
									
									
									
									
								
							| @@ -1,18 +1,20 @@ | ||||
| use std::{ | ||||
|     net::{IpAddr, SocketAddr}, | ||||
|     num::NonZeroUsize, | ||||
|     path::PathBuf, | ||||
|     sync::Arc, | ||||
|     thread::available_parallelism, | ||||
| }; | ||||
|  | ||||
| use actix_web::{App, HttpServer}; | ||||
| use clap::{crate_name, crate_version, Parser}; | ||||
| use clap::{Parser, crate_name, crate_version}; | ||||
|  | ||||
| #[derive(Parser, Debug)] | ||||
| #[clap(name = crate_name!(), version = crate_version!())] | ||||
| struct Args { | ||||
|     /// Directory to expose | ||||
|     #[clap(default_value = ".")] | ||||
|     dir: String, | ||||
|     #[clap(default_value = ".", value_parser = parse_valid_dir)] | ||||
|     dir: PathBuf, | ||||
|  | ||||
|     /// IP address to use | ||||
|     #[clap(default_value = "0.0.0.0")] | ||||
| @@ -23,18 +25,31 @@ struct Args { | ||||
|     port: u16, | ||||
| } | ||||
|  | ||||
| fn parse_valid_dir(dir: &str) -> Result<PathBuf, String> { | ||||
|     let path = PathBuf::from(dir); | ||||
|     match std::fs::metadata(&path) { | ||||
|         Ok(metadata) if metadata.is_dir() => Ok(path), | ||||
|         Ok(_) => Err(format!("{} is not a directory", path.display())), | ||||
|         Err(e) => Err(format!("Error accessing {}: {}", path.display(), e)), | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[actix_web::main] | ||||
| async fn main() -> std::io::Result<()> { | ||||
|     let args = Args::parse(); | ||||
|  | ||||
|     let dir = args.dir; | ||||
|     let dir = Arc::new(args.dir); | ||||
|     let sock = SocketAddr::new(args.ip, args.port); | ||||
|  | ||||
|     println!("Starting HTTP server on {sock} exposing dir {dir}"); | ||||
|     println!( | ||||
|         "Starting HTTP server on {sock} exposing dir {}", | ||||
|         dir.display() | ||||
|     ); | ||||
|  | ||||
|     HttpServer::new(move || { | ||||
|         let dir = dir.clone(); | ||||
|         App::new().service( | ||||
|             actix_files::Files::new("/", dir.clone()) | ||||
|             actix_files::Files::new("/", dir.as_ref()) | ||||
|                 .show_files_listing() | ||||
|                 .prefer_utf8(true), | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user