From 0295b4bd7c0b107df42f84a0d60c7b9485c5a84a Mon Sep 17 00:00:00 2001 From: Sunil Thakares Date: Fri, 19 Jun 2026 22:00:18 +0530 Subject: [PATCH] www/index.html page updated as per the refactoring... --- www/index.html | 216 ++++++++++++++++++++++++++----------------------- 1 file changed, 114 insertions(+), 102 deletions(-) diff --git a/www/index.html b/www/index.html index 94fbc2c..63beff1 100644 --- a/www/index.html +++ b/www/index.html @@ -122,6 +122,20 @@ pre.cb{background:var(--bg2);border:1px solid var(--border);border-radius:var(-- .flow-diagram{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:2rem;font-family:var(--mono);font-size:.8rem;line-height:2;text-align:center} .fbox{border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;display:inline-block;color:var(--t1);background:var(--bg3);margin:.25rem 0} .farrow{color:var(--t3);font-size:1rem;margin:.25rem 0} +/* ARCH */ +.arch-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start} +.flow-diagram{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:1.4rem;font-family:var(--mono);font-size:.76rem;line-height:2;text-align:center} +.fbox{border:1px solid var(--border);border-radius:5px;padding:.3rem .7rem;display:inline-block;color:var(--t1);background:var(--bg);margin:.1rem 0;font-size:.72rem} +.fbox.a1{border-color:var(--a1);color:var(--a1)}.fbox.a2{border-color:var(--a2);color:var(--a2)}.fbox.ar{border-color:var(--rust);color:var(--rust)}.fbox.a4{border-color:var(--a4);color:var(--a4)} +.farrow{color:var(--border2);font-size:.85rem} + +/* COMPONENT LIST */ +.comp-list{display:flex;flex-direction:column;gap:.8rem} +.comp{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1.1rem;display:flex;gap:.85rem;align-items:flex-start;transition:border-color .2s} +.comp:hover{border-color:var(--border2)} +.comp-num{font-family:var(--mono);font-size:.7rem;color:var(--a1);background:rgba(88,166,255,.09);border:1px solid rgba(88,166,255,.28);border-radius:4px;padding:.12rem .45rem;flex-shrink:0;margin-top:2px} +.comp-title{font-weight:600;font-size:.875rem;margin-bottom:.2rem} +.comp-desc{color:var(--t2);font-size:.8rem;line-height:1.55} /* STEPS */ .steps{display:flex;flex-direction:column;gap:1.5rem} @@ -209,7 +223,7 @@ footer{background:var(--bg);border-top:1px solid var(--border);padding:4rem 2rem
Production Ready
-

Control Your URLs.
Self-Hosted with Rust

+

πŸ•ΉοΈ Control Your URLs. Self-Hosted with πŸ¦€ Rust

BZOD is a complete multi-user URL management platform featuring custom landing pages, analytics, audit logging, and automated disaster recovery. Powered entirely by SQLite.

@@ -241,7 +255,7 @@ footer{background:var(--bg);border-top:1px solid var(--border);padding:4rem 2rem
-
bzod ? running
+
bzod >_ running
$ git clone https://github.com/thakares/bzod Cloning into 'bzod'... @@ -268,137 +282,134 @@ footer{background:var(--bg);border-top:1px solid var(--border);padding:4rem 2rem $ curl -X POST http://localhost:3000/api/short-urls \ -H "Authorization: Bearer TOKEN" \ -d '{"target":"https://example.com","slug":"my-link"}' -βœ… Short URL created: http://localhost:3000/my-link
-
- - +? Short URL created: http://localhost:3000/my-link
+
-
?
Short URLs
+
∞
Short URLs
QR
Generation
Realtime
Analytics
Multi
User Config
Logs
Audit Trail
Backup
& Restore
-
GPLv3
Open Source
+
FOSS
MIT/Apache 2.0 License
Core Features
-

Professional URL Management

-

A highly optimized architecture providing your organization with total ownership of internal and external links, operational data, and analytics.

-
-
?
URL Shortening

Create memorable URLs. Features include password protection, expirations, and elegant preview cards.

-
?
Landing Pages

Host structured landing pages with built-in analytics, dynamic QR codes, and integrated domains.

-
?
Analytics

Accurate visitor tracking encompassing browser metrics, referrers, and seamless CSV exports.

-
??
Memory Safe

Engineered in Rust to fundamentally eliminate memory leaks, null pointers, and thread data races.

+

πŸ› οΈ Everything for professional URL management

+

Production-grade platform for organizations requiring complete ownership of their links, analytics, and operational data.

+
+
πŸ”—
URL Shortening

Create short, memorable URLs with custom slugs. Password protection, expiration dates, and smart preview pages included.

Custom SlugsProtected
+
πŸ“„
Landing Pages

Host custom landing pages with full analytics tracking. QR code support, custom domains, and rich content editing.

HostedAnalytics
+
πŸ“Š
Analytics

Comprehensive visitor tracking with browser detection, referrer analysis, daily/monthly statistics, and CSV/JSON export.

Real-timeExport
+
πŸ¦€
Memory Safe

Built with Rust for zero buffer overflows, use-after-free bugs, or null pointer issues. Complete memory safety at compile time.

Rust 2021Safe
+
+
+
πŸ‘₯
Multi-User

Full user management with quotas, API tokens, session management, and tenant isolation. Role-based access control.

RBACIsolated
+
πŸ”
Audit Logging

Complete audit trail of all operations. Moderation tools, security events, and compliance-ready logging for enterprises.

ComplianceSecure
+
πŸ’Ύ
Backup & Restore

Disaster recovery workflows with automated backups. One-command restore. No external dependencies required.

AutomatedRecovery
+
πŸ—„οΈ
SQLite Backend

Reliable file-based storage with ACID transactions. No PostgreSQL, Redis, or Kubernetes needed. Single binary deployment.

ACIDSQLite
-
-
System Architecture
-

High-Level Data Flow

-

A tenant-isolated structure pairing the Axum async framework with optimized SQLite database files, segregating content from high-volume analytics.

+
Architecture
+

πŸ—οΈπŸ“¦ Modular, scalable design

+

Tenant-isolated multi-user architecture with separate databases for content and analytics. Built on Axum web framework and SQLite.

-
Client Browser
-
? HTTP/REST
-
Axum Routing Engine
-
? system.db lookup
-
Global Slug Registry
-
? Resolve Tenant
-
-
URL Data
content.db
-
Tracking
analytics.db
+
Web Browser
+
↓ HTTP/REST
+
Axum Server
+
↓ Auth Β· Routing
+
Request Type?
+
+
URL Mgmt
Content DB
+
Analytics
Analytics DB
-
? Write Event
-
Audit Log (system.db)
-
?
-
Response / Redirect
+
↓ Query
+
Tenant Data
+
↑ Results
+
Audit Log?
+
+
Yes ↓
+
+
System DB (Audit)
+
↓ Response
+
Browser
-
-
-
-
1
-
Web Layer (Axum)

High-performance async HTTP server handling routing, middleware validation, CSRF protection, and structured error responses.

-
-
-
2
-
Global Namespace

All public URLs are tracked in the system.db -> global_slugs table to prevent collisions across different isolated users.

-
-
-
3
-
Analytics Pipeline

Lightweight, thread-safe tracking workers capture device profiles and traffic origins into tenant databases without degrading redirect speeds.

-
-
+
+
01
Axum Web Server

High-performance async HTTP server. Handles routing, middleware, authentication, and request validation. Graceful shutdown and error handling.

+
02
Multi-Tenant Storage

Isolated databases per user. System DB for global state, users DB for accounts/sessions, tenant DBs for content and analytics.

+
03
Analytics Engine

Real-time visitor tracking with browser detection, referrer analysis, and aggregated statistics. CSV/JSON export support.

+
04
Audit & Moderation

Complete event logging, user activity tracking, and moderation tools. Compliance-ready for regulated industries.

-
-
Storage Architecture
-

Strict Tenant Isolation

+

πŸ‘₯ Strict Tenant Isolation

Instead of a monolithic database, BZOD securely segments administrative data from tenant analytics and content via dedicated SQLite files operating in WAL mode.

data/
- ??? admin/ # Global Metadata
- ? ??? admin.db # Internal management
- ? ??? system.db # Global slugs & audit logs
- ? ??? users.db # Auth, sessions, quotas
- ?
- ??? users/ # Tenant Isolation
-     ??? 1/ # User 1
-     ? ??? analytics.db # Isolated metrics
-     ? ??? content.db # Isolated URLs/Pages
-     ?
-     ??? 2/ # User 2
-         ??? analytics.db
-         ??? content.db + β”œβ”€β”€ admin/ # Global Metadata
+ β”‚ β”œβ”€β”€ admin.db # Internal management
+ β”‚ β”œβ”€β”€ system.db # Global slugs & audit logs
+ β”‚ └── users.db # Auth, sessions, quotas
+ β”‚
+ └── users/ # Tenant Isolation
+     β”œβ”€β”€ 1/ # User 1
+     β”‚ β”œβ”€β”€ analytics.db # Isolated metrics
+     β”‚ └── content.db # Isolated URLs/Pages
+     β”‚
+     β””── 2/ # User 2
+         β”œβ”€β”€ analytics.db
+         β””── content.db
1
-
No Cross-Tenant Bleed

By assigning physical content.db and analytics.db files to each user, cross-user data leakage is eliminated at the file-system level.

+
No Cross-Tenant Bleed

By assigning physical `content.db` and `analytics.db` files to each user, cross-user data leakage is eliminated at the file-system level.

2
-
Identity & Quotas

The centralized users.db acts as the primary identity database, securely tracking authentication, API tokens, and enforcing resource quotas.

+
Global Slug Registry

The centralized `system.db` resolves global paths and routes the visitor to the correct tenant's isolated database instantly.

3
-
WAL Concurrency

Write-Ahead Logging provides robust concurrency and zero-contention crash recovery without the operational overhead of PostgreSQL.

+
WAL Concurrency

Write-Ahead Logging provides robust concurrency and zero-contention crash recovery without the overhead of PostgreSQL.

-
+ +
REST API
-

Programmatic Access

+

πŸ”‘πŸ’» Programmatic Access

Integrate BZOD with CI/CD pipelines, home automation, or custom applications using secure, token-based authentication.

@@ -435,7 +446,7 @@ Authorization: Bearer bzo_xxxxxxxxxxxx
Operations & CLI
-

Built for Systems Administrators

+

πŸ§‘β€πŸ’»βš™οΈπŸ”§ Built for Systems Administrators

Full control via a comprehensive command-line interface. Handle migrations, disaster recovery, and user management directly from the terminal.

@@ -482,8 +493,8 @@ Authorization: Bearer bzo_xxxxxxxxxxxx
Market Comparison
-

How BZOD Compares

-

Unlike standard shorteners, BZOD provides a comprehensive suite of features?from landing pages to multi-tenant user isolation?in a single, compiled binary.

+

βš–οΈ How BZOD Compares

+

Unlike standard shorteners, BZOD provides a comprehensive suite of featuresβ€”from landing pages to multi-tenant user isolationβ€”in a single, compiled binary.

@@ -498,52 +509,52 @@ Authorization: Bearer bzo_xxxxxxxxxxxx - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
LanguageRust ?PHPPHPRustRust πŸ¦€PHP 🐘PHP 🐘Rust πŸ¦€
Deployment? Single Binary? Requires PHP/Web Server? Requires PHP/Web Server? Single Binaryβœ… Single Binary❌ Requires PHP/Web Server❌ Requires PHP/Web Serverβœ… Single Binary
External DB Required? None (SQLite)?? Usually (PostgreSQL/Maria)?? Usually (MySQL)? Noneβœ… None (SQLite)⚠️ Usually (PostgreSQL/Maria)⚠️ Usually (MySQL)βœ… None
Landing Pages? Native? No?? Via Plugin? Noβœ… Native❌ No⚠️ Via Plugin❌ No
QR + Analytics? Native?? Partial?? Via Plugin?? Partialβœ… Native⚠️ Partial⚠️ Via Plugin⚠️ Partial
Multi-User / Quotas? Native (Isolated)?? Partial?? Via Plugin? Noβœ… Native (Isolated)⚠️ Partial⚠️ Via Plugin❌ No
Backup & Recovery? Built-in CLI & Web UI? External Tools Needed? External Tools Needed? Noβœ… Built-in CLI & Web UI❌ External Tools Needed❌ External Tools Needed❌ No
@@ -555,7 +566,7 @@ Authorization: Bearer bzo_xxxxxxxxxxxx
Deployment
-

Get Started in Minutes

+

πŸš€ Get Started in Minutes

Deploy via Docker for containerized environments, or compile directly from source for bare-metal performance.

@@ -625,7 +636,7 @@ Authorization: Bearer bzo_xxxxxxxxxxxx
@@ -654,7 +665,8 @@ Authorization: Bearer bzo_xxxxxxxxxxxx setTimeout(() => msg.style.display = 'none', 2000); }); } - + + \ No newline at end of file