mirror of
				https://codeberg.org/ashley/poke
				synced 2025-07-17 16:52:11 +00:00 
			
		
		
		
	reformat file
This commit is contained in:
		
							parent
							
								
									118b4e54d4
								
							
						
					
					
						commit
						c8ef0ab022
					
				
							
								
								
									
										53
									
								
								p/server.js                
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								p/server.js                
									
									
									
									
									
								
							| @ -1,51 +1,48 @@ | ||||
| const fs = require("fs"); | ||||
| const express = require('express'); | ||||
| const fetch = require('node-fetch'); | ||||
| const express = require("express"); | ||||
| const fetch = require("node-fetch"); | ||||
| const htmlParser = require("node-html-parser"); | ||||
| 
 | ||||
| const app = express(); | ||||
|   | ||||
| app.use(express.json()) // for parsing application/json | ||||
| app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded | ||||
| 
 | ||||
|  let Proxy = async (req, res) => { | ||||
|   var url =  req.originalUrl  | ||||
|   | ||||
| app.use(express.json()); // for parsing application/json | ||||
| app.use(express.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded | ||||
| 
 | ||||
| let Proxy = async (req, res) => { | ||||
|   const url = "https://" + req.originalUrl.slice(10); | ||||
| 
 | ||||
|   let f = await fetch(url, { | ||||
|     method: req.method, | ||||
|   }); | ||||
|   if(false && f.headers.get('content-type').includes("html")){ | ||||
|   if (false && f.headers.get("content-type").includes("html")) { | ||||
|     const body = await f.text(); | ||||
|     if(false && !htmlParser.valid(body)) { | ||||
|     if (false && !htmlParser.valid(body)) { | ||||
|       console.warn(`[ERROR] Invalid HTML at ${url}`); | ||||
|       f.body.pipe(res); | ||||
|       return; | ||||
|     }; | ||||
|     } | ||||
|     const root = htmlParser.parse(body); | ||||
|     let html = root.childNodes.filter((x) => x.tagName && x.tagName.toLowerCase() == "html")[0]; | ||||
|       | ||||
|     if(!html) { | ||||
|     let html = root.childNodes.filter( | ||||
|       (x) => x.tagName && x.tagName.toLowerCase() == "html" | ||||
|     )[0]; | ||||
| 
 | ||||
|     if (!html) { | ||||
|       console.warn(`[ERROR] No <html> at ${url}`); | ||||
|       res.send(body); | ||||
|       return; | ||||
|     }; | ||||
|       | ||||
|       | ||||
|     res.send(html.toString()); | ||||
|    } else { | ||||
|     f.body.pipe(res); | ||||
|   }; | ||||
| }; | ||||
|     } | ||||
| 
 | ||||
|     res.send(html.toString()); | ||||
|   } else { | ||||
|     f.body.pipe(res); | ||||
|   } | ||||
| }; | ||||
| 
 | ||||
| const listener = (req, res) => { | ||||
|  Proxy(req, res) | ||||
|   Proxy(req, res); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| app.get("/", (req, res) => res.redirect(`/https://www.google.com/`)); | ||||
| app.all('/*', listener); | ||||
| app.all("/*", listener); | ||||
| 
 | ||||
| 
 | ||||
| app.listen(3000, () => { | ||||
|  }) | ||||
| app.listen(3000, () => {}); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ashley
						Ashley