Architecture & Technical Details
Deep dive into TabSSH's technical architecture and engineering decisions.
🏗️ Application Architecture
MVVM Pattern
- Model: Data layer with Repository pattern
- View: Activities, Fragments, custom Views
- ViewModel: Business logic with LiveData
Modular Structure
app/src/main/java/com/tabssh/
├── ui/ # User interface components
├── ssh/ # SSH connectivity
├── terminal/ # Terminal emulation
├── crypto/ # Key management
├── storage/ # Data persistence
├── themes/ # Theme system
├── accessibility/ # Accessibility features
└── network/ # Network utilities
🔐 Security Architecture
Credential Storage
- Android Keystore: Hardware-backed encryption
- Storage Levels: Configurable security policies
- Biometric Auth: Fingerprint/face unlock
- Secure Memory: Sensitive data cleared immediately
Key Management
- OpenSSH, RSA, PKCS#8, PuTTY format support
- Auto-detection of key formats
- QR code import capability
- Secure generation using Android crypto providers
🖥️ Terminal Emulation
VT100/ANSI Implementation
- Complete escape sequence support
- 256-color terminal support
- Unicode and UTF-8 handling
- Configurable scrollback buffer
- xterm-256color compatibility
📱 Mobile Optimization
Android Integration
- Intent handling for SSH URLs
- App shortcuts for quick connections
- Quick Settings tile support
- Background operation with battery optimization
Performance
- Efficient memory management
- Connection pooling
- 60 FPS terminal rendering
- Network compression support