mirror of
				https://gitlab.com/MrFry/mrfrys-node-server
				synced 2025-04-01 20:24:18 +02:00 
			
		
		
		
	Added logging to accesible folder, and made all questions page more readable
This commit is contained in:
		
							
								
								
									
										1
									
								
								actions.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										1
									
								
								actions.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -279,7 +279,6 @@ function ProcessIncomingRequest(data) { | |||||||
| 			data.AddQuestion(d.subj, q); | 			data.AddQuestion(d.subj, q); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		data.version = version; |  | ||||||
| 		logger.Log("[PCES]:\t" + d.subj); | 		logger.Log("[PCES]:\t" + d.subj); | ||||||
| 		var msg = "All / new count: " + allQuestions.length + " / " + questions.length; | 		var msg = "All / new count: " + allQuestions.length + " / " + questions.length; | ||||||
| 		if (d.version != undefined) | 		if (d.version != undefined) | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								logger.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										4
									
								
								logger.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -26,6 +26,8 @@ module.exports = { | |||||||
|  |  | ||||||
| var utils = require('./utils.js'); | var utils = require('./utils.js'); | ||||||
| const nlogFile = "stats/nlogs"; | const nlogFile = "stats/nlogs"; | ||||||
|  | const varLogFile = "/var/log/qminingNLog"; | ||||||
|  | const logFile = "/nlogs/nlogs"; | ||||||
|  |  | ||||||
| function GetDateString() { | function GetDateString() { | ||||||
| 	var m = new Date(); | 	var m = new Date(); | ||||||
| @@ -45,7 +47,9 @@ function Log(s, c, b) { | |||||||
|  |  | ||||||
| 	if (b) | 	if (b) | ||||||
| 		utils.Beep(); | 		utils.Beep(); | ||||||
|  |  | ||||||
| 	utils.AppendToFile(GetDateString() + "> " + s, nlogFile); | 	utils.AppendToFile(GetDateString() + "> " + s, nlogFile); | ||||||
|  | 	utils.AppendToFile(GetDateString() + "> " + s, logFile); | ||||||
| } | } | ||||||
|  |  | ||||||
| function GetColor(c) { | function GetColor(c) { | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								public/favicon.ico
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								public/favicon.ico
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB | 
							
								
								
									
										0
									
								
								public/man.html
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								public/man.html
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										20
									
								
								server.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										20
									
								
								server.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -45,6 +45,8 @@ const inputFile = "stats/inputs"; | |||||||
| const msgFile = "stats/msgs"; | const msgFile = "stats/msgs"; | ||||||
| const logFile = "stats/logs"; | const logFile = "stats/logs"; | ||||||
|  |  | ||||||
|  | const allLogFile = "/nlogs/log"; | ||||||
|  |  | ||||||
| // https://certbot.eff.org/ | // https://certbot.eff.org/ | ||||||
| const privkeyFile = "/etc/letsencrypt/live/questionmining.tk/privkey.pem"; | const privkeyFile = "/etc/letsencrypt/live/questionmining.tk/privkey.pem"; | ||||||
| const fullchainFile = "/etc/letsencrypt/live/questionmining.tk/fullchain.pem"; | const fullchainFile = "/etc/letsencrypt/live/questionmining.tk/fullchain.pem"; | ||||||
| @@ -134,17 +136,14 @@ app.get('/static', function(req, res) { | |||||||
| }); | }); | ||||||
|  |  | ||||||
| app.get('/legacy', function(req, res) { | app.get('/legacy', function(req, res) { | ||||||
| 	// TODO: make this ejs |  | ||||||
| 	var f = utils.ReadFile(dataFile); |  | ||||||
| 	var r = '<html><body bgcolor="#212127"><head><meta charset="UTF-8">'; |  | ||||||
| 	r += '<style>body { font: normal 14px Verdana; color: #999999;}</style>'; |  | ||||||
| 	var d = actions.LoadJSON(f).toString().split("\n"); |  | ||||||
| 	for (var i = 0; i < d.length; i++) |  | ||||||
| 		r += d[i] + "</br>"; |  | ||||||
| 	r += '</head></body></html>'; |  | ||||||
|  |  | ||||||
| 	res.write(r); | 	var f = utils.ReadFile(dataFile); | ||||||
| 	res.end(); | 	var d = actions.LoadJSON(f); | ||||||
|  | 	var raw = d.toString().split("\n"); | ||||||
|  |  | ||||||
|  | 	res.render('alldata', { | ||||||
|  | 		data: d | ||||||
|  | 	}); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| app.post('/postfeedback', function(req, res) { | app.post('/postfeedback', function(req, res) { | ||||||
| @@ -276,6 +275,7 @@ function Log(req, toFile, sc) { | |||||||
| 				.body) + "\n"; | 				.body) + "\n"; | ||||||
|  |  | ||||||
| 			utils.AppendToFile(defLogs, logFile); | 			utils.AppendToFile(defLogs, logFile); | ||||||
|  | 			utils.AppendToFile(defLogs, allLogFile); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 	} catch (e) { | 	} catch (e) { | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								utils.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										6
									
								
								utils.js
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -36,8 +36,10 @@ function CreatePath(path, onlyPath) { | |||||||
| 	var p = path.split("/"); | 	var p = path.split("/"); | ||||||
| 	var currDir = p[0]; | 	var currDir = p[0]; | ||||||
| 	for (var i = 1; i < p.length; i++) { | 	for (var i = 1; i < p.length; i++) { | ||||||
| 		if (!fs.existsSync(currDir)) { | 		if (currDir != "" && !fs.existsSync(currDir)) { | ||||||
| 			fs.mkdirSync(currDir); | 			try { | ||||||
|  | 				fs.mkdirSync(currDir); | ||||||
|  | 			} catch (e) { console.log("Failed to make " + currDir + " directory... "); } | ||||||
| 		} | 		} | ||||||
| 		currDir += "/" + p[i]; | 		currDir += "/" + p[i]; | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								views/404.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								views/404.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										107
									
								
								views/alldata.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								views/alldata.ejs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | |||||||
|  |  | ||||||
|  | <html> | ||||||
|  | <body bgcolor="#212127"> | ||||||
|  | <head> | ||||||
|  | <title>All questions</title> | ||||||
|  | <meta charset="UTF-8"> | ||||||
|  | <style> | ||||||
|  | body { | ||||||
|  | 	font: normal 14px Verdana; | ||||||
|  | 	color: #999999; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | td { | ||||||
|  | 	font: normal 16px Verdana; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | td { | ||||||
|  | 	font: normal 16px Verdana; | ||||||
|  | 	width: 100%; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | textarea { | ||||||
|  | 	font: normal 14px Verdana; | ||||||
|  | 	color: #999999; | ||||||
|  | 	   background-color: #212127; | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 700 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | a { | ||||||
|  | 	color: #9999ff; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .collapsible { | ||||||
|  | 	background-color: #212127; | ||||||
|  | 	color: #999999; | ||||||
|  | 	cursor: pointer; | ||||||
|  | 	width: 100%; | ||||||
|  | 	border: none; | ||||||
|  | 	text-align: left; | ||||||
|  | 	outline: none; | ||||||
|  | 	font-size: 13px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .active, .collapsible:hover { | ||||||
|  | 	background-color: #555; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .content { | ||||||
|  | 	padding: 0 18px; | ||||||
|  | 	display: none; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	background-color: #212127; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | </style> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <center><h2> | ||||||
|  | Ennek az oldalnak a tartalma dinamikusan frissül minden beküldött kérdés után | ||||||
|  | </h2></center> | ||||||
|  |  | ||||||
|  | <% for (var i = 0; i < data.Subjects.length; i++) { %> | ||||||
|  | 	<button class="collapsible">  | ||||||
|  | 		<h2> | ||||||
|  | 			<table> | ||||||
|  | 				<td> | ||||||
|  | 					<%=data.Subjects[i].Name %> | ||||||
|  | 				</td> | ||||||
|  | 				<td style="vertical-align:middle;text-align:right"> | ||||||
|  | 					<%=data.Subjects[i].length %> | ||||||
|  | 				</td> | ||||||
|  | 			</table> | ||||||
|  | 		</h2> | ||||||
|  | 	</button> | ||||||
|  | 	<div class="content"> | ||||||
|  | 		<% var a = data.Subjects[i].toString().split('\n')%> | ||||||
|  | 		<% for (var j = 1; j < a.length; j++) { %> | ||||||
|  | 			<% if (a[j][0] == '?') { %> | ||||||
|  | 				</br> | ||||||
|  | 			<% } %> | ||||||
|  | 			<%=a[j] %> | ||||||
|  | 			</br> | ||||||
|  | 		<% } %> | ||||||
|  | 	</div> | ||||||
|  |  | ||||||
|  | <% } %> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | var coll = document.getElementsByClassName("collapsible"); | ||||||
|  | var i; | ||||||
|  |  | ||||||
|  | for (i = 0; i < coll.length; i++) { | ||||||
|  | 	coll[i].addEventListener("click", function() { | ||||||
|  | 		this.classList.toggle("active"); | ||||||
|  | 		var content = this.nextElementSibling; | ||||||
|  | 		if (content.style.display === "block") { | ||||||
|  | 			content.style.display = "none"; | ||||||
|  | 		} else { | ||||||
|  | 			content.style.display = "block"; | ||||||
|  | 		} | ||||||
|  | 	}); | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										4
									
								
								views/main.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										4
									
								
								views/main.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| @@ -24,9 +24,9 @@ greasyforkon</a> | |||||||
| | | | | ||||||
| <a href="<%= siteurl %>/manual">Manual</a> | <a href="<%= siteurl %>/manual">Manual</a> | ||||||
| | | | | ||||||
| <a href="<%= siteurl %>/data.json">Összes kérdés (JSON)</a> | <a href="<%= siteurl %>/legacy">Összes kérdés (Olvasható formátum)</a> | ||||||
| | | | | ||||||
| <a href="<%= siteurl %>/legacy">Összes kérdés (Régi/Olvasható formátum)</a> | <a href="<%= siteurl %>/data.json">Összes kérdés (JSON)</a> | ||||||
| | | | | ||||||
| <a href="<%= siteurl %>/servergit">Szerver repó</a> | <a href="<%= siteurl %>/servergit">Szerver repó</a> | ||||||
| | | | | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								views/uload.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								views/uload.ejs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | <html> | ||||||
|  | <body bgcolor="#212127"> | ||||||
|  | <head> | ||||||
|  | <title>Shit uploader</title> | ||||||
|  | <meta charset="UTF-8"> | ||||||
|  | <style> | ||||||
|  | body { font: normal 14px Verdana; color: #999999;} | ||||||
|  | td {vertical-align: top } | ||||||
|  |  | ||||||
|  | textarea { font: normal 14px Verdana; color: #999999; background-color: #212127; width: 100%; height: 700;} | ||||||
|  |  | ||||||
|  | a {color: #9999ff;} | ||||||
|  | </style> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <form action="/fosuploader" enctype=multipart/form-data method="post"> | ||||||
|  | 	<input type="file" name="dasfile" /> | ||||||
|  | 	<input type="submit" value="Upload" /> | ||||||
|  | </form> | ||||||
|  |  | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										0
									
								
								views/uploaded.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								views/uploaded.ejs
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
		Reference in New Issue
	
	Block a user