mirror of
https://github.com/Expand-sys/imapmove.com
synced 2025-12-15 13:02:13 +11:00
65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
const express = require("express");
|
|
const bodyParser = require("body-parser");
|
|
const http = require("http");
|
|
const path = require("path");
|
|
const { v4: uuidv4 } = require("uuid");
|
|
const { grabIMAP } = require("./helpers/imap.js");
|
|
const app = express();
|
|
const fs = require("fs");
|
|
app.set("views", path.join(__dirname, "views"));
|
|
app.set("view engine", "pug");
|
|
|
|
app.use(bodyParser.json()); // for parsing application/json
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
|
|
app.use(express.static(path.join(__dirname, "public")));
|
|
|
|
app.set("trust proxy", 1);
|
|
if (typeof PhusionPassenger != "undefined") {
|
|
PhusionPassenger.configure({ autoInstall: false });
|
|
}
|
|
|
|
var server = http.createServer();
|
|
server.listen(40151);
|
|
var io = require("socket.io")(server, {
|
|
cors: {
|
|
origin: "*",
|
|
},
|
|
});
|
|
|
|
|
|
io.sockets.on("connection", function (socket) {
|
|
socket.on("submit", async function (data) {
|
|
console.log(data);
|
|
let id = uuidv4();
|
|
let result = await grabIMAP(
|
|
data.loginSource,
|
|
data.loginDest,
|
|
data.passwordSource,
|
|
data.passwordDest,
|
|
data.serverSource,
|
|
data.serverDest,
|
|
socket,
|
|
id
|
|
);
|
|
});
|
|
process.stdout.setEncoding("utf-8");
|
|
process.stdout.on("data", function (data) {
|
|
socket.emit("process_data", data);
|
|
});
|
|
});
|
|
|
|
app.get("/", function (req, res) {
|
|
var ip = req.headers["x-forwarded-for"] || req.connection.remoteAddress;
|
|
res.render("index", {
|
|
user: req.user,
|
|
ip: ip,
|
|
});
|
|
});
|
|
|
|
if (typeof PhusionPassenger != "undefined") {
|
|
app.listen("passenger");
|
|
} else {
|
|
console.log("listening at 3000")
|
|
app.listen(3000, '0.0.0.0');
|
|
}
|