Update index.js
Browse files
index.js
CHANGED
|
@@ -102,19 +102,22 @@ const server = http.createServer((req, res) => {
|
|
| 102 |
|
| 103 |
// HTTPS CONNECT tunneling
|
| 104 |
server.on('connect', (req, clientSocket, head) => {
|
| 105 |
-
const
|
| 106 |
-
|
|
|
|
| 107 |
clientSocket.write('HTTP/1.1 200 Connection Established\r\n\r\n');
|
| 108 |
-
serverSocket.write(head);
|
| 109 |
serverSocket.pipe(clientSocket);
|
| 110 |
clientSocket.pipe(serverSocket);
|
| 111 |
});
|
| 112 |
|
| 113 |
-
serverSocket.on('error', () => {
|
| 114 |
-
|
|
|
|
|
|
|
| 115 |
});
|
| 116 |
});
|
| 117 |
|
| 118 |
-
server.listen(PORT, () => {
|
| 119 |
console.log(`✅ Reiker Proxy running on port ${PORT}`);
|
| 120 |
-
});
|
|
|
|
| 102 |
|
| 103 |
// HTTPS CONNECT tunneling
|
| 104 |
server.on('connect', (req, clientSocket, head) => {
|
| 105 |
+
const [host, port] = req.url.split(':');
|
| 106 |
+
|
| 107 |
+
const serverSocket = net.connect(port || 443, host, () => {
|
| 108 |
clientSocket.write('HTTP/1.1 200 Connection Established\r\n\r\n');
|
| 109 |
+
if (head && head.length) serverSocket.write(head);
|
| 110 |
serverSocket.pipe(clientSocket);
|
| 111 |
clientSocket.pipe(serverSocket);
|
| 112 |
});
|
| 113 |
|
| 114 |
+
serverSocket.on('error', (err) => {
|
| 115 |
+
console.error('❌ HTTPS tunnel error:', err.message);
|
| 116 |
+
clientSocket.write('HTTP/1.1 500 Connection Error\r\n\r\n');
|
| 117 |
+
clientSocket.end();
|
| 118 |
});
|
| 119 |
});
|
| 120 |
|
| 121 |
+
server.listen(PORT, '0.0.0.0', () => {
|
| 122 |
console.log(`✅ Reiker Proxy running on port ${PORT}`);
|
| 123 |
+
});;
|