forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			34 lines
		
	
	
	
		
			906 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 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() |