Skip to content

c0d3d3m0n/IPSec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unified Cross-Platform IPsec Framework

License: MIT Python 3.10+ FastAPI Docker

A professional, enterprise-grade framework designed to standardize, automate, and orchestrate IPsec tunnel configurations across heterogeneous operating systems (Windows, Linux, and macOS).


🏗 Architecture & Flow

graph TD
    subgraph "External Control"
        Admin[System Admin] --> Swagger[Swagger UI / API Docs]
    end

    subgraph "Cloud Infrastructure (Render/Docker)"
        Swagger --> Orchestrator[FastAPI Orchestrator]
        Orchestrator --> DB[(PostgreSQL)]
    end

    subgraph "Local Endpoints"
        AgentWin[Windows Agent] -- "Polls Policy (REST)" --> Orchestrator
        AgentLin[Linux Agent] -- "Polls Policy (REST)" --> Orchestrator
        
        AgentWin --> DriverWin[Windows Driver]
        DriverWin --> WFP[Windows Filtering Platform]
        
        AgentLin --> DriverLin[strongSwan Driver]
        DriverLin --> IPsec[Linux IPsec Stack]
    end

    style Orchestrator fill:#f9f,stroke:#333,stroke-width:2px
    style DB fill:#66f,stroke:#333,stroke-width:2px
    style Swagger fill:#dfd,stroke:#333,stroke-width:2px
Loading

📋 Project Status

  • Core Orchestrator: FastAPI backend with Swagger docs.
  • Persistence: PostgreSQL integration for cloud deployment.
  • Containerization: Full Docker support for the Orchestrator.
  • Platform Drivers: Native support for Windows (PowerShell) and Linux (strongSwan).
  • macOS Support: Upcoming integration.

🚀 Quick Start

1. Cloud Deployment (The "Brain")

Deploy the Central Orchestrator to Render in minutes using the provided Blueprint:

  • Guide: Render Deployment Guide
  • Interactive Docs: Access /docs on your deployed URL to manage policies via Swagger UI.

2. Local Setup (The "Hands")

To startEstablishing tunnels on your local machines:


💻 Tech Stack

  • Orchestrator: Python 3.10+, FastAPI, SQLAlchemy, PostgreSQL.
  • Agent: Lightweight Python residents with OS-native drivers.
  • Infrastructure: Docker, Render Blueprints.
  • Security: IKEv2 (IKEv2 Focused), AES-GCM, SHA-2.

📂 Directory Structure

├── agent/                  # Device Agent logic
├── orchestrator/           # Central Orchestrator service
├── .dockerignore           # Optimized Docker build context
├── Dockerfile              # Container definition for Orchestrator
├── render.yaml             # Render infrastructure-as-code
└── README.md               # Overview and status

🤝 Contributing

Contributions are welcome! Please follow the standard fork/PR workflow.

📄 License

Distributed under the MIT License. See LICENSE for details.

About

A Python-based framework to standardize and automate IPsec tunnel configuration across heterogeneous environments (Windows, Linux, macOS).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors