|
|
| |
| const express = require('express'); |
| |
| const app = express(); |
| |
| let strValues = ''; |
| let strUvalues = ''; |
| |
| const port = 7860; |
| |
| const password = process.env.PASSWORD || '123456' ; |
|
|
| |
| function filterCookieValues(cookieValues, keepKeys) { |
| |
| let newCookieValues = ""; |
| |
| let pairs = cookieValues.split(";"); |
| |
| for (let pair of pairs) { |
| |
| let parts = pair.split("="); |
| |
| let key = parts[0].trim(); |
| |
| let value = parts.slice(1).join("="); |
| |
| if (keepKeys.includes(key)) { |
| newCookieValues += key + "=" + value + "; "; |
| } |
| } |
| |
| newCookieValues = newCookieValues.slice(0, -2); |
| |
| return newCookieValues; |
| } |
|
|
|
|
| |
| app.post('/SET', (req, res) => { |
| |
| let method = req.method; |
| |
| let pwd = req.query.pwd; |
| |
| if (!pwd || pwd !== password) { |
| res.status(401).send('Invalid password'); |
| return; |
| } |
| |
| |
|
|
| |
| let keepKeys = ["_U", |
| "MUID", |
| 'KievRPSSecAuth', |
| 'cct', |
| '_RwBf', |
| 'SRCHHPGUSR', |
| 'WLS']; |
| |
| let keepKeysU = ["_U", |
| "WLS"]; |
| |
| let cookieValues = req.header('Cookie-Values'); |
| |
| let setValue = filterCookieValues(cookieValues, keepKeys); |
| let getUValue = filterCookieValues(cookieValues, keepKeysU); |
|
|
| |
| if (setValue) { |
| strValues = setValue; |
| if (getUValue){ |
| |
| if (!strUvalues.includes(getUValue)) { |
| strUvalues += ';' + getUValue; |
| } |
| } |
| |
| res.send('Set value successfully'); |
| } else { |
| |
| res.status(400).send('No Cookie-Values in header'); |
| } |
| }); |
|
|
| |
| app.all('/GET', (req, res) => { |
| |
| let method = req.method; |
| |
| let pwd = req.query.pwd; |
| |
| if (!pwd || pwd !== password) { |
| res.status(401).send('Invalid password'); |
| return; |
| } |
| |
| let result = { result: { cookies: strValues } }; |
| |
| res.json(result); |
| }); |
|
|
| |
| app.all('/CLS', (req, res) => { |
| |
| let method = req.method; |
| |
| let pwd = req.query.pwd; |
| |
| if (!pwd || pwd !== password) { |
| res.status(401).send('Invalid password'); |
| return; |
| } |
| |
| const replacedStr = strUvalues.replace(/;/g, "<br>"); |
| |
| |
| strValues = ''; |
| strUvalues = ''; |
|
|
| |
| res.send('Clear value successfully'+ "\n" + replacedStr); |
| |
| |
| |
| }); |
|
|
|
|
| |
| app.all('/HisU', (req, res) => { |
| |
| let method = req.method; |
| |
| let pwd = req.query.pwd; |
| |
| if (!pwd || pwd !== password) { |
| res.status(401).send('Invalid password'); |
| return; |
| } |
| |
| |
| const replacedStr = strUvalues.replace(/;/g, "<br>"); |
|
|
| |
| res.send('Ukey History:'+ "\n" + replacedStr); |
| |
| }); |
|
|
|
|
| |
| app.all('/', (req, res) => { |
| |
| res.send('Please visit /SET /GET or /CLS with ?pwd=xxxxxx'); |
| }); |
|
|
|
|
| |
| app.listen(port, () => { |
| console.log(`Server is running on port ${port}`); |
| }); |