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
Back to Documentation View Source Code