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