2024-06-10 14:54:31 +02:00
|
|
|
import Script from "./Script"
|
|
|
|
import { Server } from "./server"
|
|
|
|
import ScriptUtils from "./ScriptUtils"
|
|
|
|
|
2024-06-16 16:06:26 +02:00
|
|
|
class OpenProxy extends Script {
|
2024-06-10 14:54:31 +02:00
|
|
|
constructor() {
|
2024-06-16 16:06:26 +02:00
|
|
|
super(
|
|
|
|
"Allows any MapComplete-related domain to access the open internet via the proxy. No caching is done"
|
|
|
|
)
|
2024-06-10 14:54:31 +02:00
|
|
|
}
|
2024-06-16 16:06:26 +02:00
|
|
|
async main(args: string[]): Promise<void> {
|
|
|
|
new Server(1237, {}, [
|
|
|
|
{
|
|
|
|
mustMatch: "json",
|
|
|
|
mimetype: "application/json",
|
|
|
|
handle: async (_, params) => {
|
|
|
|
const url = decodeURIComponent(params.get("url"))
|
|
|
|
let content = await ScriptUtils.Download(url)
|
|
|
|
while (content["redirect"]) {
|
|
|
|
content = await ScriptUtils.Download(content["redirect"])
|
|
|
|
}
|
|
|
|
return content["content"]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
])
|
2024-06-10 14:54:31 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
new OpenProxy().run()
|