MCPcopy Index your code
hub / github.com/aula-id/mini-gateway-rs

github.com/aula-id/mini-gateway-rs @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
581 symbols 1,337 edges 116 files 277 documented · 48% updated 4mo agov0.0.1-alpha.2 · 2025-04-06★ 1019 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Mini Gateway

mini gateway

A very fast yet easy to control Gatway!

Adopters

👋 Using Mini-Gateway at your company? \ We’d love to know! If you're using Mini-Gateway in production, please reach out \ we’d be honored to list your logo on gateway.rs as a user. \ (open a PR to add your proof of usage and your logo!)

Table of Contents

Introduction

img

It is designed to be easy to use and configure, making it suitable for both small and large-scale applications. The mini-gateway is built with a focus on performance, security, and flexibility, allowing users to customize their routing and proxying needs.

Architecture

General Architecture

img

The architecture of the mini-gateway is currently simple and straightforward.

Incoming traffic enters from the internet and is first secured by the TLS/WSS proxy, which decrypts the data and passes it as TCP/HTTP/WS traffic (while you can disable the TLS if not needed). This standardized traffic is then processed by the Gateway, which dynamically determines whether to pass the request through a scripting plugin or directly to backend services. In parallel, a background mechanism constantly monitors for configuration changes. When updates are detected—via the Gateway API and an external update service—these are reloaded in memory to ensure the Gateway operates with the latest settings, all without interrupting the flow.

Logging Architecture

img

This logging architecture prioritizes non-blocking log transmission to the API and subsequent database persistence to avoid impacting live traffic. While this approach may result in occasional log packet loss, the trade-off is considered an acceptable risk for maintaining application stability.

Roadmap

Control Center

  • [x] Web GUI - Control Panel
  • [x] Web GUI - Live Monitoring
  • [x] Robust Logging integration
  • [ ] CLI - Control Panel
  • [ ] CLI - Live Monitoring (looks like htop)

Core Features

  • [x] (proxy) HTTP/HTTPS
  • [x] (proxy) HTTP Host Lock
  • [x] (proxy) Websocket
  • [x] (proxy) Dynamic Target
  • [x] (gateway) Dynamic Routing
  • [x] (gateway) Advanced routing path using regex
  • [x] Auto Renew SSL (let's encrypt)
  • [ ] Scripting Plugin

Other Features

  • for requested features please create issue.

Documentation

api documentation can be found here , installation not yet ready but will be available both docker and apt-repository.

Getting Started

for manual build guideline please refer to each dockerfiles in here but we provide docker and binary: - for the docker you can get it here on dockerhub - for the binary you can check our github release

Sub-repositories

Each sub-repository within this project is designed to be standalone. This means that they are independent modules and should be run separately. Ensure that you configure and execute each sub-repo according to its specific requirements and purpose. Refer to the documentation within each sub-repo for detailed setup and usage instructions.

Sub-repository Overview

Sub-repository Description Notes
router-core Core proxy service responsible for handling traffic routing and forwarding. Must run in a private/secure network.
router-api Provides an API interface for managing and configuring the router. Intended for internal use only. Not designed for external consumption.
router-cli Command-line interface for interacting with and managing the router. Useful for quick configuration and debugging.
router-gui Graphical user interface for managing the router. Designed for internal use. Should not be exposed to public networks.

Extension points exported contracts — how you extend this code

ClaimsFromRequest (Interface)
Helper trait for accessing Claims in request handlers [2 implementers]
router-api/src/api/users/helper/auth_middleware.rs

Core symbols most depended-on inside this repo

get
called by 176
router-core/src/app/proxy_fast.rs
clone
called by 132
router-api/src/module/temporary_log.rs
clone
called by 55
router-core/src/system/udp_sender/mod.rs
get_connection
called by 47
router-api/src/module/database.rs
execute
called by 45
router-api/src/module/database.rs
load
called by 40
router-api/src/module/ai_security/models.rs
acquire_ordering
called by 21
router-core/src/system/memory_log/mod.rs
query
called by 20
router-api/src/module/database.rs

Shape

Function 240
Method 215
Class 110
Enum 15
Interface 1

Languages

Rust100%

Modules by API surface

router-api/src/module/certbot_runner.rs41 symbols
router-core/src/system/memory_log/mod.rs37 symbols
router-api/src/module/temporary_log.rs29 symbols
router-api/src/module/memory_log/core.rs23 symbols
router-api/src/api/users/helper/auth_middleware.rs21 symbols
router-core/src/app/gateway_fast.rs20 symbols
router-api/src/module/certificate_automation.rs18 symbols
router-api/src/module/database_log.rs17 symbols
router-core/src/app/proxy_fast.rs16 symbols
router-api/src/module/database.rs16 symbols
router-core/src/system/writer/rawid.rs15 symbols
router-cli/src/main.rs13 symbols

For agents

$ claude mcp add mini-gateway-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact