hfs 0.48.0-alpha1 → 0.48.0-alpha2
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/admin/assets/index-1c2b890b.css +1 -0
- package/admin/assets/{index-12bfad23.js → index-344723f8.js} +109 -109
- package/admin/assets/{sha512-888f0eaa.js → sha512-136b5a7c.js} +1 -1
- package/admin/index.html +2 -2
- package/package.json +1 -1
- package/src/adminApis.js +3 -2
- package/src/api.net.js +4 -1
- package/src/const.js +1 -1
- package/src/log.js +6 -3
- package/src/serveFile.js +1 -0
- package/src/upload.js +2 -1
- package/admin/assets/index-5f04953d.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as OF,c as UF}from"./index-
|
|
1
|
+
import{g as OF,c as UF}from"./index-344723f8.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/admin/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<title>HFS Admin</title>
|
|
8
8
|
|
|
9
9
|
<link rel="icon" type="image/svg+xml" href="/hfs-logo-icon.svg" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-344723f8.js"></script>
|
|
11
|
+
<link rel="stylesheet" href="/assets/index-1c2b890b.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/package.json
CHANGED
package/src/adminApis.js
CHANGED
|
@@ -165,10 +165,10 @@ exports.adminApis = {
|
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
167
|
function parse(line) {
|
|
168
|
-
const m = /^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+)/.exec(line);
|
|
168
|
+
const m = /^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+) ?(.*)/.exec(line);
|
|
169
169
|
if (!m)
|
|
170
170
|
return;
|
|
171
|
-
const [, ip, , user, date, time, method, uri, status, length] = m;
|
|
171
|
+
const [, ip, , user, date, time, method, uri, status, length, extra] = m;
|
|
172
172
|
return {
|
|
173
173
|
ip,
|
|
174
174
|
user: user === '-' ? undefined : user,
|
|
@@ -177,6 +177,7 @@ exports.adminApis = {
|
|
|
177
177
|
uri,
|
|
178
178
|
status: Number(status),
|
|
179
179
|
length: length === '-' ? undefined : Number(length),
|
|
180
|
+
extra: (0, misc_1.tryJson)((0, misc_1.tryJson)(extra)) || undefined,
|
|
180
181
|
};
|
|
181
182
|
}
|
|
182
183
|
},
|
package/src/api.net.js
CHANGED
|
@@ -28,7 +28,10 @@ client.getGateway = function getGatewayCaching() {
|
|
|
28
28
|
};
|
|
29
29
|
client.getGateway();
|
|
30
30
|
exports.externalIp = Promise.resolve(''); // poll external ip
|
|
31
|
-
(0, misc_1.repeat)(10 * misc_1.MINUTE, () =>
|
|
31
|
+
(0, misc_1.repeat)(10 * misc_1.MINUTE, () => {
|
|
32
|
+
const was = exports.externalIp;
|
|
33
|
+
exports.externalIp = client.getPublicIp().catch(() => was); //fallback to previous value
|
|
34
|
+
});
|
|
32
35
|
const getNatInfo = (0, misc_1.debounceAsync)(async () => {
|
|
33
36
|
var _a, _b;
|
|
34
37
|
const gettingIp = getPublicIp(); // don't wait, do it in parallel
|
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-09-
|
|
41
|
+
exports.BUILD_TIMESTAMP = "2023-09-07T17:51:10.938Z";
|
|
42
42
|
const pkg = JSON.parse(fs.readFileSync(PKG_PATH, 'utf8'));
|
|
43
43
|
exports.VERSION = pkg.version;
|
|
44
44
|
exports.RUNNING_BETA = exports.VERSION.includes('-');
|
package/src/log.js
CHANGED
|
@@ -120,16 +120,19 @@ const logMw = async (ctx, next) => {
|
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
const format = '%s - %s [%s] "%s %s HTTP/%s" %d %s\n'; // Apache's Common Log Format
|
|
123
|
+
const format = '%s - %s [%s] "%s %s HTTP/%s" %d %s %s\n'; // Apache's Common Log Format
|
|
124
124
|
const a = now.toString().split(' ');
|
|
125
125
|
const date = a[2] + '/' + a[1] + '/' + a[3] + ':' + a[4] + ' ' + ((_b = a[5]) === null || _b === void 0 ? void 0 : _b.slice(3));
|
|
126
126
|
const user = (0, perm_1.getCurrentUsername)(ctx);
|
|
127
127
|
const length = (_c = ctx.state.length) !== null && _c !== void 0 ? _c : ctx.length;
|
|
128
128
|
const uri = ctx.originalUrl;
|
|
129
|
-
|
|
129
|
+
const extra = ctx.state.includesLastByte && ctx.vfsNode && { dl: 1 }
|
|
130
|
+
|| ctx.state.uploadPath && { ul: ctx.state.uploadPath, size: ctx.state.uploadSize }
|
|
131
|
+
|| undefined;
|
|
132
|
+
events_1.default.emit(logger.name, Object.assign(lodash_1.default.pick(ctx, ['ip', 'method', 'status']), { length, user, ts: now, uri, extra }));
|
|
130
133
|
debounce(() => // once in a while we check if the file is still good (not deleted, etc), or we'll reopen it
|
|
131
134
|
(0, promises_1.stat)(logger.path).catch(() => logger.reopen())); // async = smoother but we may lose some entries
|
|
132
|
-
stream.write(util.format(format, ctx.ip, user || '-', date, ctx.method, uri, ctx.req.httpVersion, ctx.status, (_d = length === null || length === void 0 ? void 0 : length.toString()) !== null && _d !== void 0 ? _d : '-'));
|
|
135
|
+
stream.write(util.format(format, ctx.ip, user || '-', date, ctx.method, uri, ctx.req.httpVersion, ctx.status, (_d = length === null || length === void 0 ? void 0 : length.toString()) !== null && _d !== void 0 ? _d : '-', extra ? JSON.stringify(JSON.stringify(extra)) : ''));
|
|
133
136
|
});
|
|
134
137
|
};
|
|
135
138
|
exports.logMw = logMw;
|
package/src/serveFile.js
CHANGED
package/src/upload.js
CHANGED
|
@@ -117,8 +117,9 @@ function uploadWriter(base, path, ctx) {
|
|
|
117
117
|
const conn = (0, connections_1.socket2connection)(ctx.socket);
|
|
118
118
|
if (!conn)
|
|
119
119
|
return () => { };
|
|
120
|
-
ctx.state.uploadPath = ctx.path + path;
|
|
121
120
|
const opTotal = reqSize + resume;
|
|
121
|
+
ctx.state.uploadPath = ctx.path + path;
|
|
122
|
+
ctx.state.uploadSize = opTotal;
|
|
122
123
|
(0, connections_1.updateConnection)(conn, { ctx, op: 'upload', opTotal, opOffset: resume / opTotal });
|
|
123
124
|
const h = setInterval(() => {
|
|
124
125
|
const now = Date.now();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{height:100dvh}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;background:#000}#root{min-height:100%;display:flex}main{word-break:break-word}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.MuiTreeItem-content{box-sizing:border-box}.MuiDataGrid-columnHeaders{background-color:#8882}ol,ul{margin-top:.2em;padding-left:1.5em}.dialog-alert .MuiDialogContent-root{max-width:45em;padding:.5em 1em}.animated-dashed-line{width:100%;height:2px;background-image:linear-gradient(to right,currentColor 50%,transparent 50%);background-size:10px 100%;animation:animate-dash 1s alternate linear infinite}@keyframes animate-dash{to{background-position:20px 0}}
|