hfs 0.46.0 → 0.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/admin/assets/{index-963c15a5.js → index-7f1741ba.js} +97 -97
- package/admin/assets/{sha512-471fbd54.js → sha512-3412b98f.js} +1 -1
- package/admin/index.html +1 -1
- package/frontend/assets/{index-c0f02a72.js → index-b49b8a16.js} +15 -15
- package/frontend/assets/{sha512-7dcc825b.js → sha512-d9635c9d.js} +1 -1
- package/frontend/index.html +2 -1
- package/package.json +2 -2
- package/plugins/list-uploader/public/main.js +1 -1
- package/src/api.lang.js +1 -1
- package/src/const.js +1 -1
- package/src/frontEndApis.js +2 -2
- package/src/middlewares.js +3 -1
- package/src/serveGuiFiles.js +2 -2
- package/src/util-files.js +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as OF,c as UF}from"./index-
|
|
1
|
+
import{g as OF,c as UF}from"./index-b49b8a16.js";function gF(sF,hF){for(var eF=0;eF<hF.length;eF++){const tF=hF[eF];if(typeof tF!="string"&&!Array.isArray(tF)){for(const w in tF)if(w!=="default"&&!(w in sF)){const lF=Object.getOwnPropertyDescriptor(tF,w);lF&&Object.defineProperty(sF,w,lF.get?lF:{enumerable:!0,get:()=>tF[w]})}}}return Object.freeze(Object.defineProperty(sF,Symbol.toStringTag,{value:"Module"}))}var dF={exports:{}};/*
|
|
2
2
|
* [js-sha512]{@link https://github.com/emn178/js-sha512}
|
|
3
3
|
*
|
|
4
4
|
* @version 0.8.0
|
package/frontend/index.html
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0" />
|
|
6
6
|
<link href="/fontello.css" rel="stylesheet" />
|
|
7
|
+
<script>HFS={}</script>
|
|
7
8
|
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-b49b8a16.js"></script>
|
|
9
10
|
<link rel="stylesheet" href="/assets/index-f2f8fd6b.css">
|
|
10
11
|
</head>
|
|
11
12
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hfs",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.1",
|
|
4
4
|
"description": "HTTP File Server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"file server",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"fast-glob": "^3.2.7",
|
|
69
69
|
"find-process": "^1.4.7",
|
|
70
70
|
"formidable": "^2.1.1",
|
|
71
|
-
"fs-
|
|
71
|
+
"fs-x-attributes": "^1.0.0",
|
|
72
72
|
"koa": "^2.13.4",
|
|
73
73
|
"koa-compress": "^5.1.0",
|
|
74
74
|
"koa-mount": "^4.0.0",
|
package/src/api.lang.js
CHANGED
package/src/const.js
CHANGED
|
@@ -38,7 +38,7 @@ exports.DEV = process.env.DEV || exports.argv.dev ? 'DEV' : '';
|
|
|
38
38
|
exports.ORIGINAL_CWD = process.cwd();
|
|
39
39
|
exports.HFS_STARTED = new Date();
|
|
40
40
|
const PKG_PATH = (0, path_1.join)(__dirname, '..', 'package.json');
|
|
41
|
-
exports.BUILD_TIMESTAMP = "2023-07-
|
|
41
|
+
exports.BUILD_TIMESTAMP = "2023-07-08T18:00:25.802Z";
|
|
42
42
|
const pkg = JSON.parse(fs.readFileSync(PKG_PATH, 'utf8'));
|
|
43
43
|
exports.VERSION = pkg.version;
|
|
44
44
|
exports.DAY = 86400000;
|
package/src/frontEndApis.js
CHANGED
|
@@ -93,7 +93,7 @@ exports.frontEndApis = {
|
|
|
93
93
|
return {};
|
|
94
94
|
}
|
|
95
95
|
catch (e) {
|
|
96
|
-
throw new apiMiddleware_1.ApiError(
|
|
96
|
+
throw new apiMiddleware_1.ApiError(const_1.HTTP_SERVER_ERROR, e);
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
async rename({ uri, dest }, ctx) {
|
|
@@ -115,7 +115,7 @@ exports.frontEndApis = {
|
|
|
115
115
|
return {};
|
|
116
116
|
}
|
|
117
117
|
catch (e) {
|
|
118
|
-
throw new apiMiddleware_1.ApiError(
|
|
118
|
+
throw new apiMiddleware_1.ApiError(const_1.HTTP_SERVER_ERROR, e);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
};
|
package/src/middlewares.js
CHANGED
|
@@ -184,8 +184,10 @@ const someSecurity = async (ctx, next) => {
|
|
|
184
184
|
if (ss === null || ss === void 0 ? void 0 : ss.username)
|
|
185
185
|
if (!ss.ip)
|
|
186
186
|
ss.ip = ctx.ip;
|
|
187
|
-
else if (ss.ip !== ctx.ip)
|
|
187
|
+
else if (ss.ip !== ctx.ip) {
|
|
188
188
|
delete ss.username;
|
|
189
|
+
ss.ip = ctx.ip;
|
|
190
|
+
}
|
|
189
191
|
try {
|
|
190
192
|
if ((0, misc_1.dirTraversal)(decodeURI(ctx.path)))
|
|
191
193
|
return ctx.status = const_1.HTTP_FOOL;
|
package/src/serveGuiFiles.js
CHANGED
|
@@ -76,12 +76,12 @@ function serveStatic(uri) {
|
|
|
76
76
|
}
|
|
77
77
|
function shouldServeApp(ctx) {
|
|
78
78
|
var _a;
|
|
79
|
-
return (_a = ctx.state).serveApp || (_a.serveApp = ctx.path.endsWith('/'));
|
|
79
|
+
return (_a = ctx.state).serveApp || (_a.serveApp = ctx.path.endsWith('/') && !ctx.headers.upgrade); // skip websockets
|
|
80
80
|
}
|
|
81
81
|
function adjustBundlerLinks(ctx, uri, data) {
|
|
82
82
|
const ext = (0, path_1.extname)(ctx.path);
|
|
83
83
|
return ext && !ext.match(/\.(css|html|js|ts|scss)/) ? data
|
|
84
|
-
: String(data).replace(/((?:import | from )['"])\//g, `$1${ctx.state.revProxyPath}${uri}`);
|
|
84
|
+
: String(data).replace(/((?:import[ (]| from )['"])\//g, `$1${ctx.state.revProxyPath}${uri}`);
|
|
85
85
|
}
|
|
86
86
|
async function treatIndex(ctx, filesUri, body) {
|
|
87
87
|
const session = await (0, api_auth_1.refresh_session)({}, ctx);
|
package/src/util-files.js
CHANGED
|
@@ -17,7 +17,7 @@ const stream_1 = require("stream");
|
|
|
17
17
|
// @ts-ignore
|
|
18
18
|
const unzip_stream_1 = __importDefault(require("unzip-stream"));
|
|
19
19
|
// @ts-ignore
|
|
20
|
-
const
|
|
20
|
+
const fs_x_attributes_1 = __importDefault(require("fs-x-attributes"));
|
|
21
21
|
async function isDirectory(path) {
|
|
22
22
|
try {
|
|
23
23
|
return (await promises_1.default.stat(path)).isDirectory();
|
|
@@ -168,7 +168,7 @@ function isValidFileName(name) {
|
|
|
168
168
|
exports.isValidFileName = isValidFileName;
|
|
169
169
|
const FILE_ATTR_PREFIX = 'user.hfs.'; // user. prefix to be linux compatible
|
|
170
170
|
function storeFileAttr(path, k, v) {
|
|
171
|
-
return (0, util_1.promisify)(
|
|
171
|
+
return (0, util_1.promisify)(fs_x_attributes_1.default.set)(path, FILE_ATTR_PREFIX + k, JSON.stringify(v))
|
|
172
172
|
.then(() => true, (e) => {
|
|
173
173
|
console.error("couldn't store metadata on", path, String(e.message || e));
|
|
174
174
|
return false;
|
|
@@ -177,6 +177,6 @@ function storeFileAttr(path, k, v) {
|
|
|
177
177
|
exports.storeFileAttr = storeFileAttr;
|
|
178
178
|
async function loadFileAttr(path, k) {
|
|
179
179
|
var _a;
|
|
180
|
-
return (_a = (0, misc_1.tryJson)(String(await (0, util_1.promisify)(
|
|
180
|
+
return (_a = (0, misc_1.tryJson)(String(await (0, util_1.promisify)(fs_x_attributes_1.default.get)(path, FILE_ATTR_PREFIX + k)))) !== null && _a !== void 0 ? _a : undefined; // normalize, as we get null instead of undefined on windows
|
|
181
181
|
}
|
|
182
182
|
exports.loadFileAttr = loadFileAttr;
|