version 3.0.4
Massimo Melina committed
Feb 23, 2026 at 22:11 UTC
f33320b55ecee22ade27b31b33829ff0455ef90a
4 files changed
+82
-85
README.md
+2
-2
@@ -100,8 +100,8 @@ To uninstall, remove the files you unzipped and the configuration/data directory
100
101
If you can't or don't want to run our binary versions, you can try this:
102
103
- 1. [install node.js](https://nodejs.org) version 20 (or greater, but then compatibility is not guaranteed)
104
-2. run at the command line `npx hfs@latest`
103
+1. [Install Node.js](https://nodejs.org) version 18 to 24
104
+2. Run at the command line `npx hfs@latest`
105
106
The `@latest` part is optional, and ensures that you are always up to date.
107
package-lock.json
+78
-81
@@ -1,12 +1,12 @@
1
{
2
"name": "hfs",
3
- "version": "3.0.3",
3
+ "version": "3.0.4",
4
"lockfileVersion": 2,
5
"requires": true,
6
"packages": {
7
"": {
8
"name": "hfs",
9
- "version": "3.0.3",
9
+ "version": "3.0.4",
10
"license": "GPL-3.0",
11
"workspaces": [
12
"admin",
@@ -16,7 +16,7 @@
16
],
17
"dependencies": {
18
"@gregoranders/csv": "^0.0.13",
19
- "@rejetto/kvstorage": "^0.14.1",
19
+ "@rejetto/kvstorage": "^0.15.4",
20
"acme-client": "^5.4.0",
21
"busboy": "^1.6.0",
22
"crc-32": "^1.2.2",
@@ -3080,9 +3080,9 @@
3080
}
3081
},
3082
"node_modules/@rejetto/kvstorage": {
3083
- "version": "0.14.1",
3084
- "resolved": "https://registry.npmjs.org/@rejetto/kvstorage/-/kvstorage-0.14.1.tgz",
3085
- "integrity": "sha512-8mgq4/KS9ogXI4s+tRH8sTMcLIEs0MFxHCMRR5/HHnhN6JGrCy5KsopMs396BCY0nxWai76yKMo2V/AIjG7XOQ==",
3083
+ "version": "0.15.4",
3084
+ "resolved": "https://registry.npmjs.org/@rejetto/kvstorage/-/kvstorage-0.15.4.tgz",
3085
+ "integrity": "sha512-BWEb7zVw1wGbrEAo5UTN3licBiKjHDSJuwOkIn1TYqYdJRO/OOzwzwtzvvaitXjFhmq8SnvGdZO6SbS8F9oy8Q==",
3086
"license": "MIT"
3087
},
3088
"node_modules/@remix-run/router": {
@@ -4492,10 +4492,14 @@
4492
}
4493
},
4494
"node_modules/balanced-match": {
4495
- "version": "1.0.2",
4496
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
4497
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
4498
- "dev": true
4495
+ "version": "4.0.4",
4496
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
4497
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
4498
+ "dev": true,
4499
+ "license": "MIT",
4500
+ "engines": {
4501
+ "node": "18 || 20 || >=22"
4502
+ }
4503
},
4504
"node_modules/bare-events": {
4505
"version": "2.8.2",
@@ -4666,14 +4670,16 @@
4670
"dev": true
4671
},
4672
"node_modules/brace-expansion": {
4669
- "version": "1.1.12",
4670
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
4671
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
4673
+ "version": "5.0.3",
4674
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
4675
+ "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
4676
"dev": true,
4677
"license": "MIT",
4678
"dependencies": {
4675
- "balanced-match": "^1.0.0",
4676
- "concat-map": "0.0.1"
4679
+ "balanced-match": "^4.0.2"
4680
+ },
4681
+ "engines": {
4682
+ "node": "18 || 20 || >=22"
4683
}
4684
},
4685
"node_modules/braces": {
@@ -5018,12 +5024,6 @@
5024
"node": ">= 0.6"
5025
}
5026
},
5021
- "node_modules/concat-map": {
5022
- "version": "0.0.1",
5023
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
5024
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
5025
- "dev": true
5026
- },
5027
"node_modules/content-disposition": {
5028
"version": "0.5.4",
5029
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -5658,9 +5658,9 @@
5658
}
5659
},
5660
"node_modules/fast-xml-parser": {
5661
- "version": "5.3.4",
5662
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.4.tgz",
5663
- "integrity": "sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==",
5661
+ "version": "5.3.7",
5662
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.7.tgz",
5663
+ "integrity": "sha512-JzVLro9NQv92pOM/jTCR6mHlJh2FGwtomH8ZQjhFj/R29P2Fnj38OgPJVtcvYw6SuKClhgYuwUZf5b3rd8u2mA==",
5664
"funding": [
5665
{
5666
"type": "github",
@@ -5669,7 +5669,7 @@
5669
],
5670
"license": "MIT",
5671
"dependencies": {
5672
- "strnum": "^2.1.0"
5672
+ "strnum": "^2.1.2"
5673
},
5674
"bin": {
5675
"fxparser": "src/cli/cli.js"
@@ -6797,6 +6797,22 @@
6797
"node": ">=4"
6798
}
6799
},
6800
+ "node_modules/minimatch": {
6801
+ "version": "10.2.2",
6802
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz",
6803
+ "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==",
6804
+ "dev": true,
6805
+ "license": "BlueOak-1.0.0",
6806
+ "dependencies": {
6807
+ "brace-expansion": "^5.0.2"
6808
+ },
6809
+ "engines": {
6810
+ "node": "18 || 20 || >=22"
6811
+ },
6812
+ "funding": {
6813
+ "url": "https://github.com/sponsors/isaacs"
6814
+ }
6815
+ },
6816
"node_modules/minimist": {
6817
"version": "1.2.8",
6818
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
@@ -7034,16 +7050,16 @@
7050
"license": "MIT"
7051
},
7052
"node_modules/nodemon": {
7037
- "version": "3.1.10",
7038
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
7039
- "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==",
7053
+ "version": "3.1.14",
7054
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz",
7055
+ "integrity": "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==",
7056
"dev": true,
7057
"license": "MIT",
7058
"dependencies": {
7059
"chokidar": "^3.5.2",
7060
"debug": "^4",
7061
"ignore-by-default": "^1.0.1",
7046
- "minimatch": "^3.1.2",
7062
+ "minimatch": "^10.2.1",
7063
"pstree.remy": "^1.1.8",
7064
"semver": "^7.5.3",
7065
"simple-update-notifier": "^2.0.0",
@@ -7071,18 +7087,6 @@
7087
"node": ">=4"
7088
}
7089
},
7074
- "node_modules/nodemon/node_modules/minimatch": {
7075
- "version": "3.1.2",
7076
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
7077
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
7078
- "dev": true,
7079
- "dependencies": {
7080
- "brace-expansion": "^1.1.7"
7081
- },
7082
- "engines": {
7083
- "node": "*"
7084
- }
7085
- },
7090
"node_modules/nodemon/node_modules/semver": {
7091
"version": "7.7.1",
7092
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
@@ -8505,9 +8509,9 @@
8509
"dev": true
8510
},
8511
"node_modules/tar": {
8508
- "version": "7.5.7",
8509
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
8510
- "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
8512
+ "version": "7.5.9",
8513
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz",
8514
+ "integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==",
8515
"dev": true,
8516
"license": "BlueOak-1.0.0",
8517
"dependencies": {
@@ -11166,9 +11170,9 @@
11170
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="
11171
},
11172
"@rejetto/kvstorage": {
11169
- "version": "0.14.1",
11170
- "resolved": "https://registry.npmjs.org/@rejetto/kvstorage/-/kvstorage-0.14.1.tgz",
11171
- "integrity": "sha512-8mgq4/KS9ogXI4s+tRH8sTMcLIEs0MFxHCMRR5/HHnhN6JGrCy5KsopMs396BCY0nxWai76yKMo2V/AIjG7XOQ=="
11173
+ "version": "0.15.4",
11174
+ "resolved": "https://registry.npmjs.org/@rejetto/kvstorage/-/kvstorage-0.15.4.tgz",
11175
+ "integrity": "sha512-BWEb7zVw1wGbrEAo5UTN3licBiKjHDSJuwOkIn1TYqYdJRO/OOzwzwtzvvaitXjFhmq8SnvGdZO6SbS8F9oy8Q=="
11176
},
11177
"@remix-run/router": {
11178
"version": "1.23.2",
@@ -12069,9 +12073,9 @@
12073
}
12074
},
12075
"balanced-match": {
12072
- "version": "1.0.2",
12073
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
12074
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
12076
+ "version": "4.0.4",
12077
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
12078
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
12079
"dev": true
12080
},
12081
"bare-events": {
@@ -12183,13 +12187,12 @@
12187
"dev": true
12188
},
12189
"brace-expansion": {
12186
- "version": "1.1.12",
12187
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
12188
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
12190
+ "version": "5.0.3",
12191
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
12192
+ "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
12193
"dev": true,
12194
"requires": {
12191
- "balanced-match": "^1.0.0",
12192
- "concat-map": "0.0.1"
12195
+ "balanced-match": "^4.0.2"
12196
}
12197
},
12198
"braces": {
@@ -12398,12 +12401,6 @@
12401
"mime-db": ">= 1.43.0 < 2"
12402
}
12403
},
12401
- "concat-map": {
12402
- "version": "0.0.1",
12403
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
12404
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
12405
- "dev": true
12406
- },
12404
"content-disposition": {
12405
"version": "0.5.4",
12406
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -12853,11 +12850,11 @@
12850
}
12851
},
12852
"fast-xml-parser": {
12856
- "version": "5.3.4",
12857
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.4.tgz",
12858
- "integrity": "sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==",
12853
+ "version": "5.3.7",
12854
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.7.tgz",
12855
+ "integrity": "sha512-JzVLro9NQv92pOM/jTCR6mHlJh2FGwtomH8ZQjhFj/R29P2Fnj38OgPJVtcvYw6SuKClhgYuwUZf5b3rd8u2mA==",
12856
"requires": {
12860
- "strnum": "^2.1.0"
12857
+ "strnum": "^2.1.2"
12858
}
12859
},
12860
"fastq": {
@@ -13636,6 +13633,15 @@
13633
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
13634
"dev": true
13635
},
13636
+ "minimatch": {
13637
+ "version": "10.2.2",
13638
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz",
13639
+ "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==",
13640
+ "dev": true,
13641
+ "requires": {
13642
+ "brace-expansion": "^5.0.2"
13643
+ }
13644
+ },
13645
"minimist": {
13646
"version": "1.2.8",
13647
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
@@ -13795,15 +13801,15 @@
13801
"dev": true
13802
},
13803
"nodemon": {
13798
- "version": "3.1.10",
13799
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
13800
- "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==",
13804
+ "version": "3.1.14",
13805
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz",
13806
+ "integrity": "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==",
13807
"dev": true,
13808
"requires": {
13809
"chokidar": "^3.5.2",
13810
"debug": "^4",
13811
"ignore-by-default": "^1.0.1",
13806
- "minimatch": "^3.1.2",
13812
+ "minimatch": "^10.2.1",
13813
"pstree.remy": "^1.1.8",
13814
"semver": "^7.5.3",
13815
"simple-update-notifier": "^2.0.0",
@@ -13818,15 +13824,6 @@
13824
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
13825
"dev": true
13826
},
13821
- "minimatch": {
13822
- "version": "3.1.2",
13823
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
13824
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
13825
- "dev": true,
13826
- "requires": {
13827
- "brace-expansion": "^1.1.7"
13828
- }
13829
- },
13827
"semver": {
13828
"version": "7.7.1",
13829
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
@@ -14827,9 +14824,9 @@
14824
"dev": true
14825
},
14826
"tar": {
14830
- "version": "7.5.7",
14831
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
14832
- "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
14827
+ "version": "7.5.9",
14828
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz",
14829
+ "integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==",
14830
"dev": true,
14831
"requires": {
14832
"@isaacs/fs-minipass": "^4.0.0",
package.json
+1
-1
@@ -1,6 +1,6 @@
1
{
2
"name": "hfs",
3
- "version": "3.0.3",
3
+ "version": "3.0.4",
4
"description": "HTTP File Server",
5
"keywords": ["file server", "http server"],
6
"homepage": "https://rejetto.com/hfs",
tests/config.yaml
+1
-1
@@ -178,7 +178,7 @@ accounts:
178
admins:
179
allow_net: ::1
180
admin: true
181
-version: 3.0.3
181
+version: 3.0.4
182
max_downloads_per_account: 2
183
max_downloads: 1
184
roots: