diff --git a/admin.js b/admin.js index 450526f..0693bce 100644 --- a/admin.js +++ b/admin.js @@ -8,6 +8,9 @@ module.exports.get_users = (inp,cook,res)=>{ db.crc("users",(row_count)=>{ // console.log(row_count); db.gav("users",`${inp["from"]},${inp["load_interval"]}`,(data)=>{ + Object.entries(data).forEach(([key,user]) => { + data[key]["pass"] = func.decrypt(user["pass"],"umni_pass"); + }); db.gav("admins",`0`,(admins)=>{ if(data["length"] > 0){ res.send({body:data,admins:admins,count:row_count,out:"good"}); @@ -65,6 +68,10 @@ module.exports.edit_user = (inp,cook,res)=>{ res.send({out:"good"}); },true,true) } + else if (inp["key"] == "pass"){ + inp["value"] = func.encrypt(inp["value"],"umni_pass"); + change(); + } else {change();} function change(){ @@ -131,7 +138,7 @@ module.exports.new_user = (inp,cook,res)=>{ },true) } function good_reg(){ - db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${pass}','${uuid}',${admin}`,true); + db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${func.encrypt(pass,"umni_pass")}','${uuid}',${admin}`,true); if (admin == "true"){ console.log("admin"); db.ggv("users","`id`","uuid",`'${uuid}'`,(udata)=>{ udata = udata[0] diff --git a/db.js b/db.js index 8464580..b733043 100644 --- a/db.js +++ b/db.js @@ -1,6 +1,6 @@ const mysql = require('mysql'); const vars = require('./vars'); -const db_host = "db"; +const db_host = "localhost"; const admin = mysql.createConnection({ host: db_host, diff --git a/func.js b/func.js index cd50006..a5a4236 100644 --- a/func.js +++ b/func.js @@ -126,9 +126,24 @@ module.exports.logs_file = (res)=>{ } -module.exports.get_uuid = (name = "/") =>{ +module.exports.get_logs = (res)=>{ + db.gav("logs","0",(db_logs)=>{ + let logs_str = ""; + for (let i = Object.keys(db_logs).length-1; i >= 0; i--) { + const log = Object.values(db_logs)[i]; + let date = moment(log[`date_time`]).utc().format('YYYY-MM-DD'); + logs_str+=`${date}_${log.time}|${log.log} \n`; + if(i == 0){ + res.send(logs_str); + } + } + },true); +} + + +module.exports.get_uuid = (name = "e621") =>{ // if (name != "/") name = this.encrypt(name,"name"); - let unid = uuid.v4() + '%%'+name+'#e'+(621); + let unid = `${uuid.v4()}%${name}%${uuid.v4()}`; return unid; } diff --git a/index.js b/index.js index cd41700..53b159d 100644 --- a/index.js +++ b/index.js @@ -6,6 +6,7 @@ const admin = require('./admin'); const obj = require('./object'); const proj = require('./project'); const vars = require('./vars'); +const templates = require('./templates.js'); const cookieParser = require('cookie-parser'); const CssFilterConverter = require('css-filter-converter'); @@ -52,26 +53,26 @@ app.post('/back_login', (req, res) => {try { let inp = req.body; let cook = req.cookies; user.login(inp,cook,res); - } catch (error) {func.log("router login error - "+error);} + } catch (error) {route_err({req:req,error:error});} }); app.post("/sid_log",(req,res) =>{try{ let inp = req.body; let cook = req.cookies; user.sid_log(inp,cook,res,req); - } catch (error) {func.log("router sid logging in error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/get_sid" , (req,res) =>{try{ let inp = req.body; let sid = func.get_uuid(); res.cookie("sid",sid,{maxAge:(vars.week),path:"/;SameSite=Strict"}); res.send({out:"good"}); - } catch (error) {func.log("router sid getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }); app.post("/clear_sid" , (req,res) =>{try{ let inp = req.body; let cook = req.cookies; user.clear_sid(inp,cook,res); - } catch (error) {func.log("router sid clearing error - "+error);} + } catch (error) {route_err({req:req,error:error});} }); app.post("/get_cr_uuid", (req,res) => {try{ let inp = req.body; @@ -79,7 +80,7 @@ app.post("/get_cr_uuid", (req,res) => {try{ func.sid(cook,res,()=>{ user.get_cr(inp,cook,res); }) - } catch (error) {func.log("router getting user information by uuid error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) /// project @@ -92,7 +93,7 @@ app.post("/save_proj", (req,res) => {try{ func.sid(cook,res,()=>{ proj.save(inp,cook,res); }) - } catch (error) {func.log("router project saving error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/load_proj", (req,res) => {try{ let inp = req.body; @@ -100,7 +101,7 @@ app.post("/load_proj", (req,res) => {try{ func.sid(cook,res,()=>{ proj.load(inp,cook,res); }) - } catch (error) {func.log("router project loading error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/proj/delete", (req,res) => {try{ let inp = req.body; @@ -108,7 +109,7 @@ app.post("/proj/delete", (req,res) => {try{ func.sid(cook,res,()=>{ proj.del(inp,cook,res); }) - } catch (error) {func.log("router project loading error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/proj/download", (req,res) => {try{ let inp = req.body; @@ -116,7 +117,7 @@ app.post("/proj/download", (req,res) => {try{ func.sid(cook,res,()=>{ proj.download(inp,cook,res); }) - } catch (error) {func.log("router project loading error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/proj/rename", (req,res) => {try{ let inp = req.body; @@ -124,7 +125,7 @@ app.post("/proj/rename", (req,res) => {try{ func.sid(cook,res,()=>{ proj.rename(inp,cook,res); }) -} catch (error) {func.log("router project loading error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) app.post("/get_projs", (req,res) => { try{ @@ -133,7 +134,7 @@ app.post("/get_projs", (req,res) => { func.sid(cook,res,()=>{ proj.loads(inp,cook,res); }) - } catch (error) {func.log("router user projects getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/get_objs", (req,res) => { try{ @@ -143,7 +144,7 @@ app.post("/get_objs", (req,res) => { func.sid(cook,res,()=>{ obj.loads(inp,cook,res); }) - } catch (error) {func.log("router objects getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/get_obj", (req,res) => {try{ let inp = req.body; @@ -152,7 +153,7 @@ app.post("/get_obj", (req,res) => {try{ func.sid(cook,res,()=>{ obj.load(inp,cook,res); }) - } catch (error) {func.log("router single object getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/get_groups", (req,res) => {try{ let inp = req.body; @@ -161,7 +162,7 @@ app.post("/get_groups", (req,res) => {try{ func.sid(cook,res,()=>{ obj.load_groups(inp,cook,res); }) - } catch (error) {func.log("router single object getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/object/parts/get", (req,res) => {try{ let inp = req.body; @@ -170,7 +171,7 @@ app.post("/object/parts/get", (req,res) => {try{ func.sid(cook,res,()=>{ obj.load_parts(inp,cook,res); }) - } catch (error) {func.log("router single object getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/object/group/get", (req,res) => {try{ let inp = req.body; @@ -179,7 +180,7 @@ app.post("/object/group/get", (req,res) => {try{ func.sid(cook,res,()=>{ obj.load_group(inp,cook,res); }) - } catch (error) {func.log("router single object getting error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) // colors @@ -190,7 +191,7 @@ app.post("/object/colors/get", (req,res) => {try{ func.sid(cook,res,()=>{ obj.load_colors(inp,cook,res); }) -} catch (error) {func.log("router single object getting error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) @@ -201,7 +202,7 @@ app.get("/admin", (req,res) =>{try { func.sid(cook,res,(rights)=>{ res.render('admin'); },true,true) - } catch (error) {func.log("router admin page error - "+error);} + } catch (error) {route_err({req:req,error:error});} }); app.get("/admin/:type", (req,res) =>{try { let inp = req.body; @@ -215,11 +216,11 @@ app.get("/admin/:type", (req,res) =>{try { } else{res.redirect('/admin');} },true,true) -} catch (error) {func.log("router admin page error - "+error);} +} catch (error) {route_err({req:req,error:error});} }); app.get("/get_logs", (req,res) => { try{let cook = req.cookies;func.sid(cook,res,()=>{func.logs_file(res);})} - catch (error) {func.log("router logs download error - "+error);} + catch (error) {route_err({req:req,error:error});} }) app.post("/admin/colors/new", (req,res) => {try{ let inp = req.body; @@ -228,7 +229,7 @@ app.post("/admin/colors/new", (req,res) => {try{ func.sid(cook,res,()=>{ obj.new_color(inp,cook,res); }) -} catch (error) {func.log("router single object getting error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) app.post("/admin/colors/delete", (req,res) => {try{ let inp = req.body; @@ -237,7 +238,7 @@ app.post("/admin/colors/delete", (req,res) => {try{ func.sid(cook,res,()=>{ obj.del_color(inp,cook,res); }) -} catch (error) {func.log("router single object getting error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) app.post("/admin/objects/new", (req,res) => {try{ let inp = req.body; @@ -245,7 +246,7 @@ app.post("/admin/objects/new", (req,res) => {try{ func.sid(cook,res,()=>{ obj.new(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/objects/edit", (req,res) => {try{ let inp = req.body; @@ -253,7 +254,7 @@ app.post("/admin/objects/edit", (req,res) => {try{ func.sid(cook,res,()=>{ obj.save(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/objects/delete", (req,res) => {try{ let inp = req.body; @@ -261,7 +262,7 @@ app.post("/admin/objects/delete", (req,res) => {try{ func.sid(cook,res,()=>{ obj.del(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/objects/find", (req,res) => {try{ let inp = req.body; @@ -269,7 +270,7 @@ app.post("/admin/objects/find", (req,res) => {try{ func.sid(cook,res,()=>{ obj.find(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/groups/new", (req,res) => {try{ let inp = req.body; @@ -277,7 +278,7 @@ app.post("/admin/groups/new", (req,res) => {try{ func.sid(cook,res,()=>{ obj.new_group(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/parts/new", (req,res) => {try{ let inp = req.body; @@ -285,7 +286,7 @@ app.post("/admin/parts/new", (req,res) => {try{ func.sid(cook,res,()=>{ obj.new_part(inp,cook,res); },true,true) -} catch (error) {func.log("router object creating error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) app.post("/admin/parts/delete", (req,res) => {try{ let inp = req.body; @@ -293,7 +294,7 @@ app.post("/admin/parts/delete", (req,res) => {try{ func.sid(cook,res,()=>{ obj.del_part(inp,cook,res); },true,true) -} catch (error) {func.log("router object creating error - "+error);} +} catch (error) {route_err({req:req,error:error});} }) app.post("/admin/groups/delete", (req,res) => {try{ let inp = req.body; @@ -301,7 +302,7 @@ app.post("/admin/groups/delete", (req,res) => {try{ func.sid(cook,res,()=>{ obj.del_group(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/users/get", (req,res) => {try{ let inp = req.body; @@ -309,7 +310,7 @@ app.post("/admin/users/get", (req,res) => {try{ func.sid(cook,res,()=>{ admin.get_users(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post('/admin/users/new', (req, res) => {try{ let inp = req.body; @@ -317,7 +318,7 @@ app.post('/admin/users/new', (req, res) => {try{ func.sid(cook,res,()=>{ admin.new_user(inp,cook,res); },true,true) - } catch (error) {func.log("router registration error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/users/edit", (req,res) => {try{ let inp = req.body; @@ -325,7 +326,7 @@ app.post("/admin/users/edit", (req,res) => {try{ func.sid(cook,res,()=>{ admin.edit_user(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/users/delete", (req,res) => {try{ let inp = req.body; @@ -333,7 +334,7 @@ app.post("/admin/users/delete", (req,res) => {try{ func.sid(cook,res,()=>{ admin.del_user(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) app.post("/admin/users/find", (req,res) => {try{ let inp = req.body; @@ -341,10 +342,53 @@ app.post("/admin/users/find", (req,res) => {try{ func.sid(cook,res,()=>{ admin.find_user(inp,cook,res); },true,true) - } catch (error) {func.log("router object creating error - "+error);} + } catch (error) {route_err({req:req,error:error});} }) +// templates +app.post('/admin/template/save', (req, res) => {try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + templates.save(inp,cook,res); + },true,true) +} catch (error) {route_err({req:req,error:error});} +}) +app.post("/admin/template/rename", (req,res) => {try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + templates.rename(inp,cook,res); + },true,true) +} catch (error) {route_err({req:req,error:error});} +}) +app.post("/admin/template/delete", (req,res) => {try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + templates.del(inp,cook,res); + },true,true) +} catch (error) {route_err({req:req,error:error});} +}) +app.post("/template/load", (req,res) => {try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + templates.load(inp,cook,res); + }) +} catch (error) {route_err({req:req,error:error});} +}) +app.post("/template/loads", (req,res) => {try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + templates.loads(inp,cook,res); + }) +} catch (error) {route_err({req:req,error:error});} +}) + +// main routes app.get('/', (req, res) => { let inp = req.body; let cook = req.cookies; @@ -362,21 +406,28 @@ app.get("/main", (req,res) =>{try{ func.sid(cook,res,()=>{ res.render('main'); }) - } catch (error) {func.log("router getting user information by uuid error - "+error);} + } catch (error) {route_err({req:req,error:error});} +}); +app.get("/logs", (req,res) =>{try{ + let inp = req.body;let cook = req.cookies; + func.sid(cook,res,()=>{ + func.get_logs(res); + }) +} catch (error) {route_err({req:req,error:error});} }); app.get("/help", (req,res) =>{try{ let inp = req.body;let cook = req.cookies; func.sid(cook,res,()=>{ res.render('help'); }) -} catch (error) {func.log("router getting user information by uuid error - "+error);} +} catch (error) {route_err({req:req,error:error});} }); app.get("/temp", (req,res) =>{try{ let inp = req.body;let cook = req.cookies; func.sid(cook,res,()=>{ res.render('templates'); }) -} catch (error) {func.log("router getting user information by uuid error - "+error);} +} catch (error) {route_err({req:req,error:error});} }); app.get("/htc/:hex",(req,res) =>{ res.send(CssFilterConverter.hexToFilter(`#${req.params["hex"]}`)); @@ -389,4 +440,9 @@ app.all('*', (req, res) => { res.status(404) res.render("static/404"); }); -app.listen(process.env.PORT || 8080, () => func.log("server for puzzle started UwU")); \ No newline at end of file +app.listen(process.env.PORT || 8080, () => func.log("server for puzzle started UwU")); + + +function route_err(params = {req:null,error:null}) { + func.log(`router ${req.route.path} error - `+error) +} \ No newline at end of file diff --git a/project.js b/project.js index f52bf7d..d7e32ae 100644 --- a/project.js +++ b/project.js @@ -15,7 +15,7 @@ module.exports.load = (inp,cook,res)=>{ } }) if (projt != null){ - func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]} from ${cook["sid"]}`); + func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]}`); res.send({out:"good",body:projt["body"]}); } else{ @@ -71,7 +71,7 @@ module.exports.del = (inp,cook,res)=>{ // res.send({out:"good",body:pdata}); db.dl("projects","id",pdata["id"],()=>{ res.send({out:"good"}); - func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]} from ${cook["sid"]}`); + func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]}`); }) }) // db.ggv("users","`name`,`id`","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0]; @@ -91,7 +91,7 @@ module.exports.save = (inp,cook,res)=>{ if(pdata == null){ // func.log("proj not in"); // func.log(pname,udata["id"],proj); - func.log(`good boy ${udata["uuid"]} created project ${inp["name"]} from ${cook["sid"]}`); + func.log(`good boy ${udata["uuid"]} created project ${inp["name"]}`); db.nr("projects","`uid`,`name`,`body`,`img`,creation_date",`'${udata["id"]}','${inp["name"]}','${inp["proj"]}','${inp["img"]}','${date+"T"+time}'`); res.send({out:"good"}); } else if (pdata != null && pdata["uid"] == udata["id"]){ @@ -100,7 +100,7 @@ module.exports.save = (inp,cook,res)=>{ db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{}); db.sv("projects","last_change_date",`${date+"T"+time}`,"id",projin["id"],()=>{}); if(inp["img"] != "") db.sv("projects","img",inp["img"],"id",projin["id"],()=>{}); - func.log(`good boy ${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`); + func.log(`good boy ${udata["uuid"]} saved project ${projin["name"]}`); // func.log("proj in"); res.send({out:"good"}); }) @@ -114,4 +114,5 @@ module.exports.save = (inp,cook,res)=>{ } catch (error) { func.log("backend project saving err0r - "+error); } -} \ No newline at end of file +} + diff --git a/public/lib/fn.js b/public/lib/fn.js index c38839e..8119b5f 100644 --- a/public/lib/fn.js +++ b/public/lib/fn.js @@ -327,7 +327,6 @@ async function removeImageBackground(image) { } var list = preloadImages.list; for (var i = 0; i < array.length; i++) { - console.log(array[i],is_cached(array[i])); if(!is_cached(array[i])){ var img = new Image(); img.onload = function() { @@ -360,6 +359,9 @@ async function removeImageBackground(image) { preloadImages(sources,()=>{ // console.log("cached"); callback(); + sources.forEach(element => { + console.log(element,is_cached(element)); + }); }) } }); diff --git a/public/lib/inter.js b/public/lib/inter.js index 2d22fcc..d2b9c6a 100644 --- a/public/lib/inter.js +++ b/public/lib/inter.js @@ -214,7 +214,6 @@ function load(objss){ } if (keys == Object.keys(objs).at(-1)){ proj_state = "loaded"; - loaded(); } }); resize_drags(); diff --git a/templates.js b/templates.js new file mode 100644 index 0000000..3ef12bd --- /dev/null +++ b/templates.js @@ -0,0 +1,96 @@ +const db = require('./db'); +const func = require('./func'); +const moment = require("moment"); +const vars = require('./vars'); + +module.exports.load = (inp,cook,res)=>{ + try { + db.gv("projects","id",inp["id"],(pdata)=>{pdata = pdata[0]; + if (pdata != null){ + func.log(`good boy ${cook["uuid"]} loaded project ${pdata["name"]}`); + res.send({out:"good",body:pdata["body"]}); + } + else{ + res.send({out:"bad proj"}); + } + }) + } catch (error) { + func.log("backend project loading error - "); + } +} + +module.exports.loads = (inp,cook,res)=>{ + try { + db.gav("projects","0",(pdata)=>{ + res.send({out:"good",body:pdata}); + }) + } catch (error) { + func.log("backend projects loading err0r - " - error); + } +} + +module.exports.rename = (inp,cook,res)=>{ + try { + db.gv("projects","`id`",`'${inp["id"]}'`,(proj_name)=>{ proj_name = proj_name[0]; + // console.log(proj_name); + if(proj_name == null){ + db.sv("projects","name",`${inp["name"]}`,"id",`${inp["id"]}`, (db)=>{ + res.send({out:"good"}); + }) + } + }) + } catch (error) { + func.log("backend projects loading err0r - " - error); + } +} + +module.exports.del = (inp,cook,res)=>{ + try { + db.gv("projects","id",`'${inp["id"]}'`,(pdata)=>{pdata=pdata[0] + // res.send({out:"good",body:pdata}); + if(pdata != null){ + db.dl("projects","id",pdata["id"],()=>{ + res.send({out:"good"}); + func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]}`); + }) + } + else{ + res.send({out:"bad"}); + } + }) + } catch (error) { + func.log("backend projects delete err0r - " - error); + } +} + +module.exports.save = (inp,cook,res)=>{ + try { + db.gv("projects","id",`'${inp["id"]}'`,(pdata)=>{pdata = pdata[0] + var date = moment().format('YYYY-MM-DD'); + var time = moment().format('hh:mm:ss'); + if(pdata == null){ + // func.log("proj not in"); + // func.log(pname,udata["id"],proj); + func.log(`good boy ${cook["uuid"]} created project ${inp["name"]}`); + db.nr("projects","`name`,`body`,`img`,creation_date",`'${inp["name"]}','${inp["proj"]}','${inp["img"]}','${date+"T"+time}'`,true); + res.send({out:"good"}); + } else if (pdata != null){ + if(inp["proj"] != JSON.stringify({height:"2",width:"4"})){ + db.gv("projects","id",pdata["id"],(projin)=>{projin = projin[0] + db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{},true); + db.sv("projects","last_change_date",`${date+"T"+time}`,"id",projin["id"],()=>{},true); + if(inp["img"] != "") db.sv("projects","img",inp["img"],"id",projin["id"],()=>{}); + func.log(`good boy ${cook["uuid"]} saved project ${projin["name"]}`); + // func.log("proj in"); + res.send({out:"good"}); + }) + } + else{ + res.send({out:"bad",err:"proj"}); + } + } + }) + } catch (error) { + func.log("backend project saving err0r - "+error); + } +} \ No newline at end of file diff --git a/user.js b/user.js index f14ea42..32d3a58 100644 --- a/user.js +++ b/user.js @@ -15,13 +15,13 @@ module.exports.login = (inp,cook,res)=>{ db.gv("users","login",`'${ilogin}'`,(udata)=>{udata = udata[0]; db.ggv("sids","`sid`","uid",udata["id"],(sdata)=>{sdata = sdata[0]; // console.log(sdata); - if(ipass == udata["pass"]){ + if(ipass == func.decrypt(udata["pass"],"umni_pass")){ if (sdata != null){ // res.send({out:"logged",sid:sdata["sid"]}); // console.log(sdata); db.dl("sids","uid",`'${udata["id"]}'`,() =>{}); } - func.log("good boy "+udata["uuid"]+" logged in by login & pass from "+cook["sid"]); + func.log("good boy "+udata["uuid"]+" logged in by login & pass"); res.cookie("uuid",udata["uuid"],{maxAge:vars.week,path:"/;SameSite=Strict"}); // db.sv("users","sids",sids += inp["sid"]+";","uuid",udata["uuid"],()=>{}); @@ -73,7 +73,7 @@ module.exports.clear_sid = (inp,cook,res)=>{ // res.send({out:"good"}); db.ggv("users","id","uuid",`'${inp["uuid"]}'`,(udata)=>{udata = udata[0] db.dl("sids","uid",`'${udata["id"]}'`,() =>{ - func.log("good boy "+inp["uuid"] + " logged out from "+inp["sid"]); + func.log("good boy "+inp["uuid"] + " logged out"); }); // db.ggv("sids","id","uid",`'${udata["id"]}'`,(sids)=>{ // Object.entries(sids).forEach(([key,value])=>{ @@ -93,11 +93,11 @@ module.exports.sid_log=(inp,cook,res,req)=>{ func.sid(cook,res,(include) => { if (include){ res.send({out:"good",url:"/main"}); - if(req.headers.referer.split("https://n0r.su/")[1] == "login") func.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]); + if(req.headers.referer.split("/").at(-1) == "login") func.log("good boy "+ cook["uuid"]+" logged in by sid"); } else if (!include){ res.send({out:"bad"}); - if(req.headers.referer.split("https://n0r.su/")[1] == "login") func.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]); + func.log("bad boy "+ cook["uuid"]+" tried to login by sid but sid expired"); } },false) } catch (error) { diff --git a/views/admin.ejs b/views/admin.ejs index cdef93d..aab10d8 100644 --- a/views/admin.ejs +++ b/views/admin.ejs @@ -21,12 +21,47 @@ - Логи - + + Логи + Обновить + + Автозагрузка + + + <%- include('./static/end.ejs') %>