mapcomplete/scripts/openProxy.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
936 B
TypeScript
Raw Normal View History

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()