Vpn / vpnserver.js
Jsjsjj8383's picture
Upload vpnserver.js
852119c verified
Raw
History Blame Contribute Delete
2.89 kB
const express = require("express");
const fs = require("fs");
const path = require("path");
const app = express();
app.use(express.json());
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>VPN API</title>
</head>
<body>
<h1>VPN API Server</h1>
<p>Running Successfully</p>
</body>
</html>
`;
let vpn = {
connected: false,
country: null,
flag: null,
ip: null
};
const countries = [
{ country: "United States", flag: "πŸ‡ΊπŸ‡Έ" },
{ country: "United Kingdom", flag: "πŸ‡¬πŸ‡§" },
{ country: "Germany", flag: "πŸ‡©πŸ‡ͺ" },
{ country: "France", flag: "πŸ‡«πŸ‡·" },
{ country: "Japan", flag: "πŸ‡―πŸ‡΅" },
{ country: "Singapore", flag: "πŸ‡ΈπŸ‡¬" },
{ country: "Canada", flag: "πŸ‡¨πŸ‡¦" },
{ country: "Australia", flag: "πŸ‡¦πŸ‡Ί" }
];
function generateIP() {
return [
Math.floor(Math.random() * 255),
Math.floor(Math.random() * 255),
Math.floor(Math.random() * 255),
Math.floor(Math.random() * 255)
].join(".");
}
app.get("/", (req, res) => {
res.send(htmlContent);
});
app.get("/api/vpn/list", (req, res) => {
res.json({
success: true,
countries
});
});
app.get("/api/vpn/generate-ip", (req, res) => {
res.json({
success: true,
ip: generateIP()
});
});
app.get("/api/vpn/connect", (req, res) => {
const country = req.query.country;
let server;
if (!country) {
server = countries[0];
} else {
server = countries.find(
c =>
c.country.toLowerCase() ===
country.toLowerCase()
);
if (!server) {
return res.status(404).json({
success: false,
error: "Country not found",
countries
});
}
}
vpn.connected = true;
vpn.country = server.country;
vpn.flag = server.flag;
vpn.ip = generateIP();
res.json({
success: true,
message: "VPN Connected",
country: vpn.country,
flag: vpn.flag,
ip: vpn.ip
});
});
app.get("/api/vpn/disconnect", (req, res) => {
vpn.connected = false;
vpn.country = null;
vpn.flag = null;
vpn.ip = null;
res.json({
success: true,
message: "VPN Disconnected"
});
});
app.get("/api/vpn/status", (req, res) => {
res.json(vpn);
});
app.get("/api/vpn/attachment", (req, res) => {
const file = path.join(
__dirname,
"vpn.txt"
);
const content = `
VPN CONFIGURATION
Connected: ${vpn.connected}
Country: ${vpn.country || "None"}
Flag: ${vpn.flag || "None"}
IP: ${vpn.ip || "None"}
Generated By VPN API
`;
fs.writeFileSync(file, content);
res.download(file);
});
app.listen(5900, "0.0.0.0", () => {
console.log(
"Server running on http://127.0.0.1:5900"
);
});