feat: initial commit

This commit is contained in:
2026-04-10 17:48:16 +00:00
commit 5ac439a96c
4 changed files with 52 additions and 0 deletions

1
.env.example Normal file
View File

@@ -0,0 +1 @@
PROBE_PORT=3567

13
Dockerfile Normal file
View File

@@ -0,0 +1,13 @@
FROM node:20-alpine
WORKDIR /app
COPY probe-server.js /app/probe-server.js
ENV PORT=19090
ENV HOST=0.0.0.0
EXPOSE 19090
CMD ["node", "probe-server.js"]

12
docker-compose.yml Normal file
View File

@@ -0,0 +1,12 @@
services:
probe-server:
build:
context: .
container_name: yc-probe-server
restart: always
environment:
PORT: ${PROBE_PORT:-19090}
HOST: 0.0.0.0
ports:
- "${PROBE_PORT:-19090}:${PROBE_PORT:-19090}"

26
probe-server.js Normal file
View File

@@ -0,0 +1,26 @@
'use strict';
const net = require('node:net');
const PORT = Number(process.env.PORT || 19090);
const HOST = process.env.HOST || '0.0.0.0';
if (Number.isNaN(PORT)) {
throw new Error('PORT must be a number');
}
const server = net.createServer((socket) => {
socket.setKeepAlive(true, 15000);
socket.on('data', (buf) => {
const msg = buf.toString('utf8').trim();
if (msg === 'ping') {
socket.write('pong\n');
}
});
});
server.listen(PORT, HOST, () => {
console.log(`[probe] listening on ${HOST}:${PORT}`);
});