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}` );