How swwillbemine/silver-network-management works
SilverNet is a PHP/MySQL ISP operations system for managing network infrastructure, MikroTik routers, subscribers, and billing. The main staff workflow is to register nodes, POPs, and routers; configure service packages; enroll customers; then generate invoices and record payments. Router integration supplies live status, PPPoE sessions, and configuration management, while customer pages and external API endpoints expose connection data. The graph reflects README capabilities where their implementation was not sampled; those subsystem links are not inferred as specific calls.
Main entry points: bootstrap.php Application bootstrap · router_proxy.php Router web proxy · router_detail.php Router live detail · billing.php Invoices and payments
Components 28
ISP Operations
- Dashboard
index.php - Customer management
customers.php - Customer detail
customer_detail.php - Customer enrollment
customer_form.php - Packages
packages.php - Package setup
package_form.php - PPPoE import
import_pppoe.php
Network Management
- Nodes
nodes.php - POPs
pops.php - Network links
connections.php - Router management
routers.php - Router live detail
api/router_detail.php - Router configuration
mikrotik - Hotspot management
hotspot.php - IP pools
ip_pool.php - PPPoE servers
pppoe_server.php
Customer Billing
- Invoices and payments
billing.php
Access and APIs
- ISP settings and keys
settings.php - User administration
users.php - External API
api/v1 - Router web proxy
router_proxy.php
Runtime Services
- Application bootstrap
config/bootstrap.php - Login and authorization
helpers/security.php - MikroTik connection
mikrotik/connection.php - MySQL database
Other components
- ISP staff
- MikroTik routers
- Monitoring system
Connections 47
- ISP staff → Dashboard: views
- ISP staff → Nodes: manages
- ISP staff → POPs: manages
- ISP staff → Network links: maps links
- ISP staff → Router management: registers
- ISP staff → Customer management: manages
- ISP staff → Packages: configures
- ISP staff → Invoices and payments: bills customers
- ISP staff → ISP settings and keys: configures
- ISP staff → User administration: manages users
- Dashboard → MySQL database: reads metrics
- Router management → MySQL database: stores router data
- Router management → MikroTik connection: checks status
- Router live detail → MySQL database: reads router record
- Router live detail → MikroTik connection: connects
- MikroTik connection → MikroTik routers: queries API
- Router live detail → MySQL database: updates status
- ISP staff → Router live detail: requests live detail
- ISP staff → Router configuration: manages router services
- Router configuration → MikroTik routers: configures
- ISP staff → Hotspot management: manages
- ISP staff → IP pools: manages
- ISP staff → PPPoE servers: configures
- ISP staff → Customer enrollment: enrolls
- Customer enrollment → MySQL database: stores customer
- ISP staff → Package setup: sets up
- Package setup → MySQL database: stores package
- Package setup → MikroTik routers: syncs profile
- ISP staff → PPPoE import: imports users
- PPPoE import → MikroTik routers: reads PPPoE users
- PPPoE import → MySQL database: stores imported users
- ISP staff → Customer detail: reviews account
- Customer detail → MikroTik routers: reads live status
- ISP staff → Invoices and payments: generates invoices
- Invoices and payments → MySQL database: records invoices and payments
- External API → MySQL database: reads customer data
- External API → MikroTik routers: fetches live stats
- Monitoring system → External API: requests status
- ISP staff → Router web proxy: opens router UI
- Router web proxy → MySQL database: loads customer and router
- Router web proxy → MikroTik connection: gets live WAN IP
- Router web proxy → MikroTik routers: proxies web traffic
- Dashboard → Application bootstrap: loads
- Customer management → Application bootstrap: loads
- Invoices and payments → Application bootstrap: loads
- Application bootstrap → Login and authorization: provides access checks
- Application bootstrap → MySQL database: initializes connection