33 lines
906 B
TypeScript
33 lines
906 B
TypeScript
import Script from "./Script"
|
|
import { Server } from "./server"
|
|
import ScriptUtils from "./ScriptUtils"
|
|
|
|
class OpenProxy extends Script{
|
|
|
|
constructor() {
|
|
super("Allows any MapComplete-related domain to access the open internet via the proxy. No caching is done")
|
|
}
|
|
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"]
|
|
}
|
|
}
|
|
])
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
new OpenProxy().run()
|