@betterportal/tunnels 1.0.25 → 1.0.26
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/lib/.bsb/clients/service-tunnels-client.d.ts +1 -1
- package/lib/.bsb/clients/service-tunnels-client.js +1 -1
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts +1 -1
- package/lib/.bsb/clients/service-tunnels-proxy.js +1 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js +7 -3
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.d.ts +9 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.js +6 -0
- package/lib/plugins/service-tunnels-admin/.bp-generated/route-runtime.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts +23 -18
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js +41 -28
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts +2 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js +15 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.d.ts +6 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js +9 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts +2 -2
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js +3 -3
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +1 -1
- package/lib/plugins/service-tunnels-client/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-client/index.js +37 -2
- package/lib/plugins/service-tunnels-client/index.js.map +1 -1
- package/lib/plugins/service-tunnels-client/registry.d.ts +3 -0
- package/lib/plugins/service-tunnels-client/registry.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-client/registry.js +6 -0
- package/lib/plugins/service-tunnels-client/registry.js.map +1 -1
- package/lib/schemas/service-tunnels-admin.json +1 -1
- package/lib/schemas/service-tunnels-admin.plugin.json +1 -1
- package/lib/schemas/service-tunnels-client.json +2 -2
- package/lib/schemas/service-tunnels-client.plugin.json +2 -2
- package/lib/schemas/service-tunnels-proxy.json +2 -2
- package/lib/schemas/service-tunnels-proxy.plugin.json +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated BSB virtual client for service-tunnels-client
|
|
3
3
|
* DO NOT EDIT - Regenerated on every build
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.26
|
|
5
5
|
*/
|
|
6
6
|
import { ServiceClient, BSBService } from "@bsb/base";
|
|
7
7
|
import type { Observable, BSBServiceClientDefinition, EventInputType, EventOutputType } from "@bsb/base";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated BSB virtual client for service-tunnels-client
|
|
3
3
|
* DO NOT EDIT - Regenerated on every build
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.26
|
|
5
5
|
*/
|
|
6
6
|
import { ServiceClient, bsb, optional, createReturnableEvent, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
|
|
7
7
|
const _wsToOriginSchema = bsb.object({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated BSB virtual client for service-tunnels-proxy
|
|
3
3
|
* DO NOT EDIT - Regenerated on every build
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.26
|
|
5
5
|
*/
|
|
6
6
|
import { ServiceClient, BSBService } from "@bsb/base";
|
|
7
7
|
import type { Observable, BSBServiceClientDefinition, EventInputType } from "@bsb/base";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated BSB virtual client for service-tunnels-proxy
|
|
3
3
|
* DO NOT EDIT - Regenerated on every build
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.26
|
|
5
5
|
*/
|
|
6
6
|
import { ServiceClient, bsb, optional, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
|
|
7
7
|
const _wsFromOriginSchema = bsb.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,QAAQ,EAAE,oBAqItB,CAAC"}
|
|
@@ -5,6 +5,7 @@ import * as betterTunnelsCliAuthVerifyBootstrap1PageGET from "../bp-routes/cli-a
|
|
|
5
5
|
import * as betterTunnelsDashboardRoute from "../bp-routes/dashboard/index.js";
|
|
6
6
|
import * as betterTunnelsDashboardGETRoute from "../bp-routes/dashboard/GET.js";
|
|
7
7
|
import * as betterTunnelsDashboardBootstrap1PageGET from "../bp-routes/dashboard/_theme.bootstrap1/GET.js";
|
|
8
|
+
import * as betterTunnelsDashboardBootstrap1Stream from "../bp-routes/dashboard/_theme.bootstrap1/index.stream.js";
|
|
8
9
|
import * as betterTunnelsDownloadsRoute from "../bp-routes/downloads/index.js";
|
|
9
10
|
import * as betterTunnelsDownloadsGETRoute from "../bp-routes/downloads/GET.js";
|
|
10
11
|
import * as betterTunnelsDownloadsBootstrap1PageGET from "../bp-routes/downloads/_theme.bootstrap1/GET.js";
|
|
@@ -49,10 +50,12 @@ export const registry = {
|
|
|
49
50
|
methods: ["GET"],
|
|
50
51
|
paramNames: [],
|
|
51
52
|
schemas: {
|
|
52
|
-
response: betterTunnelsDashboardGETRoute.
|
|
53
|
+
response: betterTunnelsDashboardGETRoute.default.responseSchema,
|
|
54
|
+
item: betterTunnelsDashboardGETRoute.ItemSchema
|
|
53
55
|
},
|
|
54
56
|
methodRoutes: { GET: { method: "GET", schemas: {
|
|
55
|
-
response: betterTunnelsDashboardGETRoute.
|
|
57
|
+
response: betterTunnelsDashboardGETRoute.default.responseSchema,
|
|
58
|
+
item: betterTunnelsDashboardGETRoute.ItemSchema
|
|
56
59
|
}, handler: betterTunnelsDashboardGETRoute.default } },
|
|
57
60
|
handlers: { GET: betterTunnelsDashboardGETRoute.default },
|
|
58
61
|
title: betterTunnelsDashboardRoute.title,
|
|
@@ -64,7 +67,8 @@ export const registry = {
|
|
|
64
67
|
"bootstrap1": {
|
|
65
68
|
pages: [{ rendererId: "default", type: "page", method: "GET", render: betterTunnelsDashboardBootstrap1PageGET.render }],
|
|
66
69
|
components: [],
|
|
67
|
-
fragments: []
|
|
70
|
+
fragments: [],
|
|
71
|
+
stream: { renderShell: betterTunnelsDashboardBootstrap1Stream.renderShell, renderItem: betterTunnelsDashboardBootstrap1Stream.renderItem }
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,+BAA+B,MAAM,uCAAuC,CAAC;AACzF,OAAO,KAAK,kCAAkC,MAAM,qCAAqC,CAAC;AAC1F,OAAO,KAAK,2CAA2C,MAAM,uDAAuD,CAAC;AACrH,OAAO,KAAK,2BAA2B,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,8BAA8B,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,uCAAuC,MAAM,iDAAiD,CAAC;AAC3G,OAAO,KAAK,2BAA2B,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,8BAA8B,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,uCAAuC,MAAM,iDAAiD,CAAC;AAC3G,OAAO,KAAK,yBAAyB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,4BAA4B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,qCAAqC,MAAM,+CAA+C,CAAC;AACvG,OAAO,KAAK,yBAAyB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,4BAA4B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,qCAAqC,MAAM,+CAA+C,CAAC;AAGvG,MAAM,CAAC,MAAM,QAAQ,GAAyB;IAC5C,MAAM,EAAE;QACN;YACE,MAAM,EAAE,gCAAgC;YACxC,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,CAAC,KAAK,CAAC;YAChB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE;gBACP,QAAQ,EAAE,kCAAkC,CAAC,cAAc;gBAC3D,KAAK,EAAE,kCAAkC,CAAC,WAAW;aACtD;YACD,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;wBAC7C,QAAQ,EAAE,kCAAkC,CAAC,cAAc;wBAC3D,KAAK,EAAE,kCAAkC,CAAC,WAAW;qBACtD,EAAE,OAAO,EAAE,kCAAkC,CAAC,OAAO,EAAE,EAAE;YAC1D,QAAQ,EAAE,EAAE,GAAG,EAAE,kCAAkC,CAAC,OAAO,EAAE;YAC7D,KAAK,EAAE,+BAA+B,CAAC,KAAK;YAC5C,WAAW,EAAE,+BAA+B,CAAC,WAAW;YACxD,IAAI,EAAE,+BAA+B,CAAC,IAAI;YAC1C,UAAU,EAAE,+BAA+B,CAAC,UAAU;YACtD,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE;gBACd,YAAY,EAAE;oBACZ,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,CAAC,MAAM,EAAE,CAAC;oBAC3H,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,EAAE;iBACd;aACF;SACF;QACD;YACE,MAAM,EAAE,0BAA0B;YAClC,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,CAAC,KAAK,CAAC;YAChB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE;gBACP,QAAQ,EAAE,8BAA8B,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Plugin } from "../index.js";
|
|
2
|
+
type ServiceConfig = Record<string, unknown>;
|
|
3
|
+
export declare const createHandler: <TResponse extends import("anyvali").BaseSchema<unknown, unknown>, TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TRequest extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").HandlerSchemas<TResponse, TQuery, THeaders, TRequest>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, Record<string, unknown> | (TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>), Record<string, string> | (THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>), Record<string, unknown> | (TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>), Plugin, ServiceConfig>) => import("anyvali").Infer<TResponse> | Promise<import("anyvali").Infer<TResponse>>) => import("@betterportal/framework").RouteHandler<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, import("anyvali").Infer<TResponse>, Plugin, ServiceConfig>;
|
|
4
|
+
export declare const createRawHandler: <TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TRequest extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TMultipart extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").RawHandlerSchemas<TQuery, THeaders, TRequest, TMultipart>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, Plugin, ServiceConfig> & {
|
|
5
|
+
readonly multipart: TMultipart extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TMultipart> : never;
|
|
6
|
+
}) => Response | Promise<Response>) => import("@betterportal/framework").RawRouteHandler<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, TRequest extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TRequest> : Record<string, unknown>, Plugin, ServiceConfig>;
|
|
7
|
+
export declare const createStreamHandler: <TItem extends import("anyvali").BaseSchema<unknown, unknown>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TQuery extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, THeaders extends import("anyvali").BaseSchema<unknown, unknown> | undefined = undefined, TParams = Record<string, string>>(schemas: import("@betterportal/framework").StreamHandlerSchemas<TItem, TSummary, TQuery, THeaders>, handler: (ctx: import("@betterportal/framework").RouteHandlerContext<TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>, Record<string, unknown>, Plugin, ServiceConfig>) => AsyncGenerator<import("anyvali").Infer<TItem>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TSummary> : void, void>) => import("@betterportal/framework").BpStreamHandler<import("anyvali").Infer<TItem>, TSummary extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TSummary> : void, TParams, TQuery extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<TQuery> : Record<string, unknown>, THeaders extends import("anyvali").BaseSchema<unknown, unknown> ? import("anyvali").Infer<THeaders> : Record<string, string>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=route-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-runtime.d.ts","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/route-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,aAAa,qkDAAwD,CAAC;AACnF,eAAO,MAAM,gBAAgB;;gfAA2D,CAAC;AACzF,eAAO,MAAM,mBAAmB,+6CAA8D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// AUTO-GENERATED by BetterPortal codegen - DO NOT EDIT
|
|
2
|
+
import { createHandler as baseCreateHandler, createRawHandler as baseCreateRawHandler, createStreamHandler as baseCreateStreamHandler } from "@betterportal/framework";
|
|
3
|
+
export const createHandler = baseCreateHandler.forContext();
|
|
4
|
+
export const createRawHandler = baseCreateRawHandler.forContext();
|
|
5
|
+
export const createStreamHandler = baseCreateStreamHandler.forContext();
|
|
6
|
+
//# sourceMappingURL=route-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-runtime.js","sourceRoot":"","sources":["../../../../src/plugins/service-tunnels-admin/.bp-generated/route-runtime.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,gBAAgB,IAAI,oBAAoB,EACxC,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,yBAAyB,CAAC;AAIjC,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAyB,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,EAAyB,CAAC;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,UAAU,EAAyB,CAAC"}
|
|
@@ -1,35 +1,40 @@
|
|
|
1
1
|
import * as av from "anyvali";
|
|
2
2
|
import type { Infer } from "anyvali";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const ItemSchema: av.ObjectSchema<{
|
|
4
4
|
activeTunnels: av.NumberSchema;
|
|
5
|
-
totalTunnels: av.NumberSchema;
|
|
6
|
-
anonymousAccounts: av.NumberSchema;
|
|
7
|
-
registeredAccounts: av.NumberSchema;
|
|
8
5
|
requests: av.NumberSchema;
|
|
9
6
|
bytesIn: av.NumberSchema;
|
|
10
7
|
bytesOut: av.NumberSchema;
|
|
11
|
-
|
|
8
|
+
tunnels: av.ArraySchema<av.ObjectSchema<{
|
|
12
9
|
id: av.StringSchema;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
subdomain: av.StringSchema;
|
|
11
|
+
target: av.StringSchema;
|
|
12
|
+
authenticated: av.BoolSchema;
|
|
13
|
+
expiresAt: av.StringSchema;
|
|
14
|
+
requests: av.NumberSchema;
|
|
15
|
+
bytesIn: av.NumberSchema;
|
|
16
|
+
bytesOut: av.NumberSchema;
|
|
16
17
|
}>>;
|
|
17
18
|
}>;
|
|
18
|
-
export type
|
|
19
|
-
|
|
19
|
+
export type DashboardData = Infer<typeof ItemSchema>;
|
|
20
|
+
export type ResponseData = {
|
|
21
|
+
items: DashboardData[];
|
|
22
|
+
};
|
|
23
|
+
declare const _default: import("@betterportal/framework").BpStreamHandler<{
|
|
20
24
|
activeTunnels: number;
|
|
21
|
-
totalTunnels: number;
|
|
22
|
-
anonymousAccounts: number;
|
|
23
|
-
registeredAccounts: number;
|
|
24
25
|
requests: number;
|
|
25
26
|
bytesIn: number;
|
|
26
27
|
bytesOut: number;
|
|
27
|
-
|
|
28
|
+
tunnels: {
|
|
28
29
|
id: string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
subdomain: string;
|
|
31
|
+
target: string;
|
|
32
|
+
authenticated: boolean;
|
|
33
|
+
expiresAt: string;
|
|
34
|
+
requests: number;
|
|
35
|
+
bytesIn: number;
|
|
36
|
+
bytesOut: number;
|
|
32
37
|
}[];
|
|
33
|
-
},
|
|
38
|
+
}, void, Record<string, string>, Record<string, unknown>, Record<string, string>>;
|
|
34
39
|
export default _default;
|
|
35
40
|
//# sourceMappingURL=GET.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBrC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAMK,CAAC;AAC7B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;AA+BtD,wBASE"}
|
|
@@ -1,44 +1,57 @@
|
|
|
1
1
|
import * as av from "anyvali";
|
|
2
|
-
import {
|
|
2
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
3
|
+
import { createStreamHandler } from "../../.bp-generated/route-runtime.js";
|
|
3
4
|
import { prisma } from "../../../../prisma.js";
|
|
4
|
-
|
|
5
|
+
const TunnelSchema = av.object({
|
|
6
|
+
id: av.string(),
|
|
7
|
+
subdomain: av.string(),
|
|
8
|
+
target: av.string(),
|
|
9
|
+
authenticated: av.bool(),
|
|
10
|
+
expiresAt: av.string(),
|
|
11
|
+
requests: av.number(),
|
|
12
|
+
bytesIn: av.number(),
|
|
13
|
+
bytesOut: av.number()
|
|
14
|
+
}, { unknownKeys: "strip" });
|
|
15
|
+
export const ItemSchema = av.object({
|
|
5
16
|
activeTunnels: av.number(),
|
|
6
|
-
totalTunnels: av.number(),
|
|
7
|
-
anonymousAccounts: av.number(),
|
|
8
|
-
registeredAccounts: av.number(),
|
|
9
17
|
requests: av.number(),
|
|
10
18
|
bytesIn: av.number(),
|
|
11
19
|
bytesOut: av.number(),
|
|
12
|
-
|
|
13
|
-
id: av.string(),
|
|
14
|
-
event: av.string(),
|
|
15
|
-
subjectId: av.optional(av.string()),
|
|
16
|
-
createdAt: av.string()
|
|
17
|
-
}, { unknownKeys: "strip" }))
|
|
20
|
+
tunnels: av.array(TunnelSchema)
|
|
18
21
|
}, { unknownKeys: "strip" });
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
prisma.tunnel.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
async function loadDashboard() {
|
|
23
|
+
const now = new Date();
|
|
24
|
+
const [tunnels, usageRows] = await Promise.all([
|
|
25
|
+
prisma.tunnel.findMany({
|
|
26
|
+
where: { status: "active", expiresAt: { gt: now } },
|
|
27
|
+
orderBy: { createdAt: "desc" },
|
|
28
|
+
include: { usage: true }
|
|
29
|
+
}),
|
|
30
|
+
prisma.usageCounter.findMany()
|
|
27
31
|
]);
|
|
28
32
|
return {
|
|
29
|
-
activeTunnels,
|
|
30
|
-
totalTunnels,
|
|
31
|
-
anonymousAccounts,
|
|
32
|
-
registeredAccounts,
|
|
33
|
+
activeTunnels: tunnels.length,
|
|
33
34
|
requests: usageRows.reduce((sum, row) => sum + row.requests, 0),
|
|
34
35
|
bytesIn: usageRows.reduce((sum, row) => sum + Number(row.bytesIn), 0),
|
|
35
36
|
bytesOut: usageRows.reduce((sum, row) => sum + Number(row.bytesOut), 0),
|
|
36
|
-
|
|
37
|
-
id:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
tunnels: tunnels.map((tunnel) => ({
|
|
38
|
+
id: tunnel.id,
|
|
39
|
+
subdomain: tunnel.subdomain,
|
|
40
|
+
target: `${tunnel.targetHost}:${tunnel.targetPort}`,
|
|
41
|
+
authenticated: tunnel.authenticated,
|
|
42
|
+
expiresAt: tunnel.expiresAt.toISOString(),
|
|
43
|
+
requests: tunnel.usage?.requests ?? 0,
|
|
44
|
+
bytesIn: Number(tunnel.usage?.bytesIn ?? 0n),
|
|
45
|
+
bytesOut: Number(tunnel.usage?.bytesOut ?? 0n)
|
|
41
46
|
}))
|
|
42
47
|
};
|
|
48
|
+
}
|
|
49
|
+
export default createStreamHandler({ item: ItemSchema }, async function* ({ headers }) {
|
|
50
|
+
const live = headers.accept?.includes("text/event-stream") ?? false;
|
|
51
|
+
do {
|
|
52
|
+
yield await loadDashboard();
|
|
53
|
+
if (live)
|
|
54
|
+
await delay(5_000);
|
|
55
|
+
} while (live);
|
|
43
56
|
});
|
|
44
57
|
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/GET.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @jsxImportSource jsx-htmx */
|
|
2
2
|
import type { HtmlRenderable } from "@betterportal/framework";
|
|
3
|
-
import type { ResponseData } from "../GET.js";
|
|
3
|
+
import type { DashboardData, ResponseData } from "../GET.js";
|
|
4
|
+
export declare function renderDashboard(data: DashboardData): HtmlRenderable;
|
|
4
5
|
export declare function render(data: ResponseData): HtmlRenderable;
|
|
5
6
|
//# sourceMappingURL=GET.d.ts.map
|
package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAS7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CA8DnE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAgBzD"}
|
|
@@ -8,15 +8,23 @@ function formatBytes(value) {
|
|
|
8
8
|
return `${(value / 1024 / 1024).toFixed(1)} MB`;
|
|
9
9
|
return `${(value / 1024 / 1024 / 1024).toFixed(1)} GB`;
|
|
10
10
|
}
|
|
11
|
-
export function
|
|
11
|
+
export function renderDashboard(data) {
|
|
12
12
|
const metrics = [
|
|
13
13
|
{ label: "Active tunnels", value: String(data.activeTunnels) },
|
|
14
|
-
{ label: "
|
|
15
|
-
{ label: "
|
|
16
|
-
{ label: "
|
|
17
|
-
{ label: "Requests", value: String(data.requests) },
|
|
18
|
-
{ label: "Transfer", value: `${formatBytes(data.bytesIn)} in / ${formatBytes(data.bytesOut)} out` }
|
|
14
|
+
{ label: "Requests handled", value: String(data.requests) },
|
|
15
|
+
{ label: "Data received", value: formatBytes(data.bytesIn) },
|
|
16
|
+
{ label: "Data sent", value: formatBytes(data.bytesOut) }
|
|
19
17
|
];
|
|
20
|
-
return (_jsxs("section", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-
|
|
18
|
+
return (_jsxs("section", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center mb-3", children: [_jsx("p", { class: "text-body-secondary mb-0", children: "Live tunnel activity and traffic." }), _jsx("a", { class: "btn btn-outline-secondary btn-sm", href: "/tunnels", children: "History" })] }), _jsx("div", { class: "row g-3 mb-4", children: metrics.map((metric) => (_jsx("div", { class: "col-sm-6 col-xl-3", children: _jsxs("div", { class: "border rounded-3 p-3 bg-body h-100", children: [_jsx("div", { class: "small text-body-secondary mb-1", children: metric.label }), _jsx("div", { class: "h4 mb-0", children: metric.value })] }) }))) }), _jsxs("div", { class: "border rounded-3 bg-body", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center px-3 py-2 border-bottom", children: [_jsx("span", { class: "fw-semibold", children: "Active tunnels" }), _jsx("span", { class: "badge text-bg-success", children: "Live" })] }), _jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm table-hover align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Subdomain" }), _jsx("th", { children: "Target" }), _jsx("th", { children: "Mode" }), _jsx("th", { class: "text-end", children: "Requests" }), _jsx("th", { children: "Transfer" }), _jsx("th", { children: "Expires" })] }) }), _jsx("tbody", { children: data.tunnels.length === 0 ? (_jsx("tr", { children: _jsx("td", { colspan: "6", class: "text-center text-body-secondary py-4", children: "No active tunnels." }) })) : data.tunnels.map((tunnel) => (_jsxs("tr", { children: [_jsx("td", { children: _jsx("code", { children: tunnel.subdomain }) }), _jsx("td", { children: tunnel.target }), _jsx("td", { children: tunnel.authenticated ? "authenticated" : "anonymous" }), _jsx("td", { class: "text-end", children: String(tunnel.requests) }), _jsxs("td", { class: "small text-body-secondary", children: [formatBytes(tunnel.bytesIn), " in / ", formatBytes(tunnel.bytesOut), " out"] }), _jsx("td", { class: "small text-body-secondary", children: new Date(tunnel.expiresAt).toLocaleString() })] }))) })] }) })] })] }));
|
|
19
|
+
}
|
|
20
|
+
export function render(data) {
|
|
21
|
+
const dashboard = data.items[0] ?? {
|
|
22
|
+
activeTunnels: 0,
|
|
23
|
+
requests: 0,
|
|
24
|
+
bytesIn: 0,
|
|
25
|
+
bytesOut: 0,
|
|
26
|
+
tunnels: []
|
|
27
|
+
};
|
|
28
|
+
return (_jsx("div", { "hx-swap": "innerHTML", "hx-sse:connect": "/dashboard/__sse?_theme=bootstrap1", children: renderDashboard(dashboard) }));
|
|
21
29
|
}
|
|
22
30
|
//# sourceMappingURL=GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":";AAIA,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAChF,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/GET.tsx"],"names":[],"mappings":"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"}
|
package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** @jsxImportSource jsx-htmx */
|
|
2
|
+
import type { HtmlRenderable, StreamShellContext } from "@betterportal/framework";
|
|
3
|
+
import type { DashboardData } from "../GET.js";
|
|
4
|
+
export declare function renderShell({ sseConnectPath }: StreamShellContext): HtmlRenderable;
|
|
5
|
+
export declare function renderItem(data: DashboardData): HtmlRenderable;
|
|
6
|
+
//# sourceMappingURL=index.stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.stream.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,wBAAgB,WAAW,CAAC,EAAE,cAAc,EAAE,EAAE,kBAAkB,GAAG,cAAc,CAUlF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAE9D"}
|
package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "jsx-htmx/jsx-runtime";
|
|
2
|
+
import { renderDashboard } from "./GET.js";
|
|
3
|
+
export function renderShell({ sseConnectPath }) {
|
|
4
|
+
return (_jsx("div", { class: "container-fluid px-0", "hx-swap": "innerHTML", "hx-sse:connect": sseConnectPath, children: _jsx("div", { class: "text-center text-body-secondary py-5", children: "Loading live tunnel data..." }) }));
|
|
5
|
+
}
|
|
6
|
+
export function renderItem(data) {
|
|
7
|
+
return renderDashboard(data);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.stream.js.map
|
package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.stream.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.stream.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,UAAU,WAAW,CAAC,EAAE,cAAc,EAAsB;IAChE,OAAO,CACL,cACE,KAAK,EAAC,sBAAsB,aACpB,WAAW,EACb,gBAAgB,EAAE,cAAc,YAEtC,cAAK,KAAK,EAAC,sCAAsC,4CAAkC,GAC/E,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC5C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
2
2
|
export declare const viewId = "better-tunnels.dashboard";
|
|
3
|
-
export declare const title = "
|
|
4
|
-
export declare const description = "
|
|
3
|
+
export declare const title = "Tunnels";
|
|
4
|
+
export declare const description = "Live BetterTunnels activity.";
|
|
5
5
|
export declare const auth: ApiAuthRequirement;
|
|
6
6
|
export declare const cacheHints: CacheHints;
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const viewId = "better-tunnels.dashboard";
|
|
2
|
-
export const title = "
|
|
3
|
-
export const description = "
|
|
2
|
+
export const title = "Tunnels";
|
|
3
|
+
export const description = "Live BetterTunnels activity.";
|
|
4
4
|
export const auth = {
|
|
5
5
|
required: true,
|
|
6
6
|
permissions: [
|
|
@@ -8,7 +8,7 @@ export const auth = {
|
|
|
8
8
|
]
|
|
9
9
|
};
|
|
10
10
|
export const cacheHints = {
|
|
11
|
-
ttlSeconds:
|
|
11
|
+
ttlSeconds: 0,
|
|
12
12
|
varyBy: ["accept", "authorization", "x-bp-tenant-id", "x-bp-app-id"]
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-tunnels-admin/bp-routes/dashboard/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE;QACX,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;KAC7E;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAuB9B,eAAO,MAAM,MAAM;;;;;;;;;GAgBlB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDvB,CAAC;AAEH,qBAAa,MAAO,SAAQ,UAAU,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IACtF,MAAM,CAAC,MAAM;;;;;;;;;QAAU;IACvB,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,oBAAoB,CAAW;gBAE3B,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IAQlF,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAuB9B,eAAO,MAAM,MAAM;;;;;;;;;GAgBlB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDvB,CAAC;AAEH,qBAAa,MAAO,SAAQ,UAAU,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IACtF,MAAM,CAAC,MAAM;;;;;;;;;QAAU;IACvB,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,oBAAoB,CAAW;gBAE3B,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,OAAO,YAAY,CAAC;IAQlF,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA+MpC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAehB,kBAAkB;YAuKlB,YAAY;IA0E1B,OAAO,CAAC,iBAAiB;IA0DzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,kBAAkB;CAK3B;AAwCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,CAG/F"}
|
|
@@ -10,7 +10,7 @@ import { buildTunnelSubdomain, hashValue, randomPrefix } from "./ids.js";
|
|
|
10
10
|
import { prisma } from "../../prisma.js";
|
|
11
11
|
import { initializePrisma } from "../../prisma.js";
|
|
12
12
|
import { AUTH_SESSION_TTL_MS, DEVICE_TOKEN_TTL_MS, bearerToken, hashSecret, normalizeIpRange, randomToken, shortBrowserKey, verifySecret } from "../../auth.js";
|
|
13
|
-
import { TunnelRegistry } from "./registry.js";
|
|
13
|
+
import { TunnelRegistry, tunnelStatusAfterDisconnect } from "./registry.js";
|
|
14
14
|
import TunnelWebClient from "../../.bsb/clients/service-tunnels-proxy.js";
|
|
15
15
|
export const Config = createConfigSchema({
|
|
16
16
|
name: "service-tunnels-client",
|
|
@@ -95,6 +95,22 @@ export class Plugin extends BSBService {
|
|
|
95
95
|
async init(obs) {
|
|
96
96
|
await initializePrisma(this.config.database.connectionString, obs);
|
|
97
97
|
this.pluginPackageVersion = await loadPluginPackageVersion(this.packageCwd);
|
|
98
|
+
const now = new Date();
|
|
99
|
+
const [expired, disconnected] = await prisma.$transaction([
|
|
100
|
+
prisma.tunnel.updateMany({
|
|
101
|
+
where: { status: "active", expiresAt: { lte: now } },
|
|
102
|
+
data: { status: "expired" }
|
|
103
|
+
}),
|
|
104
|
+
// ponytail: single client-api replica; add owner heartbeats before horizontal scaling.
|
|
105
|
+
prisma.tunnel.updateMany({
|
|
106
|
+
where: { status: "active" },
|
|
107
|
+
data: { status: "disconnected" }
|
|
108
|
+
})
|
|
109
|
+
]);
|
|
110
|
+
obs.log.info("CLIENT SESSION reconciled expired={expired} disconnected={disconnected}", {
|
|
111
|
+
expired: expired.count,
|
|
112
|
+
disconnected: disconnected.count
|
|
113
|
+
});
|
|
98
114
|
obs.log.info("init {plugin}", { plugin: this.pluginName });
|
|
99
115
|
await this.events.onReturnableEvent("proxy.request", obs, async (_handlerObs, input) => {
|
|
100
116
|
_handlerObs.log.info("CLIENT API proxy.request {method} {hostname}{path}", {
|
|
@@ -281,6 +297,14 @@ export class Plugin extends BSBService {
|
|
|
281
297
|
obs.log.info(`client-api listening on port ${port}`);
|
|
282
298
|
}
|
|
283
299
|
async dispose() {
|
|
300
|
+
for (const tunnel of this.registry.values()) {
|
|
301
|
+
clearTimeout(tunnel.expiryTimer);
|
|
302
|
+
tunnel.ws.close(1001, "server shutting down");
|
|
303
|
+
}
|
|
304
|
+
await prisma.tunnel.updateMany({
|
|
305
|
+
where: { status: "active", ownerServerId: this.appId },
|
|
306
|
+
data: { status: "disconnected" }
|
|
307
|
+
});
|
|
284
308
|
this.wss.close();
|
|
285
309
|
await new Promise((resolve, reject) => {
|
|
286
310
|
this.server.close((error) => error ? reject(error) : resolve());
|
|
@@ -383,6 +407,12 @@ export class Plugin extends BSBService {
|
|
|
383
407
|
expiresAt
|
|
384
408
|
}
|
|
385
409
|
});
|
|
410
|
+
const expiryTimer = setTimeout(() => {
|
|
411
|
+
if (this.registry.get(subdomain)?.ws === ws) {
|
|
412
|
+
ws.close(1008, "tunnel expired");
|
|
413
|
+
}
|
|
414
|
+
}, Math.max(0, expiresAt.getTime() - Date.now()));
|
|
415
|
+
expiryTimer.unref();
|
|
386
416
|
const tunnel = {
|
|
387
417
|
id: tunnelRow.id,
|
|
388
418
|
subdomain,
|
|
@@ -391,6 +421,7 @@ export class Plugin extends BSBService {
|
|
|
391
421
|
authenticated,
|
|
392
422
|
expiresAt,
|
|
393
423
|
ws,
|
|
424
|
+
expiryTimer,
|
|
394
425
|
pending: new Map(),
|
|
395
426
|
sessionObs
|
|
396
427
|
};
|
|
@@ -409,6 +440,7 @@ export class Plugin extends BSBService {
|
|
|
409
440
|
}));
|
|
410
441
|
ws.on("message", (raw) => this.handleClientFrame(tunnel, raw.toString()));
|
|
411
442
|
ws.on("close", (code, reason) => {
|
|
443
|
+
clearTimeout(tunnel.expiryTimer);
|
|
412
444
|
sessionObs.log.warn("CLIENT TUNNEL disconnected {subdomain}", { subdomain });
|
|
413
445
|
for (const [requestId, pending] of tunnel.pending.entries()) {
|
|
414
446
|
this.failPending(tunnel, requestId, pending, new Error("Tunnel client disconnected."));
|
|
@@ -416,7 +448,10 @@ export class Plugin extends BSBService {
|
|
|
416
448
|
// A reconnect may already own this subdomain; only tear down if this socket is still the registered one.
|
|
417
449
|
if (this.registry.get(subdomain)?.ws === ws) {
|
|
418
450
|
this.registry.delete(subdomain);
|
|
419
|
-
void prisma.tunnel.update({
|
|
451
|
+
void prisma.tunnel.update({
|
|
452
|
+
where: { id: tunnel.id },
|
|
453
|
+
data: { status: tunnelStatusAfterDisconnect(tunnel.expiresAt) }
|
|
454
|
+
}).catch(() => undefined);
|
|
420
455
|
}
|
|
421
456
|
sessionObs.end({ "bt.client.disconnect": true });
|
|
422
457
|
sessionObs.log.warn("CLIENT TUNNEL socket closed {subdomain} code={code} reason={reason}", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface ActiveTunnel {
|
|
|
8
8
|
authenticated: boolean;
|
|
9
9
|
expiresAt: Date;
|
|
10
10
|
ws: WebSocket;
|
|
11
|
+
expiryTimer: NodeJS.Timeout;
|
|
11
12
|
pending: Map<string, PendingRequest>;
|
|
12
13
|
sessionObs: Observable;
|
|
13
14
|
}
|
|
@@ -32,5 +33,7 @@ export declare class TunnelRegistry {
|
|
|
32
33
|
set(tunnel: ActiveTunnel): void;
|
|
33
34
|
get(hostname: string): ActiveTunnel | undefined;
|
|
34
35
|
delete(subdomain: string): void;
|
|
36
|
+
values(): IterableIterator<ActiveTunnel>;
|
|
35
37
|
}
|
|
38
|
+
export declare function tunnelStatusAfterDisconnect(expiresAt: Date, now?: Date): "expired" | "disconnected";
|
|
36
39
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI/B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAK/C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI/B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAK/C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC;CAGzC;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,OAAa,GAAG,SAAS,GAAG,cAAc,CAEzG"}
|
|
@@ -10,5 +10,11 @@ export class TunnelRegistry {
|
|
|
10
10
|
delete(subdomain) {
|
|
11
11
|
this.tunnels.delete(subdomain);
|
|
12
12
|
}
|
|
13
|
+
values() {
|
|
14
|
+
return this.tunnels.values();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function tunnelStatusAfterDisconnect(expiresAt, now = new Date()) {
|
|
18
|
+
return expiresAt <= now ? "expired" : "disconnected";
|
|
13
19
|
}
|
|
14
20
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/plugins/service-tunnels-client/registry.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,cAAc;IACR,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE3D,GAAG,CAAC,MAAoB;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CAAC,SAAe,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3E,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;AACvD,CAAC"}
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
},
|
|
235
|
-
"version": "1.0.
|
|
235
|
+
"version": "1.0.26",
|
|
236
236
|
"configSchema": {
|
|
237
237
|
"anyvaliVersion": "1.0",
|
|
238
238
|
"schemaVersion": "1.1",
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
"dependencies": [
|
|
315
315
|
{
|
|
316
316
|
"id": "betterportal/service-tunnels-proxy.js",
|
|
317
|
-
"version": "1.0.
|
|
317
|
+
"version": "1.0.26"
|
|
318
318
|
}
|
|
319
319
|
]
|
|
320
320
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "service-tunnels-client",
|
|
3
3
|
"name": "service-tunnels-client",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.26",
|
|
5
5
|
"description": "Client websocket/API service",
|
|
6
6
|
"category": "service",
|
|
7
7
|
"tags": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": [
|
|
14
14
|
{
|
|
15
15
|
"id": "betterportal/service-tunnels-proxy.js",
|
|
16
|
-
"version": "1.0.
|
|
16
|
+
"version": "1.0.26"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"license": "(AGPL-3.0-only OR Commercial)",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"outputSchema": null
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
|
-
"version": "1.0.
|
|
49
|
+
"version": "1.0.26",
|
|
50
50
|
"configSchema": {
|
|
51
51
|
"anyvaliVersion": "1.0",
|
|
52
52
|
"schemaVersion": "1.1",
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
"dependencies": [
|
|
155
155
|
{
|
|
156
156
|
"id": "betterportal/service-tunnels-client.js",
|
|
157
|
-
"version": "1.0.
|
|
157
|
+
"version": "1.0.26"
|
|
158
158
|
}
|
|
159
159
|
]
|
|
160
160
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "service-tunnels-proxy",
|
|
3
3
|
"name": "service-tunnels-proxy",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.26",
|
|
5
5
|
"description": "Front-facing H3 tunnel service",
|
|
6
6
|
"category": "service",
|
|
7
7
|
"tags": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": [
|
|
14
14
|
{
|
|
15
15
|
"id": "betterportal/service-tunnels-client.js",
|
|
16
|
-
"version": "1.0.
|
|
16
|
+
"version": "1.0.26"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"license": "(AGPL-3.0-only OR Commercial)",
|