109 lines
2.1 KiB
JavaScript
109 lines
2.1 KiB
JavaScript
const net = require("net");
|
|
const { PomeloClient } = require("./lib/boot");
|
|
|
|
|
|
var listenPort = 4000;
|
|
var listenHost = "127.0.0.1";
|
|
|
|
|
|
const proxyList = require("./config/proxy.json");
|
|
|
|
console.log(proxyList);
|
|
|
|
proxyList.forEach((config) => {
|
|
proxy(config);
|
|
});
|
|
|
|
|
|
function proxy(config) {
|
|
console.log(config);
|
|
|
|
const host = config.host;
|
|
const port = config.port;
|
|
const srcHost = config.srcHost;
|
|
const srcPort = config.srcPort;
|
|
|
|
const server = net.createServer((socket) => {
|
|
console.log("listening");
|
|
|
|
const pomelo = new PomeloClient();
|
|
const connectBuffer = [];
|
|
let isReady = false;
|
|
|
|
pomelo.init({ host: srcHost, port: srcPort, log: true }, () => {
|
|
isReady = true;
|
|
connectBuffer.forEach((data) => {
|
|
onData(data);
|
|
});
|
|
}
|
|
);
|
|
|
|
socket.on("connect", () => {
|
|
console.log("connect");
|
|
});
|
|
|
|
socket.on("error", (error) => {
|
|
console.log(error);
|
|
});
|
|
|
|
socket.on("close", () => {
|
|
console.log("close");
|
|
pomelo.disconnect();
|
|
});
|
|
|
|
socket.on("drop", () => {
|
|
console.log("drop");
|
|
});
|
|
|
|
socket.on("data", (data) => {
|
|
if (isReady) {
|
|
onData(data);
|
|
} else {
|
|
connectBuffer.push(data);
|
|
}
|
|
});
|
|
|
|
function onData(data) {
|
|
console.log(data.toString());
|
|
|
|
const account = "6516_2006_0xef59f6cc4d190a0ae576c46d4583e92b61174340";
|
|
pomelo.request("gate.gateHandler.queryEntry", { uid: account }, (data) => {
|
|
socket.write(JSON.stringify(data));
|
|
});
|
|
}
|
|
});
|
|
|
|
server.listen(port, host);
|
|
}
|
|
|
|
|
|
|
|
// const testAccounts = [
|
|
// "6516_2006_0xef59f6cc4d190a0ae576c46d4583e92b61174340",
|
|
// "6513_2006_FcZnmeGSoxGFQy1Zr6Lfr2o7dRoGcEYE",
|
|
// "6513_2006_DAmSOj6LKh1jd45DlydwUm7g8iW4KjOv",
|
|
// ];
|
|
|
|
// testAccounts.forEach((account) => {
|
|
// const pomelo = new PomeloClient();
|
|
|
|
// pomelo.init(
|
|
// {
|
|
// host: "192.168.100.173",
|
|
// port: 3999,
|
|
// log: true,
|
|
// },
|
|
// () => {
|
|
// pomelo.request(
|
|
// "gate.gateHandler.queryEntry",
|
|
// { uid: account },
|
|
// (data) => {
|
|
// console.log(data);
|
|
// }
|
|
// );
|
|
// }
|
|
// );
|
|
// });
|
|
|
|
|