added script

main
alex 2024-01-27 18:54:43 +01:00
parent 3b98deaa82
commit 7510452736
6 changed files with 59 additions and 4 deletions

View File

@ -1 +1,9 @@
## This server processes the qrcode requests on our merchandise ## This server processes the qrcode requests on our merchandise
```javascript
<script>
const xhr = new XMLHttpRequest(); xhr.open("GET",
"https://kkqrcode.ex.umbach.dev/a", true); xhr.send(); window.location.href =
window.location.protocol + "//" + window.location.host;
</script>
```

31
package-lock.json generated
View File

@ -9,6 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.4.1", "dotenv": "^16.4.1",
"express": "^4.18.2", "express": "^4.18.2",
"express-useragent": "^1.0.15", "express-useragent": "^1.0.15",
@ -18,6 +19,7 @@
"pino-pretty": "^10.3.1" "pino-pretty": "^10.3.1"
}, },
"devDependencies": { "devDependencies": {
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/express-useragent": "^1.0.5", "@types/express-useragent": "^1.0.5",
"@types/node-telegram-bot-api": "^0.64.2", "@types/node-telegram-bot-api": "^0.64.2",
@ -121,6 +123,15 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/cors": {
"version": "2.8.17",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
"integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/express": { "node_modules/@types/express": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
@ -699,6 +710,18 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
}, },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/dashdash": { "node_modules/dashdash": {
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@ -1804,6 +1827,14 @@
"node": "*" "node": "*"
} }
}, },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": { "node_modules/object-inspect": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",

View File

@ -11,6 +11,7 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/express-useragent": "^1.0.5", "@types/express-useragent": "^1.0.5",
"@types/node-telegram-bot-api": "^0.64.2", "@types/node-telegram-bot-api": "^0.64.2",
@ -18,6 +19,7 @@
"typescript": "^5.3.3" "typescript": "^5.3.3"
}, },
"dependencies": { "dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.4.1", "dotenv": "^16.4.1",
"express": "^4.18.2", "express": "^4.18.2",
"express-useragent": "^1.0.15", "express-useragent": "^1.0.15",

View File

@ -2,6 +2,7 @@ import express, { Express } from "express";
import dotenv from "dotenv"; import dotenv from "dotenv";
import logger from "./src/logger/logger"; import logger from "./src/logger/logger";
import useragent from "express-useragent"; import useragent from "express-useragent";
import cors from "cors";
dotenv.config(); dotenv.config();
@ -12,18 +13,27 @@ const host = process.env.HOST || "localhost";
const port = Number(process.env.PORT) || 3000; const port = Number(process.env.PORT) || 3000;
// set up middleware // set up middleware
/*
app.use(
cors({
origin: "*",
})
); */
app.use(useragent.express()); app.use(useragent.express());
app.use("/", qrCodeRoutes); app.use("/", qrCodeRoutes);
app.use((req, res, next) => { app.use((req, res, next) => {
console.log("req not found, path:", req.path); console.log("req not found, path:", req.path);
res.redirect(process.env.REDIRECT_URL as string);
res.status(200);
//res.redirect(process.env.REDIRECT_URL as string);
}); });
app.use((err: any, req: any, res: any, next: any) => { app.use((err: any, req: any, res: any, next: any) => {
console.log("req err", err.stack); console.log("req err", err.stack);
res.status(500).send({ err: "invalid request" });
res.status(200);
//res.redirect(process.env.REDIRECT_URL as string);
}); });
// start server // start server

View File

@ -37,7 +37,9 @@ export async function Redirect(req: Request, res: Response) {
parse_mode: "HTML", parse_mode: "HTML",
}); });
res.redirect(process.env.REDIRECT_URL as string); res.status(200).send({ msg: "ok" });
//res.redirect(process.env.REDIRECT_URL as string);
} catch (err) { } catch (err) {
console.log(err); console.log(err);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });

2
start.sh Executable file
View File

@ -0,0 +1,2 @@
screen -dmS merchQRCodeManager | exit 0
screen -S merchQRCodeManager -p 0 -X stuff 'npx tsc && node build/server.js\n'