NPS System

Network Penetration System - Enterprise-Grade Solution

Python 3.9+ Production Ready Enterprise Grade

Overview

NPS (Network Penetration System) is an enterprise-grade network penetration solution designed to provide stable, secure, and efficient network connectivity between servers and clients. Built with Python, it offers comprehensive features for network tunneling, security, monitoring, and management.

127+
Python Files
55+
API Endpoints
30+
Metrics
10+
Protocols
20+
Security Features
45+
Core Modules

System Architecture

┌─────────────────────────────────────────────────────────────┐ │ API Gateway + Load Balancer + Deep Defense │ │ (4-Layer Security Protection) │ └────────────────────┬────────────────────────────────────────┘ │ ┌────────────────┼────────────────┐ │ │ │ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐ │Node 1 │ │Node 2 │ │Node 3 │ │Master │ │Worker │ │Worker │ │ │ │ │ │ │ │Service│ │Service│ │Service│ │Registry│ │Registry│ │Registry│ │Failover│ │Failover│ │Failover│ └───┬───┘ └───┬───┘ └───┬───┘ │ │ │ └──────────────┼──────────────┘ │ ┌──────────────┼──────────────┐ │ │ │ ┌───▼───┐ ┌────▼────┐ ┌────▼────┐ │PostgreSQL│ │ Redis │ │Prometheus│ │ │ │(Queue) │ │ │ │ │ │(Cache) │ │ │ └─────────┘ └─────────┘ └──────────┘

Technology Stack

Backend

  • Python 3.9+
  • FastAPI (Web Framework)
  • SQLAlchemy + PostgreSQL
  • Redis (Cache & Queue)
  • WebSocket

Frontend

  • HTML/CSS/JavaScript
  • PyQt6 (Desktop Client)

Infrastructure

  • Docker & Docker Compose
  • Kubernetes
  • Prometheus & Grafana
  • GitHub Actions (CI/CD)

Core Features

1. Network Tunneling

Supported Protocols

TCP

Full-duplex TCP tunneling with bidirectional data transfer

UDP

UDP packet forwarding with dedicated proxy server

HTTP/HTTPS

HTTP reverse proxy with SSL/TLS support

WebSocket

Real-time bidirectional communication

SOCKS5

SOCKS5 proxy protocol support

FTP/SSH

File Transfer and Secure Shell tunneling

2. Client Management

3. Domain & SSL Management

4. Connection Management

Security Features

1. Multi-Layer Security Defense

Network Layer

  • IP whitelist/blacklist
  • CIDR notation support
  • Firewall rules

Application Layer

  • API rate limiting
  • Request throttling
  • Input validation

Data Layer

  • Data encryption
  • Data validation
  • Malicious content detection

Access Layer

  • JWT authentication
  • RBAC authorization
  • API key management

2. Advanced Security Features

3. Compliance Support

GDPR

Data protection, access control, data retention, deletion capabilities

SOC 2

Access control, monitoring, change management

ISO 27001

Information security policy, risk management, incident management

Performance & Optimization

1. Connection Pool Optimization

2. Query Optimization

3. Cache Strategy

LRU

Least Recently Used eviction

LFU

Least Frequently Used eviction

FIFO

First In First Out eviction

TTL

Time-based expiration

4. Async Processing

Performance Benchmarks

Metric Value
Concurrent Connections 10,000+
QPS (Queries Per Second) 1,000+
Response Time (P95) < 100ms
Response Time (P99) < 200ms
Throughput 1GB/s+
Availability 99.9%+
Failover Time < 30 seconds

Monitoring & Observability

1. Prometheus Metrics (30+)

Connection Metrics

  • nps_connections_total
  • nps_connections_active

Tunnel Metrics

  • nps_tunnels_total
  • nps_tunnels_active

Traffic Metrics

  • nps_traffic_bytes_total

System Metrics

  • nps_system_cpu_percent
  • nps_system_memory_bytes
  • nps_system_disk_bytes

Security Metrics

  • nps_rate_limit_hits_total
  • nps_security_anomalies_total

Performance Metrics

  • nps_http_request_duration_seconds
  • nps_response_time_p95

2. Distributed Tracing

3. Smart Alerting

4. Grafana Dashboards

Pre-configured dashboard with 10 panels:

High Availability

1. Cluster Deployment

2. Health Checking

3. Failover Mechanism

Failover Strategies

Active-Passive

Primary-backup mode with automatic failover

Active-Active

Dual-active mode for load distribution

Round-Robin

Round-robin selection

Least Connections

Select node with least connections

4. Circuit Breaker

Enterprise Features

1. Message Queue

2. Multi-Tenant Support

3. API Gateway

4. Quota Management

5. Backup & Recovery

6. Microservices Architecture

API Reference

Authentication

POST /api/api/auth/token

Create API token for authentication

Client Management

POST /api/clients

Create a new client

GET /api/clients

List all clients

GET /api/clients/{client_id}

Get client details

PUT /api/clients/{client_id}

Update client

DELETE /api/clients/{client_id}

Delete client

Tunnel Management

POST /api/clients/{client_id}/tunnels

Create a new tunnel

GET /api/clients/{client_id}/tunnels

List tunnels for a client

POST /api/tunnels/{tunnel_id}/start

Start a tunnel

POST /api/tunnels/{tunnel_id}/stop

Stop a tunnel

Domain Management

POST /api/clients/{client_id}/domains

Create a domain binding

POST /api/domains/{domain_id}/ssl/request

Request SSL certificate

Statistics & Monitoring

GET /api/stats/traffic

Get traffic statistics

GET /api/monitor/health

Get system health status

GET /metrics

Prometheus metrics endpoint

Cluster Management

GET /api/cluster/nodes

Get cluster node information

POST /api/cluster/nodes

Add cluster node

WebSocket Endpoints

ws://server:8080/ws/client

Client WebSocket connection

ws://server:8080/ws/admin

Admin WebSocket for management panel

Total: 55+ API endpoints

Deployment

1. Docker Deployment

Quick Start

cd docker
docker-compose up -d

Custom Image

docker build -t nps-server:latest -f docker/Dockerfile .

2. Kubernetes Deployment

kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/configmap.yaml

3. One-Click Startup Scripts

Start Server

./scripts/start_server.sh --daemon

Start Client

./scripts/start_client.sh --daemon
./scripts/start_client_gui.sh

Start All Services

./scripts/start_all.sh --daemon

Check Status

./scripts/status.sh

4. Environment Variables

Variable Description Default
HOST Server host 0.0.0.0
PORT Server port 8080
SECRET_KEY JWT secret key Required
DATABASE_URL PostgreSQL connection URL Required
REDIS_URL Redis connection URL redis://localhost:6379/0
CLUSTER_ENABLED Enable cluster mode false

Quick Reference

Start Server

./scripts/start_server.sh

Start Client

./scripts/start_client_gui.sh

Check Status

./scripts/status.sh

View Logs

tail -f logs/server.log

API Docs

http://localhost:8080/docs

Metrics

http://localhost:8080/metrics