File size: 3,590 Bytes
2b08713 0deb3e9 6f9647d 5d44c89 b6e79c3 63aa82b 8673beb 8a218b0 541b32b 63aa82b 2b08713 b6e79c3 2b08713 63aa82b 2b08713 b6e79c3 2b08713 b6e79c3 2b08713 0deb3e9 2b08713 0deb3e9 2b08713 0deb3e9 2b08713 0f454b6 2b08713 173df80 2b08713 6f9647d 5d44c89 0f454b6 63aa82b 0deb3e9 63aa82b 0f454b6 b6e79c3 0f454b6 2b08713 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | import { Elysia, Context, t } from "elysia";
import { logger } from "@chneau/elysia-logger";
import { cors } from "@elysiajs/cors";
import { NS_Misc } from "../../../../packages/lib/helpers/client/misc";
import { NS_error } from "../../../../packages/lib/helpers/client/error";
import { NS_routes_elysia } from "../../../../packages/lib/helpers/server/routes-elysia";
import { FfmpegV2Router } from "./sub-router/ffmpeg/v2";
import { ShowtimeV2Router } from "./sub-router/showtime/v2";
import { TestRouter } from "./sub-router/test";
import { NS_runtime } from "../../../../packages/lib/env.runtime";
import { NS_workers_proxy } from "../../../../packages/lib/proxy-server/workers-proxy";
import { start_mongo_db } from "../../../../packages/db/mongo-db/init";
await NS_runtime.set_env_var_db();
await start_mongo_db();
const { rewriteWorkersUrl, startWorkersProxy, rewriteWorkersUrl_t2, get_dns } =
NS_workers_proxy;
const APP_ENV = process.env.APP_ENV;
const APP_ORIGIN = process.env.APP_ORIGIN;
const PORT = process.env.PORT;
await startWorkersProxy();
const app = new Elysia()
.use(
cors({
origin: "*",
allowedHeaders: "*",
methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"],
exposeHeaders: "*"
}) as any
)
.derive((ctx: any) => ({
publicOrigin: NS_routes_elysia.F_public_origin(ctx)
}))
.use(logger())
.onError(async ({ code, error }) => {
let e_message = "";
if (code === "VALIDATION") {
e_message = error.message;
try {
e_message = JSON.parse(e_message).summary;
} catch (err) {}
}
const err_d = NS_error.F_collect_error_status_n_message({
ERR: error
});
NS_Misc.console.error({ ENV: "dev", _browser: false, _log: ["\n"] });
NS_Misc.console.error({
ENV: "dev",
_browser: false,
_log: [{ code, e_message, ...err_d }, "\n"]
});
return new Response(err_d.message, {
status: err_d.status,
headers: {
"x-error-message": JSON.stringify(err_d.message),
"x-error-status": err_d.status
}
});
})
.use(ShowtimeV2Router)
.use(FfmpegV2Router)
.use(TestRouter)
.get("/", async ({ request }) => {
return "🦊 Hello Rafiki 🍿";
})
.get("/test/p", async ({ request }) => {
const originalUrl =
"https://cool.tylerfisher55.workers.dev/afc7d47f/uz5gyMPGU9TVujalv1-l0gCq1t5YoLPmJOs0BK8vPdXqyusELznNCnUjCjs93MmANIYp__VYV9NVMM33xaH8-hxFDOQjzy6xGM8xf6yfw1YOmJhdwv2R3fFOXPVk90JFUhfo-oz1cLaYBHPnU0wPrb84UsIVRnunq3UKDSpFMLVBnEy7VJtuHl7T90GpI0EcY_xtuRtQguJ7pQqdKgGVJRP7_urSkYuXf-zAySLgY6isRw-vKYh1EnOLybifGW5Q8AT-r-BlvwNe4vDMjJ3blHFeAsSS2Z3XMfOdM0dQbJwO7o4igwfpIVILbI2YkKuRzIbaWTMXAe7f9vKUJpS5cXEG5UB3EwOm_-yobxVKvrPZqcdrG-Qteh16fTl9Ll7PiYwlA-Ebc2S0QlEWRAXsB0IZd3ixrCxSqSfHZwF6p38FGC0EeNUqW_enbS8BA_kGQhiA9q9Z4P2yxF5CN5-WBTXw6O8UMygbUNhoi-BWnk02DRu0oeyEoE2OGVrN-zRP2KNGOejNL-BbmcLd9yB0qP1Z1RF8wszuFx8x6iQUuIXCXUSGzxZAQie3dELhVWFKSj__CqTSgk8adDCyd8mYLnHzh1jFpSlDDOwF65blF6rmWcYZmgfHcSIe9mIgpkRE0zPF5J_AcvKdYSoILfKj2kzpaF_yI8DceEqCWsDojyzMQi7YO02EMx8MdmtqG9BnHtto7tEiVWZnOQJyc6BinQ.m3u8";
await get_dns({
target: originalUrl,
method: "GET",
headers: {
Referer: "https://111movies.net/"
}
});
const foo = rewriteWorkersUrl_t2(originalUrl);
const res = await fetch(foo, {
method: "GET"
});
return res;
})
.listen({
port: PORT || 7860,
...(NS_runtime.IS_PROD && { hostname: "0.0.0.0" }),
idleTimeout: 120
});
console.log(
`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
);
|