@explita/tunnel-server-plugin 0.0.0-stage → 0.1.0
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/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/README.md +63 -2
- package/bin/cli.js +100 -0
- package/dist/generated/prisma/browser.d.ts +25 -0
- package/dist/generated/prisma/browser.d.ts.map +1 -0
- package/dist/generated/prisma/browser.js +18 -0
- package/dist/generated/prisma/browser.js.map +1 -0
- package/dist/generated/prisma/client.d.ts +44 -0
- package/dist/generated/prisma/client.d.ts.map +1 -0
- package/dist/generated/prisma/client.js +35 -0
- package/dist/generated/prisma/client.js.map +1 -0
- package/dist/generated/prisma/commonInputTypes.d.ts +278 -0
- package/dist/generated/prisma/commonInputTypes.d.ts.map +1 -0
- package/dist/generated/prisma/commonInputTypes.js +11 -0
- package/dist/generated/prisma/commonInputTypes.js.map +1 -0
- package/dist/generated/prisma/enums.d.ts +2 -0
- package/dist/generated/prisma/enums.d.ts.map +1 -0
- package/dist/generated/prisma/enums.js +11 -0
- package/dist/generated/prisma/enums.js.map +1 -0
- package/dist/generated/prisma/internal/class.d.ts +166 -0
- package/dist/generated/prisma/internal/class.d.ts.map +1 -0
- package/dist/generated/prisma/internal/class.js +50 -0
- package/dist/generated/prisma/internal/class.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +867 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.js +128 -0
- package/dist/generated/prisma/internal/prismaNamespace.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +92 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +99 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -0
- package/dist/generated/prisma/models/DailyMetric.d.ts +1152 -0
- package/dist/generated/prisma/models/DailyMetric.d.ts.map +1 -0
- package/dist/generated/prisma/models/DailyMetric.js +2 -0
- package/dist/generated/prisma/models/DailyMetric.js.map +1 -0
- package/dist/generated/prisma/models/Developer.d.ts +1134 -0
- package/dist/generated/prisma/models/Developer.d.ts.map +1 -0
- package/dist/generated/prisma/models/Developer.js +2 -0
- package/dist/generated/prisma/models/Developer.js.map +1 -0
- package/dist/generated/prisma/models/SystemMetric.d.ts +1048 -0
- package/dist/generated/prisma/models/SystemMetric.d.ts.map +1 -0
- package/dist/generated/prisma/models/SystemMetric.js +2 -0
- package/dist/generated/prisma/models/SystemMetric.js.map +1 -0
- package/dist/generated/prisma/models/Token.d.ts +1214 -0
- package/dist/generated/prisma/models/Token.d.ts.map +1 -0
- package/dist/generated/prisma/models/Token.js +2 -0
- package/dist/generated/prisma/models/Token.js.map +1 -0
- package/dist/generated/prisma/models.d.ts +6 -0
- package/dist/generated/prisma/models.d.ts.map +1 -0
- package/dist/generated/prisma/models.js +2 -0
- package/dist/generated/prisma/models.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/issue.d.ts +3 -0
- package/dist/issue.d.ts.map +1 -0
- package/dist/issue.js +102 -0
- package/dist/issue.js.map +1 -0
- package/dist/lib/cache.d.ts +2 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +6 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/mailer.d.ts +28 -0
- package/dist/lib/mailer.d.ts.map +1 -0
- package/dist/lib/mailer.js +116 -0
- package/dist/lib/mailer.js.map +1 -0
- package/dist/lib/metrics.d.ts +27 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +93 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/prisma.d.ts +3 -0
- package/dist/lib/prisma.d.ts.map +1 -0
- package/dist/lib/prisma.js +20 -0
- package/dist/lib/prisma.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +5 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/request.d.ts +4 -0
- package/dist/request.d.ts.map +1 -0
- package/dist/request.js +29 -0
- package/dist/request.js.map +1 -0
- package/dist/validate.d.ts +2 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +48 -0
- package/dist/validate.js.map +1 -0
- package/dist/verify.d.ts +3 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +53 -0
- package/dist/verify.js.map +1 -0
- package/package.json +52 -4
- package/prisma/schema.prisma +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../../../src/generated/prisma/models/Token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../../src/generated/prisma/models/Token.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/generated/prisma/models.ts"],"names":[],"mappings":"AAUA,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,yBAAyB,CAAA;AAC5C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/generated/prisma/models.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { requestOtp } from "./request.js";
|
|
2
|
+
import { verifyOtp } from "./verify.js";
|
|
3
|
+
import { issueInstantToken } from "./issue.js";
|
|
4
|
+
import { validateToken } from "./validate.js";
|
|
5
|
+
import { sendOTP, getOtpHtml, type SendOtpOptions, type SmtpOptions } from "./lib/mailer.js";
|
|
6
|
+
import { flushMetrics, getStatsSummary, type MetricsFlushDeltas, type StatsSummary } from "./lib/metrics.js";
|
|
7
|
+
export type TunnelPluginOptions = SendOtpOptions & {
|
|
8
|
+
internalSecret?: string;
|
|
9
|
+
metricsCollector?: {
|
|
10
|
+
setPersister?: (persister: {
|
|
11
|
+
flush: (deltas: MetricsFlushDeltas) => Promise<void>;
|
|
12
|
+
getStats: (activeCount: number, deltas?: MetricsFlushDeltas) => Promise<StatsSummary>;
|
|
13
|
+
}) => void;
|
|
14
|
+
getActiveTunnelsCount?: () => number;
|
|
15
|
+
getSnapshot?: () => MetricsFlushDeltas;
|
|
16
|
+
getStats?: (activeCount: number) => Promise<StatsSummary> | StatsSummary;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export declare function registerTunnelPlugin(app: any, options?: TunnelPluginOptions): void;
|
|
20
|
+
export { sendOTP, getOtpHtml, requestOtp, verifyOtp, issueInstantToken, validateToken, flushMetrics, getStatsSummary, type SendOtpOptions, type SmtpOptions, type MetricsFlushDeltas, type StatsSummary, };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE;QACjB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE;YACzB,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,QAAQ,EAAE,CACR,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,kBAAkB,KACxB,OAAO,CAAC,YAAY,CAAC,CAAC;SAC5B,KAAK,IAAI,CAAC;QACX,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,kBAAkB,CAAC;QACvC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;KAC1E,CAAC;CACH,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,QAgD3E;AAED,OAAO,EACL,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { requestOtp } from "./request.js";
|
|
2
|
+
import { verifyOtp } from "./verify.js";
|
|
3
|
+
import { issueInstantToken } from "./issue.js";
|
|
4
|
+
import { validateToken } from "./validate.js";
|
|
5
|
+
import { sendOTP, getOtpHtml, } from "./lib/mailer.js";
|
|
6
|
+
import { flushMetrics, getStatsSummary, } from "./lib/metrics.js";
|
|
7
|
+
export function registerTunnelPlugin(app, options) {
|
|
8
|
+
if (process.env.DATABASE_URL) {
|
|
9
|
+
// 1. Auth & Token endpoints
|
|
10
|
+
app.register(async (instance) => {
|
|
11
|
+
instance.post("/request-otp", async (req, reply) => {
|
|
12
|
+
return requestOtp(req, reply, options);
|
|
13
|
+
});
|
|
14
|
+
instance.post("/verify-otp", async (req, reply) => {
|
|
15
|
+
return verifyOtp(req, reply);
|
|
16
|
+
});
|
|
17
|
+
instance.post("/issue", async (req, reply) => {
|
|
18
|
+
return issueInstantToken(req, reply);
|
|
19
|
+
});
|
|
20
|
+
}, { prefix: "/_api/token" });
|
|
21
|
+
// 2. Hook metrics persistence into collector if provided
|
|
22
|
+
if (options?.metricsCollector?.setPersister) {
|
|
23
|
+
options.metricsCollector.setPersister({
|
|
24
|
+
flush: flushMetrics,
|
|
25
|
+
getStats: getStatsSummary,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// 3. Stats endpoint
|
|
30
|
+
app.get("/_api/stats", {
|
|
31
|
+
onRequest: async (req, reply) => {
|
|
32
|
+
const secret = req.headers["x-internal-secret"];
|
|
33
|
+
const expected = options?.internalSecret || process.env.INTERNAL_SECRET;
|
|
34
|
+
if (expected && secret !== expected) {
|
|
35
|
+
return reply.code(401).send({ error: "Unauthorized" });
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
}, async () => {
|
|
39
|
+
const activeCount = options?.metricsCollector?.getActiveTunnelsCount?.() ?? 0;
|
|
40
|
+
const snapshot = options?.metricsCollector?.getSnapshot?.();
|
|
41
|
+
return getStatsSummary(activeCount, snapshot);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export { sendOTP, getOtpHtml, requestOtp, verifyOtp, issueInstantToken, validateToken, flushMetrics, getStatsSummary, };
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,OAAO,EACP,UAAU,GAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,eAAe,GAGhB,MAAM,kBAAkB,CAAC;AAkB1B,MAAM,UAAU,oBAAoB,CAAC,GAAQ,EAAE,OAA6B;IAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,4BAA4B;QAC5B,GAAG,CAAC,QAAQ,CACV,KAAK,EAAE,QAAa,EAAE,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAQ,EAAE,KAAU,EAAE,EAAE;gBAC3D,OAAO,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAQ,EAAE,KAAU,EAAE,EAAE;gBAC1D,OAAO,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAQ,EAAE,KAAU,EAAE,EAAE;gBACrD,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAC;QAEF,yDAAyD;QACzD,IAAI,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;YAC5C,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBACpC,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,GAAG,CAAC,GAAG,CACL,aAAa,EACb;QACE,SAAS,EAAE,KAAK,EAAE,GAAQ,EAAE,KAAU,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACxE,IAAI,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KACF,EACD,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,GACf,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,CAAC;QAC5D,OAAO,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,OAAO,EACL,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,GAKhB,CAAC"}
|
package/dist/issue.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../src/issue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,kBAgHpB"}
|
package/dist/issue.js
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { parseRequestBody } from "@explita/infra-protocol";
|
|
2
|
+
import { cache } from "./lib/cache.js";
|
|
3
|
+
import { getPrisma } from "./lib/prisma.js";
|
|
4
|
+
import { generateToken } from "./lib/utils.js";
|
|
5
|
+
export async function issueInstantToken(request, reply) {
|
|
6
|
+
const parsed = parseRequestBody(request.body);
|
|
7
|
+
const rawIp = parsed.ip ||
|
|
8
|
+
request.headers["x-forwarded-for"]?.split(",")[0]?.trim() ||
|
|
9
|
+
request.headers["x-real-ip"]?.trim() ||
|
|
10
|
+
request.headers["cf-connecting-ip"]?.trim() ||
|
|
11
|
+
request.ip ||
|
|
12
|
+
"127.0.0.1";
|
|
13
|
+
// Sanitize IP
|
|
14
|
+
const clientIp = rawIp.replace(/^::ffff:/, "").trim();
|
|
15
|
+
// Extract optional machine ID or hostname
|
|
16
|
+
const machineId = parsed.machineId?.trim();
|
|
17
|
+
const identifier = machineId
|
|
18
|
+
? `m_${machineId.replace(/[^a-zA-Z0-9_-]/g, "").slice(0, 36)}`
|
|
19
|
+
: `ip_${clientIp.replace(/[^a-zA-Z0-9_.-]/g, "_")}`;
|
|
20
|
+
const syntheticEmail = `${identifier}@device.explita.local`;
|
|
21
|
+
// Rate limit: max 30 instant issuances per hour per IP to prevent spamming
|
|
22
|
+
const rateKey = `rate:token:issue:${clientIp}`;
|
|
23
|
+
try {
|
|
24
|
+
const attempts = await cache.get(rateKey);
|
|
25
|
+
if (attempts && attempts >= 30) {
|
|
26
|
+
return reply.code(429).send({
|
|
27
|
+
success: false,
|
|
28
|
+
error: "Too many token requests from this IP. Please try again later.",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
await cache
|
|
32
|
+
.set(rateKey, (attempts || 0) + 1, { ttl: "1h" })
|
|
33
|
+
.catch(() => { });
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Non-blocking if cache is temporarily unavailable
|
|
37
|
+
}
|
|
38
|
+
const prisma = getPrisma();
|
|
39
|
+
if (prisma) {
|
|
40
|
+
try {
|
|
41
|
+
// 1. If this machine/IP already has an active unrevoked token, return it
|
|
42
|
+
const existing = await prisma.developer.findUnique({
|
|
43
|
+
where: { email: syntheticEmail },
|
|
44
|
+
include: {
|
|
45
|
+
tokens: {
|
|
46
|
+
where: { revokedAt: null },
|
|
47
|
+
orderBy: { createdAt: "desc" },
|
|
48
|
+
take: 1,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
if (existing && existing.tokens.length > 0) {
|
|
53
|
+
const existingToken = existing.tokens[0].token;
|
|
54
|
+
await cache
|
|
55
|
+
.set(`token:verified:${existingToken}`, existingToken, { ttl: "30d" })
|
|
56
|
+
.catch(() => { });
|
|
57
|
+
return reply.code(200).send({
|
|
58
|
+
success: true,
|
|
59
|
+
token: existingToken,
|
|
60
|
+
message: "Existing active tunnel token retrieved",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
// 2. Issue a new token for this server / device
|
|
64
|
+
const token = generateToken();
|
|
65
|
+
await prisma.$transaction(async (trx) => {
|
|
66
|
+
const developer = await trx.developer.upsert({
|
|
67
|
+
where: { email: syntheticEmail },
|
|
68
|
+
create: { email: syntheticEmail },
|
|
69
|
+
update: {},
|
|
70
|
+
});
|
|
71
|
+
await trx.token.create({
|
|
72
|
+
data: {
|
|
73
|
+
token,
|
|
74
|
+
developerId: developer.id,
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
await cache
|
|
79
|
+
.set(`token:verified:${token}`, token, { ttl: "30d" })
|
|
80
|
+
.catch(() => { });
|
|
81
|
+
return reply.code(200).send({
|
|
82
|
+
success: true,
|
|
83
|
+
token,
|
|
84
|
+
message: "Tunnel token issued successfully",
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error("[tunnel-auth] Error issuing instant token via DB:", error);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// 3. Fallback: issue cached ephemeral token if DB is unavailable
|
|
92
|
+
const fallbackToken = generateToken();
|
|
93
|
+
await cache
|
|
94
|
+
.set(`token:verified:${fallbackToken}`, fallbackToken, { ttl: "7d" })
|
|
95
|
+
.catch(() => { });
|
|
96
|
+
return reply.code(200).send({
|
|
97
|
+
success: true,
|
|
98
|
+
token: fallbackToken,
|
|
99
|
+
message: "Tunnel token issued successfully",
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../src/issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,wCAA0D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;IACxB,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Transporter } from "nodemailer";
|
|
2
|
+
export type SmtpHostOptions = {
|
|
3
|
+
host: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
secure?: boolean;
|
|
6
|
+
auth?: {
|
|
7
|
+
user: string;
|
|
8
|
+
pass: string;
|
|
9
|
+
};
|
|
10
|
+
url?: never;
|
|
11
|
+
from: string;
|
|
12
|
+
};
|
|
13
|
+
export type SmtpUrlOptions = {
|
|
14
|
+
url: string;
|
|
15
|
+
host?: never;
|
|
16
|
+
port?: never;
|
|
17
|
+
secure?: never;
|
|
18
|
+
auth?: never;
|
|
19
|
+
from: string;
|
|
20
|
+
};
|
|
21
|
+
export type SmtpOptions = SmtpHostOptions | SmtpUrlOptions;
|
|
22
|
+
export type SendOtpOptions = {
|
|
23
|
+
smtp?: SmtpOptions;
|
|
24
|
+
};
|
|
25
|
+
export declare function getTransporter(options?: SmtpOptions): Transporter | null;
|
|
26
|
+
export declare function sendOTP(email: string, otp: string, options?: SendOtpOptions): Promise<boolean>;
|
|
27
|
+
export declare function getOtpHtml(otp: string): string;
|
|
28
|
+
//# sourceMappingURL=mailer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailer.d.ts","sourceRoot":"","sources":["../../src/lib/mailer.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAG1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAIF,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CA2BxE;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAuClB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsD9C"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import nodemailer from "nodemailer";
|
|
2
|
+
import { PRODUCT_NAME } from "@explita/infra-protocol";
|
|
3
|
+
let transportInstance = null;
|
|
4
|
+
export function getTransporter(options) {
|
|
5
|
+
if (transportInstance)
|
|
6
|
+
return transportInstance;
|
|
7
|
+
if (options) {
|
|
8
|
+
if ("url" in options && options.url) {
|
|
9
|
+
transportInstance = nodemailer.createTransport(options.url);
|
|
10
|
+
return transportInstance;
|
|
11
|
+
}
|
|
12
|
+
if ("host" in options && options.host) {
|
|
13
|
+
const port = Number(options.port || 587);
|
|
14
|
+
const secure = options.secure ?? port === 465;
|
|
15
|
+
transportInstance = nodemailer.createTransport({
|
|
16
|
+
host: options.host,
|
|
17
|
+
port,
|
|
18
|
+
secure,
|
|
19
|
+
auth: options.auth
|
|
20
|
+
? {
|
|
21
|
+
user: options.auth.user,
|
|
22
|
+
pass: options.auth.pass,
|
|
23
|
+
}
|
|
24
|
+
: undefined,
|
|
25
|
+
});
|
|
26
|
+
return transportInstance;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
export async function sendOTP(email, otp, options) {
|
|
32
|
+
const from = options?.smtp?.from;
|
|
33
|
+
const transporter = getTransporter(options?.smtp);
|
|
34
|
+
if (!transporter) {
|
|
35
|
+
// If running without an explicit SMTP configuration, log to console for instant DX
|
|
36
|
+
if (process.env.NODE_ENV !== "production") {
|
|
37
|
+
console.log(`\n======================================================`);
|
|
38
|
+
console.log(`[tunnel-auth] 🔑 DEV OTP CODE FOR ${email}: ${otp}`);
|
|
39
|
+
console.log(`[tunnel-auth] (Pass 'smtp' options to registerTunnelPlugin for email delivery)`);
|
|
40
|
+
console.log(`======================================================\n`);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
console.error("[tunnel-auth] No SMTP options provided to registerTunnelPlugin.");
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
await transporter.sendMail({
|
|
48
|
+
from,
|
|
49
|
+
to: email,
|
|
50
|
+
subject: `${otp} is your ${PRODUCT_NAME.tunnel} verification code`,
|
|
51
|
+
text: `Your ${PRODUCT_NAME.tunnel} verification code is: ${otp}\n\nThis code is valid for 10 minutes.\nEnter it in your terminal to complete verification.`,
|
|
52
|
+
html: getOtpHtml(otp),
|
|
53
|
+
});
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.error("[tunnel-auth] Failed to send OTP email via nodemailer:", err);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function getOtpHtml(otp) {
|
|
62
|
+
return `<!DOCTYPE html>
|
|
63
|
+
<html lang="en">
|
|
64
|
+
<head>
|
|
65
|
+
<meta charset="utf-8">
|
|
66
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
67
|
+
<title>${PRODUCT_NAME.tunnel} Verification Code</title>
|
|
68
|
+
</head>
|
|
69
|
+
<body style="margin: 0; padding: 0; background-color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #f4f4f5;">
|
|
70
|
+
<table role="presentation" width="100%" cellspacing="0" cellpadding="0" style="background-color: #0c0d0e; padding: 40px 16px;">
|
|
71
|
+
<tr>
|
|
72
|
+
<td align="center">
|
|
73
|
+
<table role="presentation" width="100%" style="max-width: 480px; background-color: #18181b; border: 1px solid #27272a; border-radius: 12px; padding: 36px 32px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);">
|
|
74
|
+
<!-- Header -->
|
|
75
|
+
<tr>
|
|
76
|
+
<td style="padding-bottom: 24px;">
|
|
77
|
+
<span style="font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; color: #06b6d4;">${PRODUCT_NAME.tunnel}</span>
|
|
78
|
+
<h1 style="margin: 8px 0 0; font-size: 22px; font-weight: 700; color: #ffffff;">Your Verification Code</h1>
|
|
79
|
+
</td>
|
|
80
|
+
</tr>
|
|
81
|
+
<!-- Body Text -->
|
|
82
|
+
<tr>
|
|
83
|
+
<td style="font-size: 14px; line-height: 22px; color: #a1a1aa; padding-bottom: 24px;">
|
|
84
|
+
Enter this 6-digit code in your terminal to authenticate your <code style="background-color: #27272a; color: #e4e4e7; padding: 2px 6px; border-radius: 4px; font-family: monospace;">eta</code> CLI session:
|
|
85
|
+
</td>
|
|
86
|
+
</tr>
|
|
87
|
+
<!-- OTP Code Box -->
|
|
88
|
+
<tr>
|
|
89
|
+
<td align="center" style="padding-bottom: 24px;">
|
|
90
|
+
<div style="background-color: #09090b; border: 1px solid #3f3f46; border-radius: 8px; padding: 18px 24px; display: inline-block;">
|
|
91
|
+
<span style="font-family: 'SF Mono', Monaco, Consolas, 'Liberation Mono', monospace; font-size: 32px; font-weight: 700; letter-spacing: 8px; color: #38bdf8;">${otp}</span>
|
|
92
|
+
</div>
|
|
93
|
+
</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<!-- Expiration Notice -->
|
|
96
|
+
<tr>
|
|
97
|
+
<td style="font-size: 13px; line-height: 20px; color: #71717a; border-top: 1px solid #27272a; padding-top: 20px;">
|
|
98
|
+
⏱ This code is valid for <strong>10 minutes</strong>. If you did not request this verification, you can safely ignore this email.
|
|
99
|
+
</td>
|
|
100
|
+
</tr>
|
|
101
|
+
</table>
|
|
102
|
+
<!-- Footer -->
|
|
103
|
+
<table role="presentation" width="100%" style="max-width: 480px; padding-top: 20px;">
|
|
104
|
+
<tr>
|
|
105
|
+
<td align="center" style="font-size: 12px; color: #52525b;">
|
|
106
|
+
© ${new Date().getFullYear()} Explita. Encrypted reverse tunnels for developers.
|
|
107
|
+
</td>
|
|
108
|
+
</tr>
|
|
109
|
+
</table>
|
|
110
|
+
</td>
|
|
111
|
+
</tr>
|
|
112
|
+
</table>
|
|
113
|
+
</body>
|
|
114
|
+
</html>`;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=mailer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../src/lib/mailer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type MetricsFlushDeltas = {
|
|
2
|
+
tunnels: number;
|
|
3
|
+
requests: number;
|
|
4
|
+
bytes: bigint;
|
|
5
|
+
todayDevTokens?: Set<string>;
|
|
6
|
+
};
|
|
7
|
+
export type StatsSummary = {
|
|
8
|
+
success: boolean;
|
|
9
|
+
data: {
|
|
10
|
+
active_tunnels: number;
|
|
11
|
+
today: {
|
|
12
|
+
date: string;
|
|
13
|
+
tunnels_opened: number;
|
|
14
|
+
requests_routed: number;
|
|
15
|
+
bytes_transferred: number;
|
|
16
|
+
active_developers: number;
|
|
17
|
+
};
|
|
18
|
+
all_time: {
|
|
19
|
+
total_tunnels: number;
|
|
20
|
+
total_requests: number;
|
|
21
|
+
total_bytes: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function flushMetrics(deltas: MetricsFlushDeltas): Promise<void>;
|
|
26
|
+
export declare function getStatsSummary(activeTunnelsCount: number, currentDeltas?: MetricsFlushDeltas): Promise<StatsSummary>;
|
|
27
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC;YACxB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,iBAAiB,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C5E;AAED,wBAAsB,eAAe,CACnC,kBAAkB,EAAE,MAAM,EAC1B,aAAa,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,YAAY,CAAC,CAkEvB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { getPrisma } from "./prisma.js";
|
|
2
|
+
export async function flushMetrics(deltas) {
|
|
3
|
+
const prisma = getPrisma();
|
|
4
|
+
if (!prisma)
|
|
5
|
+
return;
|
|
6
|
+
const today = new Date().toISOString().split("T")[0];
|
|
7
|
+
const devCount = deltas.todayDevTokens ? deltas.todayDevTokens.size : 0;
|
|
8
|
+
try {
|
|
9
|
+
await prisma.$transaction([
|
|
10
|
+
prisma.dailyMetric.upsert({
|
|
11
|
+
where: { date: today },
|
|
12
|
+
create: {
|
|
13
|
+
date: today,
|
|
14
|
+
tunnelsOpened: deltas.tunnels,
|
|
15
|
+
requestsRouted: BigInt(deltas.requests),
|
|
16
|
+
bytesTransferred: deltas.bytes,
|
|
17
|
+
activeDevelopers: devCount,
|
|
18
|
+
},
|
|
19
|
+
update: {
|
|
20
|
+
tunnelsOpened: { increment: deltas.tunnels },
|
|
21
|
+
requestsRouted: { increment: BigInt(deltas.requests) },
|
|
22
|
+
bytesTransferred: { increment: deltas.bytes },
|
|
23
|
+
activeDevelopers: devCount,
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
prisma.systemMetric.upsert({
|
|
27
|
+
where: { id: "global" },
|
|
28
|
+
create: {
|
|
29
|
+
id: "global",
|
|
30
|
+
totalTunnels: BigInt(deltas.tunnels),
|
|
31
|
+
totalRequests: BigInt(deltas.requests),
|
|
32
|
+
totalBytes: deltas.bytes,
|
|
33
|
+
},
|
|
34
|
+
update: {
|
|
35
|
+
totalTunnels: { increment: BigInt(deltas.tunnels) },
|
|
36
|
+
totalRequests: { increment: BigInt(deltas.requests) },
|
|
37
|
+
totalBytes: { increment: deltas.bytes },
|
|
38
|
+
},
|
|
39
|
+
}),
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
console.error("[tunnel-plugin] Failed to flush metrics to database:", err);
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export async function getStatsSummary(activeTunnelsCount, currentDeltas) {
|
|
48
|
+
const prisma = getPrisma();
|
|
49
|
+
const today = new Date().toISOString().split("T")[0];
|
|
50
|
+
let dbDaily = null;
|
|
51
|
+
let dbSystem = null;
|
|
52
|
+
if (prisma) {
|
|
53
|
+
try {
|
|
54
|
+
[dbDaily, dbSystem] = await Promise.all([
|
|
55
|
+
prisma.dailyMetric.findUnique({ where: { date: today } }),
|
|
56
|
+
prisma.systemMetric.findUnique({ where: { id: "global" } }),
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error("[tunnel-plugin] Error fetching stats from database:", err);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const deltaTunnels = currentDeltas?.tunnels ?? 0;
|
|
64
|
+
const deltaRequests = currentDeltas?.requests ?? 0;
|
|
65
|
+
const deltaBytes = currentDeltas?.bytes ?? 0n;
|
|
66
|
+
const devCount = currentDeltas?.todayDevTokens?.size ?? 0;
|
|
67
|
+
const todayTunnels = (dbDaily?.tunnelsOpened ?? 0) + deltaTunnels;
|
|
68
|
+
const todayRequests = Number((dbDaily?.requestsRouted ?? 0n) + BigInt(deltaRequests));
|
|
69
|
+
const todayBytes = Number((dbDaily?.bytesTransferred ?? 0n) + deltaBytes);
|
|
70
|
+
const todayDevs = Math.max(dbDaily?.activeDevelopers ?? 0, devCount);
|
|
71
|
+
const allTimeTunnels = Number((dbSystem?.totalTunnels ?? 0n) + BigInt(deltaTunnels));
|
|
72
|
+
const allTimeRequests = Number((dbSystem?.totalRequests ?? 0n) + BigInt(deltaRequests));
|
|
73
|
+
const allTimeBytes = Number((dbSystem?.totalBytes ?? 0n) + deltaBytes);
|
|
74
|
+
return {
|
|
75
|
+
success: true,
|
|
76
|
+
data: {
|
|
77
|
+
active_tunnels: activeTunnelsCount,
|
|
78
|
+
today: {
|
|
79
|
+
date: today,
|
|
80
|
+
tunnels_opened: todayTunnels,
|
|
81
|
+
requests_routed: todayRequests,
|
|
82
|
+
bytes_transferred: todayBytes,
|
|
83
|
+
active_developers: todayDevs,
|
|
84
|
+
},
|
|
85
|
+
all_time: {
|
|
86
|
+
total_tunnels: allTimeTunnels,
|
|
87
|
+
total_requests: allTimeRequests,
|
|
88
|
+
total_bytes: allTimeBytes,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/lib/prisma.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAiB/C"}
|