version 0.57.8

Massimo Melina committed Jul 5, 2025 at 13:51 UTC bd51659fb2ae94f38450f1578128b1e26119f767
3 files changed +12 -215
package-lock.json
+10 -213
@@ -1,12 +1,12 @@
1 {
2 "name": "hfs",
3 - "version": "0.57.7",
3 + "version": "0.57.8",
4 "lockfileVersion": 2,
5 "requires": true,
6 "packages": {
7 "": {
8 "name": "hfs",
9 - "version": "0.57.7",
9 + "version": "0.57.8",
10 "license": "GPL-3.0",
11 "workspaces": [
12 "admin",
@@ -35,7 +35,7 @@
35 "limiter": "^2.1.0",
36 "lodash": "^4.17.21",
37 "minimist": "^1.2.6",
38 - "nat-upnp-rejetto": "^2.1.0",
38 + "nat-upnp-rejetto": "^2.1.1",
39 "node-forge": "^1.3.1",
40 "open": "^8.4.0",
41 "picomatch": "^3.0.1",
@@ -50,8 +50,6 @@
50 },
51 "devDependencies": {
52 "@playwright/test": "^1.51.1",
53 - "@types/archiver": "^5.1.1",
54 - "@types/basic-auth": "^1.1.3",
53 "@types/formidable": "^3.4.1",
54 "@types/koa": "^2.13.4",
55 "@types/koa__router": "^8.0.11",
@@ -64,14 +62,11 @@
62 "@types/node": "^20.17.30",
63 "@types/node-forge": "^1.3.11",
64 "@types/picomatch": "^2.3.3",
67 - "@types/tough-cookie": "^4.0.2",
68 - "@types/unzipper": "^0.10.5",
65 "@yao-pkg/pkg": "^6.4.0",
66 "cross-env": "^7.0.3",
67 "koa-better-http-proxy": "^0.2.9",
68 "nm-prune": "^5.0.0",
69 "nodemon": "^3.1.9",
74 - "tough-cookie": "^4.0.0",
70 "tsx": "^4.19.3",
71 "typescript": "^5.8.3"
72 },
@@ -3804,24 +3799,6 @@
3799 "@types/node": "*"
3800 }
3801 },
3807 - "node_modules/@types/archiver": {
3808 - "version": "5.3.2",
3809 - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz",
3810 - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==",
3811 - "dev": true,
3812 - "dependencies": {
3813 - "@types/readdir-glob": "*"
3814 - }
3815 - },
3816 - "node_modules/@types/basic-auth": {
3817 - "version": "1.1.3",
3818 - "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.3.tgz",
3819 - "integrity": "sha512-W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==",
3820 - "dev": true,
3821 - "dependencies": {
3822 - "@types/node": "*"
3823 - }
3824 - },
3802 "node_modules/@types/body-parser": {
3803 "version": "1.19.2",
3804 "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
@@ -4109,15 +4086,6 @@
4086 "@types/react": "*"
4087 }
4088 },
4112 - "node_modules/@types/readdir-glob": {
4113 - "version": "1.1.1",
4114 - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz",
4115 - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==",
4116 - "dev": true,
4117 - "dependencies": {
4118 - "@types/node": "*"
4119 - }
4120 - },
4089 "node_modules/@types/serve-static": {
4090 "version": "1.15.1",
4091 "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
@@ -4128,21 +4096,6 @@
4096 "@types/node": "*"
4097 }
4098 },
4131 - "node_modules/@types/tough-cookie": {
4132 - "version": "4.0.2",
4133 - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz",
4134 - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==",
4135 - "dev": true
4136 - },
4137 - "node_modules/@types/unzipper": {
4138 - "version": "0.10.5",
4139 - "resolved": "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz",
4140 - "integrity": "sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA==",
4141 - "dev": true,
4142 - "dependencies": {
4143 - "@types/node": "*"
4144 - }
4145 - },
4099 "node_modules/@types/xxhashjs": {
4100 "version": "0.2.4",
4101 "resolved": "https://registry.npmjs.org/@types/xxhashjs/-/xxhashjs-0.2.4.tgz",
@@ -6571,9 +6524,10 @@
6524 "dev": true
6525 },
6526 "node_modules/nat-upnp-rejetto": {
6574 - "version": "2.1.0",
6575 - "resolved": "https://registry.npmjs.org/nat-upnp-rejetto/-/nat-upnp-rejetto-2.1.0.tgz",
6576 - "integrity": "sha512-FnsOK29BRqALuqo967tElWRXCN/fSeywfXaAomxHf/FotEAjDh9K2PLt0CAOrS2x7IM7Gs2ECkN6OEY+SxKDZg==",
6527 + "version": "2.1.1",
6528 + "resolved": "https://registry.npmjs.org/nat-upnp-rejetto/-/nat-upnp-rejetto-2.1.1.tgz",
6529 + "integrity": "sha512-DdLbNbHDAbSUCs592RxGbTYMJIZVa0XjZYtZRhncUb8nxyeGhmNOtRgYa4X/NF097sE+wqZe8RAERBTbYdkGlA==",
6530 + "license": "MIT",
6531 "dependencies": {
6532 "fast-xml-parser": "^4.5.0"
6533 }
@@ -7126,12 +7080,6 @@
7080 "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
7081 "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
7082 },
7129 - "node_modules/psl": {
7130 - "version": "1.9.0",
7131 - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
7132 - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
7133 - "dev": true
7134 - },
7083 "node_modules/pstree.remy": {
7084 "version": "1.1.8",
7085 "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -7148,15 +7096,6 @@
7096 "once": "^1.3.1"
7097 }
7098 },
7151 - "node_modules/punycode": {
7152 - "version": "2.3.0",
7153 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
7154 - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
7155 - "dev": true,
7156 - "engines": {
7157 - "node": ">=6"
7158 - }
7159 - },
7099 "node_modules/pvtsutils": {
7100 "version": "1.3.5",
7101 "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz",
@@ -7178,12 +7117,6 @@
7117 "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz",
7118 "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ=="
7119 },
7181 - "node_modules/querystringify": {
7182 - "version": "2.2.0",
7183 - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
7184 - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
7185 - "dev": true
7186 - },
7120 "node_modules/queue-microtask": {
7121 "version": "1.2.3",
7122 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -7670,12 +7603,6 @@
7603 "node": ">=0.10.0"
7604 }
7605 },
7673 - "node_modules/requires-port": {
7674 - "version": "1.0.0",
7675 - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
7676 - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
7677 - "dev": true
7678 - },
7606 "node_modules/resolve": {
7607 "version": "1.22.10",
7608 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
@@ -8373,30 +8300,6 @@
8300 "nodetouch": "bin/nodetouch.js"
8301 }
8302 },
8376 - "node_modules/tough-cookie": {
8377 - "version": "4.1.3",
8378 - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
8379 - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
8380 - "dev": true,
8381 - "dependencies": {
8382 - "psl": "^1.1.33",
8383 - "punycode": "^2.1.1",
8384 - "universalify": "^0.2.0",
8385 - "url-parse": "^1.5.3"
8386 - },
8387 - "engines": {
8388 - "node": ">=6"
8389 - }
8390 - },
8391 - "node_modules/tough-cookie/node_modules/universalify": {
8392 - "version": "0.2.0",
8393 - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
8394 - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
8395 - "dev": true,
8396 - "engines": {
8397 - "node": ">= 4.0.0"
8398 - }
8399 - },
8303 "node_modules/tr46": {
8304 "version": "0.0.3",
8305 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -8688,16 +8591,6 @@
8591 "browserslist": ">= 4.21.0"
8592 }
8593 },
8691 - "node_modules/url-parse": {
8692 - "version": "1.5.10",
8693 - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
8694 - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
8695 - "dev": true,
8696 - "dependencies": {
8697 - "querystringify": "^2.1.1",
8698 - "requires-port": "^1.0.0"
8699 - }
8700 - },
8594 "node_modules/use-sync-external-store": {
8595 "version": "1.2.0",
8596 "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
@@ -11267,24 +11160,6 @@
11160 "@types/node": "*"
11161 }
11162 },
11270 - "@types/archiver": {
11271 - "version": "5.3.2",
11272 - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz",
11273 - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==",
11274 - "dev": true,
11275 - "requires": {
11276 - "@types/readdir-glob": "*"
11277 - }
11278 - },
11279 - "@types/basic-auth": {
11280 - "version": "1.1.3",
11281 - "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.3.tgz",
11282 - "integrity": "sha512-W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==",
11283 - "dev": true,
11284 - "requires": {
11285 - "@types/node": "*"
11286 - }
11287 - },
11163 "@types/body-parser": {
11164 "version": "1.19.2",
11165 "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
@@ -11567,15 +11442,6 @@
11442 "@types/react": "*"
11443 }
11444 },
11570 - "@types/readdir-glob": {
11571 - "version": "1.1.1",
11572 - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz",
11573 - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==",
11574 - "dev": true,
11575 - "requires": {
11576 - "@types/node": "*"
11577 - }
11578 - },
11445 "@types/serve-static": {
11446 "version": "1.15.1",
11447 "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
@@ -11586,21 +11452,6 @@
11452 "@types/node": "*"
11453 }
11454 },
11589 - "@types/tough-cookie": {
11590 - "version": "4.0.2",
11591 - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz",
11592 - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==",
11593 - "dev": true
11594 - },
11595 - "@types/unzipper": {
11596 - "version": "0.10.5",
11597 - "resolved": "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz",
11598 - "integrity": "sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA==",
11599 - "dev": true,
11600 - "requires": {
11601 - "@types/node": "*"
11602 - }
11603 - },
11455 "@types/xxhashjs": {
11456 "version": "0.2.4",
11457 "resolved": "https://registry.npmjs.org/@types/xxhashjs/-/xxhashjs-0.2.4.tgz",
@@ -13315,9 +13166,9 @@
13166 "dev": true
13167 },
13168 "nat-upnp-rejetto": {
13318 - "version": "2.1.0",
13319 - "resolved": "https://registry.npmjs.org/nat-upnp-rejetto/-/nat-upnp-rejetto-2.1.0.tgz",
13320 - "integrity": "sha512-FnsOK29BRqALuqo967tElWRXCN/fSeywfXaAomxHf/FotEAjDh9K2PLt0CAOrS2x7IM7Gs2ECkN6OEY+SxKDZg==",
13169 + "version": "2.1.1",
13170 + "resolved": "https://registry.npmjs.org/nat-upnp-rejetto/-/nat-upnp-rejetto-2.1.1.tgz",
13171 + "integrity": "sha512-DdLbNbHDAbSUCs592RxGbTYMJIZVa0XjZYtZRhncUb8nxyeGhmNOtRgYa4X/NF097sE+wqZe8RAERBTbYdkGlA==",
13172 "requires": {
13173 "fast-xml-parser": "^4.5.0"
13174 }
@@ -13700,12 +13551,6 @@
13551 "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
13552 "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
13553 },
13703 - "psl": {
13704 - "version": "1.9.0",
13705 - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
13706 - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
13707 - "dev": true
13708 - },
13554 "pstree.remy": {
13555 "version": "1.1.8",
13556 "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -13722,12 +13567,6 @@
13567 "once": "^1.3.1"
13568 }
13569 },
13725 - "punycode": {
13726 - "version": "2.3.0",
13727 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
13728 - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
13729 - "dev": true
13730 - },
13570 "pvtsutils": {
13571 "version": "1.3.5",
13572 "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz",
@@ -13746,12 +13585,6 @@
13585 "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz",
13586 "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ=="
13587 },
13749 - "querystringify": {
13750 - "version": "2.2.0",
13751 - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
13752 - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
13753 - "dev": true
13754 - },
13588 "queue-microtask": {
13589 "version": "1.2.3",
13590 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -14109,12 +13942,6 @@
13942 "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
13943 "dev": true
13944 },
14112 - "requires-port": {
14113 - "version": "1.0.0",
14114 - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
14115 - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
14116 - "dev": true
14117 - },
13945 "resolve": {
13946 "version": "1.22.10",
13947 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
@@ -14613,26 +14440,6 @@
14440 "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
14441 "dev": true
14442 },
14616 - "tough-cookie": {
14617 - "version": "4.1.3",
14618 - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
14619 - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
14620 - "dev": true,
14621 - "requires": {
14622 - "psl": "^1.1.33",
14623 - "punycode": "^2.1.1",
14624 - "universalify": "^0.2.0",
14625 - "url-parse": "^1.5.3"
14626 - },
14627 - "dependencies": {
14628 - "universalify": {
14629 - "version": "0.2.0",
14630 - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
14631 - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
14632 - "dev": true
14633 - }
14634 - }
14635 - },
14443 "tr46": {
14444 "version": "0.0.3",
14445 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -14834,16 +14641,6 @@
14641 "picocolors": "^1.1.1"
14642 }
14643 },
14837 - "url-parse": {
14838 - "version": "1.5.10",
14839 - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
14840 - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
14841 - "dev": true,
14842 - "requires": {
14843 - "querystringify": "^2.1.1",
14844 - "requires-port": "^1.0.0"
14845 - }
14846 - },
14644 "use-sync-external-store": {
14645 "version": "1.2.0",
14646 "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "hfs",
3 - "version": "0.57.7",
3 + "version": "0.57.8",
4 "description": "HTTP File Server",
5 "keywords": ["file server", "http server"],
6 "homepage": "https://rejetto.com/hfs",
tests/config.yaml
+1 -1
@@ -148,7 +148,7 @@ accounts:
148 admins:
149 allow_net: ::1
150 admin: true
151 -version: 0.57.7
151 +version: 0.57.8
152 max_downloads_per_account: 2
153 max_downloads: 1
154 roots: