nodejs-argo
A Node.js application designed for network proxy deployment with integrated monitoring and tunnel management.
Features
Multi-Protocol Proxy Support
Supports SOCKS5, Hysteria2, and REALITY protocols
Cloudflare Argo Tunnel Integration
Automatic tunnel creation with support for both temporary and fixed tunnels
Nezha Monitoring
Built-in integration with Nezha monitoring system (v0 and v1)
Subscription Management
Automatic node subscription upload and management
Keep-Alive System
Configurable auto-access functionality for service health monitoring
Docker Ready
Containerized deployment with Alpine Linux base
Tech Stack
- Runtime: Node.js (>=14)
- Base Image: Alpine Linux 3.22
- Dependencies: Axios for HTTP requests
- Container: Docker with multi-architecture support
Configuration
The application is configured through environment variables:
# Core Settings
UUID=d231e24d-7e23-4c1a-856b-c14f33329c6a
PORT=3000
# Tunnel Configuration
ARGO_DOMAIN=your-domain.com
ARGO_AUTH=your-auth-token
ARGO_PORT=8001
# Monitoring
NEZHA_SERVER=nz.abc.com:8008
NEZHA_KEY=your-secret-key
# Upload & Access
UPLOAD_URL=https://merge.example.com
PROJECT_URL=https://google.com
AUTO_ACCESS=false
Quick Start
Docker Deployment
docker build -t nodejs-argo .
docker run -p 3000:3000 -e UUID=your-uuid nodejs-argo
Local Development
npm install
npm run dev
Ports
- HTTP Service: 3000 (configurable via PORT)
- SOCKS5: Configurable via S5_PORT
- Hysteria2: Configurable via HY2_PORT
- REALITY: Configurable via REALITY_PORT
The application serves an HTTP interface on the configured port and manages various proxy protocols based on the provided configuration.