# chamroosh98/daypass architecture

> Architecture diagram of the GitHub repository chamroosh98/daypass, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chamroosh98/daypass
- Repository: https://github.com/chamroosh98/daypass

## Overview

DayPass is an OpenWrt router-management toolkit. Its documented user workflow is to install it on a router, then manage connectivity and proxy behavior: configure multiple WAN links, use Passwall and routing profiles, and manage clean Cloudflare IPs. The tree suggests distinct installer, UI, network, proxy, and system layers. No source excerpts were provided, so implementation-level calls and dispatches cannot be verified; edges below reflect only relationships stated in the README.

Main entry points: [`ui/menu/main.sh`](https://github.com/chamroosh98/daypass/blob/main/ui/menu/main.sh) (Management Menus), [`installer/init/install_core.sh`](https://github.com/chamroosh98/daypass/blob/main/installer/init/install_core.sh) (Installer), [`modules/proxy/routing.sh`](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/routing.sh) (Traffic Routing), [`modules/proxy/profile_manager.sh`](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/profile_manager.sh) (Routing Profiles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_install["Installation"]
  node_installer["Installer<br/>[install_core.sh]"]
  node_package_manager["Package Handling<br/>[manager.sh]"]
  node_arch_detection["Architecture Support<br/>[arch_detector.sh]"]
end

subgraph group_network["Network Management"]
  node_network_config["Network Configuration"]
  node_multiwan["Multi-WAN<br/>[load_balancer.sh]"]
  node_usb_wan["USB WAN<br/>[usb_wan.sh]"]
  node_wifi["Wi-Fi Management<br/>[wifi_ap.sh]"]
  node_guest_network["Guest Network<br/>[network.sh]"]
end

subgraph group_proxy["Proxy and Routing"]
  node_proxy_config["Passwall Configuration"]
  node_proxy_profiles["Routing Profiles<br/>[profile_manager.sh]"]
  node_routing["Traffic Routing<br/>[routing.sh]"]
  node_node_balance["Proxy Node Selection<br/>[node_balancer.sh]"]
  node_cloudflare["Clean IP Tools"]
  node_dns["DNS Management<br/>[config_manager.sh]"]
end

subgraph group_system["Router Operations"]
  node_service_manager["Service Management<br/>[service_manager.sh]"]
  node_backup["Backup and Restore<br/>[backup_restore.sh]"]
  node_maintenance["System Maintenance<br/>[maintenance.sh]"]
end

subgraph group_interface["User Interface"]
  node_menus["Management Menus<br/>[main.sh]"]
end

node_router_user(("Router User"))

node_router_user -->|"installs"| node_installer
node_installer -->|"installs packages"| node_package_manager
node_menus -->|"manages links"| node_multiwan
node_menus -->|"configures links"| node_usb_wan
node_menus -->|"manages Wi-Fi"| node_wifi
node_menus -->|"configures guest"| node_guest_network
node_menus -->|"manages Passwall"| node_proxy_config
node_proxy_profiles -->|"applies profiles"| node_routing
node_node_balance -->|"selects nodes"| node_routing
node_cloudflare -->|"offers IP swapping"| node_router_user

click node_installer "https://github.com/chamroosh98/daypass/blob/main/installer/init/install_core.sh"
click node_package_manager "https://github.com/chamroosh98/daypass/blob/main/installer/pkg/manager.sh"
click node_arch_detection "https://github.com/chamroosh98/daypass/blob/main/installer/init/arch_detector.sh"
click node_menus "https://github.com/chamroosh98/daypass/blob/main/ui/menu/main.sh"
click node_network_config "https://github.com/chamroosh98/daypass/tree/main/modules/network/host"
click node_multiwan "https://github.com/chamroosh98/daypass/blob/main/modules/network/host/load_balancer.sh"
click node_usb_wan "https://github.com/chamroosh98/daypass/blob/main/modules/network/host/usb_wan.sh"
click node_wifi "https://github.com/chamroosh98/daypass/blob/main/modules/network/host/wifi_ap.sh"
click node_guest_network "https://github.com/chamroosh98/daypass/blob/main/modules/network/guest/network.sh"
click node_proxy_config "https://github.com/chamroosh98/daypass/tree/main/modules/proxy/config"
click node_proxy_profiles "https://github.com/chamroosh98/daypass/blob/main/modules/proxy/profile_manager.sh"
click node_routing "https://github.com/chamroosh98/daypass/blob/main/modules/proxy/routing.sh"
click node_node_balance "https://github.com/chamroosh98/daypass/blob/main/modules/proxy/node_balancer.sh"
click node_cloudflare "https://github.com/chamroosh98/daypass/tree/main/modules/proxy/cloudflare"
click node_dns "https://github.com/chamroosh98/daypass/blob/main/modules/proxy/config/config_manager.sh"
click node_service_manager "https://github.com/chamroosh98/daypass/blob/main/modules/service/service_manager.sh"
click node_backup "https://github.com/chamroosh98/daypass/blob/main/modules/system/backup_restore.sh"
click node_maintenance "https://github.com/chamroosh98/daypass/blob/main/modules/system/maintenance.sh"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_installer,node_package_manager,node_arch_detection,node_router_user toneBlue
class node_network_config,node_multiwan,node_usb_wan,node_wifi,node_guest_network toneAmber
class node_proxy_config,node_proxy_profiles,node_routing,node_node_balance,node_cloudflare,node_dns toneMint
class node_service_manager,node_backup,node_maintenance toneRose
class node_menus toneIndigo
```

## Components

### Installation

- [Installer](https://github.com/chamroosh98/daypass/blob/main/installer/init/install_core.sh): `installer/init/install_core.sh`
- [Package Handling](https://github.com/chamroosh98/daypass/blob/main/installer/pkg/manager.sh): `installer/pkg/manager.sh`
- [Architecture Support](https://github.com/chamroosh98/daypass/blob/main/installer/init/arch_detector.sh): `installer/init/arch_detector.sh`

### Network Management

- [Network Configuration](https://github.com/chamroosh98/daypass/tree/main/modules/network/host): `modules/network/host`
- [Multi-WAN](https://github.com/chamroosh98/daypass/blob/main/modules/network/host/load_balancer.sh): `modules/network/host/load_balancer.sh`
- [USB WAN](https://github.com/chamroosh98/daypass/blob/main/modules/network/host/usb_wan.sh): `modules/network/host/usb_wan.sh`
- [Wi-Fi Management](https://github.com/chamroosh98/daypass/blob/main/modules/network/host/wifi_ap.sh): `modules/network/host/wifi_ap.sh`
- [Guest Network](https://github.com/chamroosh98/daypass/blob/main/modules/network/guest/network.sh): `modules/network/guest/network.sh`

### Proxy and Routing

- [Passwall Configuration](https://github.com/chamroosh98/daypass/tree/main/modules/proxy/config): `modules/proxy/config`
- [Routing Profiles](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/profile_manager.sh): `modules/proxy/profile_manager.sh`
- [Traffic Routing](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/routing.sh): `modules/proxy/routing.sh`
- [Proxy Node Selection](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/node_balancer.sh): `modules/proxy/node_balancer.sh`
- [Clean IP Tools](https://github.com/chamroosh98/daypass/tree/main/modules/proxy/cloudflare): `modules/proxy/cloudflare`
- [DNS Management](https://github.com/chamroosh98/daypass/blob/main/modules/proxy/config/config_manager.sh): `modules/proxy/config/config_manager.sh`

### Router Operations

- [Service Management](https://github.com/chamroosh98/daypass/blob/main/modules/service/service_manager.sh): `modules/service/service_manager.sh`
- [Backup and Restore](https://github.com/chamroosh98/daypass/blob/main/modules/system/backup_restore.sh): `modules/system/backup_restore.sh`
- [System Maintenance](https://github.com/chamroosh98/daypass/blob/main/modules/system/maintenance.sh): `modules/system/maintenance.sh`

### User Interface

- [Management Menus](https://github.com/chamroosh98/daypass/blob/main/ui/menu/main.sh): `ui/menu/main.sh`

### Other components

- **Router User**

## Connections

- Router User → Installer: installs
- Installer → Package Handling: installs packages
- Management Menus → Multi-WAN: manages links
- Management Menus → USB WAN: configures links
- Management Menus → Wi-Fi Management: manages Wi-Fi
- Management Menus → Guest Network: configures guest
- Management Menus → Passwall Configuration: manages Passwall
- Routing Profiles → Traffic Routing: applies profiles
- Proxy Node Selection → Traffic Routing: selects nodes
- Clean IP Tools → Router User: offers IP swapping
