BZOD
Self-hosted Multi-User URL Management Platform written in Rust.
BZOD combines URL shortening, landing pages, QR codes, analytics, moderation, audit logging, backup & restore workflows, and tenant isolation into a single deployable binary powered entirely by SQLite.
Designed for homelabs, organizations, businesses, educational institutions, and government agencies that require complete ownership of their links, analytics, and operational data.
Why BZOD?
Most URL shorteners focus only on redirects and click tracking.
BZOD is designed as a complete self-hosted platform with:
- Multi-user architecture
- Tenant isolation
- Landing pages
- QR code generation
- Analytics
- Audit logging
- Moderation
- Backup & restore
- Disaster recovery
- Administrative tooling
- REST API
- Web UI
- CLI management
All without requiring PostgreSQL, Redis, Elasticsearch, Kubernetes, or external SaaS services.
Key Features
URL Management
- Short URLs
- Custom slugs
- Bulk operations
- Password-protected links
- Expiring links
- Smart preview pages
- QR code generation
Landing Pages
- Hosted landing pages
- Custom slugs
- Analytics
- QR code support
Analytics
- Visitor tracking
- QR scan analytics
- Browser detection
- Referrer analysis
- Daily and monthly statistics
- CSV export
- JSON export
- Raw visitor logs
Multi-User Platform
- User accounts
- User quotas
- Session management
- API tokens
- Tenant isolation
- Administrative controls
Administration
- User management
- Moderation
- Audit logs
- Session administration
- Quota management
- Backup management
- Health dashboard
Operations
- Backup & restore
- Disaster recovery
- Health monitoring
- Upgrade migrations
- WAL-enabled SQLite databases
Architecture
┌─────────────┐
│ Browser │
└──────┬──────┘
│
┌───────▼───────┐
│ Axum Server │
└───────┬───────┘
│
┌────────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
users.db system.db User Databases
accounts global_slugs content.db
sessions moderation analytics.db
quotas audit logs tenant data
api tokens settings
Data Layout
data/
├── system.db
├── users.db
│
├── admin/
│ ├── content.db
│ └── analytics.db
│
└── users/
├── 2/
│ ├── content.db
│ └── analytics.db
│
├── 3/
│ ├── content.db
│ └── analytics.db
│
└── ...
Core Databases
users.db
Stores:
- Users
- Password hashes
- Sessions
- API tokens
- Quotas
system.db
Stores:
- Global slug namespace
- Moderation events
- Audit events
- Reserved slugs
- Settings
Tenant Databases
Each user receives isolated databases:
content.db
- URLs
- Landing pages
- Metadata
analytics.db
- Visits
- QR scans
- Referrers
- User agents
- Aggregated statistics
Feature Matrix
| Feature | Status |
|---|---|
| URL Shortening | ✅ |
| Custom Slugs | ✅ |
| Landing Pages | ✅ |
| QR Codes | ✅ |
| QR Analytics | ✅ |
| Password Protection | ✅ |
| Link Expiration | ✅ |
| Analytics Dashboard | ✅ |
| CSV Export | ✅ |
| JSON Export | ✅ |
| REST API | ✅ |
| Web UI | ✅ |
| CLI | ✅ |
| Multi-User Support | ✅ |
| User Quotas | ✅ |
| Session Management | ✅ |
| API Tokens | ✅ |
| Moderation | ✅ |
| Audit Logging | ✅ |
| Backup & Restore | ✅ |
| Disaster Recovery | ✅ |
| Health Monitoring | ✅ |
| Upgrade Migrations | ✅ |
Screenshots
Dashboard
URL Management
Landing Pages
Settings
Health Dashboard
Installation
Docker
docker compose up -d
Native
cargo build --release
./target/release/bzod serve
CLI
Administration
bzod create-admin
bzod create-user
bzod delete-user
bzod disable-user
bzod enable-user
bzod reset-password
bzod list-users
Backup & Recovery
bzod backup
bzod restore
Maintenance
bzod doctor
bzod migrate
bzod validate
bzod stats
Testing
BZOD v0.5.0 includes a comprehensive automated validation suite.
Validation Coverage
- Unit tests
- Integration tests
- HTTP E2E tests
- Authentication tests
- Migration tests
- Upgrade validation tests
- User isolation tests
- Security tests
- Backup/restore tests
- Disaster recovery tests
- Concurrency tests
- Business workflow tests
- WAL recovery tests
Execute
cargo test
Quality Gates
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo build --release
cargo audit
Documentation
Additional documentation is available in docs/.
| Document | Description |
|---|---|
| API.md | REST API reference |
| CHANGELOG.md | Version history |
| COMPARISON.md | Comparison with alternatives |
| DOCKER-Deploy.md | Docker deployment guide |
| RELEASE-NOTES.md | Release information |
| TESTING.md | Validation and testing |
Release Status
v0.5.0
General Availability (GA)
Validation completed:
- Formatting
- Linting
- Build verification
- Unit tests
- Integration tests
- HTTP E2E tests
- Business workflow tests
- Upgrade validation tests
Roadmap
Planned future enhancements:
- Geographic analytics
- SSO integration
- OpenAPI specification
- Multi-organization support
- Advanced analytics dashboards
- Background scheduler UI
License
Dual licensed under:
- Apache License 2.0
- MIT License
at your option.
See:
- LICENSE-APACHE
- LICENSE-MIT
Author
Sunil Purushottam Thakare
Built with Rust, SQLite, Axum, Askama, and a preference for simple, maintainable, self-hosted software.




