release v2.01
๐ฎ CoreShell v2.1 โ Stability & Security Release
Production-Ready SSH Client with Enterprise-Grade Encryption
From Simulation to Production: The Netrunner's Arsenal Reaches Enterprise Grade
๐ฏ What's New in v2.1
๐ด Critical Upgrades
โ Real SSH Connection
BEFORE: โ Simulated connections with hardcoded delays
AFTER: โ
Live SSH sessions via JSch with real I/O
connectToServer()establishes genuine SSH channels- Streams live server output directly to terminal
- Commands execute on actual remote shell
- Real stdin/stdout/stderr bidirectional communication
๐ End-to-End Encryption (AES-256-GCM)
BEFORE: โ Plaintext passwords & keys in database
AFTER: โ
Military-grade encryption at rest
- All credentials encrypted with Android Keystore-backed AES-256-GCM
- IV prepended and stored with ciphertext in Base64
- Decryption happens only at connection time
- Zero cleartext exposure in database or logs
๐ญ Terminal State Immutability Fixed
BEFORE: โ Mutable state โ missed UI updates
AFTER: โ
Immutable values โ reliable recomposition
SshSessionStatetransitioned tovalfields- Copy-on-write updates via
copy()lambda - Compose recomposition triggers on every change
- Terminal UI now responds smoothly to all updates
๐ก Major Improvements
| Feature | Improvement | Impact |
|---|---|---|
| ๐ Live Telemetry | Real top & free commands (10s refresh) |
CPU/RAM gauges show actual server metrics |
| ๐ Widget Data | Queries actual database instead of static list | Home screen shows your real servers |
| ๐ SSH Crypto | JSch 0.2.20 with modern algorithms | ssh-ed25519, ecdsa-sha2-nistp256, curve25519-sha256 support |
| ๐ช Windows Fix | Disabled GSSAPI fallback | No more infinite hangs on Windows Kerberos |
| ๐ Key Storage | RSA-2048 & Ed25519 encryption before DB | Private keys secured with AES-256-GCM |
| ๐ Key Extraction | Proper ASN.1 parsing | Robust Ed25519 public key handling |
| ๐ฑ App Identity | com.tuonome.coreshell |
Professional package namespace |
| ๐๏ธ Database API | Sync query method added | Widget provider support |
| โ Test Coverage | SecurityUtils unit tests | Encryption/decryption validation |
๐๏ธ Technical Architecture
Cryptography Pipeline
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Input (Password / Private Key) โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SecurityUtils.encrypt() โ
โ โข Generate random IV โ
โ โข AES-256-GCM cipher โ
โ โข Android Keystore โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [IV + Ciphertext] โ
โ Base64 encode โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Room Database โ
โ Encrypted Storage โ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
SSH Session Lifecycle
User Input โ connectToServer()
โ
โโโ Initialize JSch Session
โโโ Configure Algorithms (modern kex/cipher)
โโโ Disable GSSAPI (Windows compatibility)
โโโ Password/Key Authentication
โโโ Open Shell Channel
โโโ Stream I/O (stdin/stdout/stderr)
โโโ Update SessionState via StateFlow
๐ Performance & Reliability
Telemetry Updates
- Frequency: Every 10 seconds
- Commands:
top -bn1,free -m - Parsing: Regex extraction with fallback
- Resilience: Graceful degradation on incompatible systems
Database Queries
// Widget provider - synchronous query
getAllProfilesSync(): List<ServerProfile>
// UI layer - Flow-based reactive
getAllProfiles(): Flow<List<ServerProfile>>โ ๏ธ Migration Guide
Before Updating
- Export your server profiles (recommended)
- Note any saved SSH keys for re-entry
- Backup your CoreShell database:
adb backup -f coreshell_backup.ab com.tuonome.coreshell
After Updating
| Item | Action | Notes |
|---|---|---|
| Saved Servers | Plaintext โ AES-256-GCM format change | |
| SSH Keys | โ Preserved (encrypted) | Existing keys migrated automatically |
| Database Schema | โ No changes | Backward compatible |
| Settings | โ Preserved | Preferences remain intact |
๐ Security Enhancements Summary
v2.0 v2.1
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Simulated SSH โ Real Live Sessions
Plaintext Storage โ AES-256-GCM Encrypted
Random Telemetry โ Live Server Metrics
Basic Auth โ Modern Cryptography
(ed25519, ecdsa, curve25519)
GSSAPI Hangs โ Properly Disabled
Fragile Key Parsing โ ASN.1 Standards
๐ฅ Installation & Compatibility
Minimum Requirements
- Android: 7.0+ (API 24)
- Storage: 50 MB free space
- Network: Active connection for SSH
Tested Environments
โ
OpenSSH 7.xโ9.x (Linux)
โ
OpenSSH for Windows (via Tailscale)
โ
MagicDNS (Tailscale)
โ
Modern key algorithms (ed25519, ecdsa-sha2-nistp256)
โ
Backward compatibility with older servers
โ
Windows environments without Kerberos
Quick Install
# Download app-release.apk and install
adb install app-release.apk
# Or build from source
git clone https://github.com/PIXELQUADRO07/CoreShell.git
cd CoreShell
./gradlew assembleRelease
adb install app/build/outputs/apk/release/app-release.apk๐งช Testing & Validation
โ Unit Tests Added:
- AES-256-GCM encryption/decryption round-trips
- Empty string edge cases
- IV prepending and extraction
- Base64 encoding/decoding
โ Integration Testing:
- Real SSH connections to multiple server types
- Credential encryption/decryption cycles
- Terminal state mutations and UI updates
- Widget provider database queries
๐ What's Next (v2.2+)
- Multi-session concurrent connections
- SSH port forwarding & tunneling
- Custom terminal color themes
- Hardware security key support
- Cloud-based profile sync
- SSH certificate authentication
- Performance optimizations
๐ Known Limitations & Workarounds
| Issue | Workaround | Status |
|---|---|---|
Windows servers without top/free |
Telemetry falls back gracefully | โ Handled |
| First-time server setup required | Re-enter credentials once | |
| Keystore unavailable after restore | Re-add affected servers |
๐ฌ Feedback & Support
Found an issue? Open an Issue
Have suggestions? Start a Discussion
Security concerns? Please report privately to the maintainer
๐ Detailed Changelog
๐ด Critical Fixes
- Real SSH connection via JSch (no more simulation)
- Passwords & private keys encrypted at rest (AES-256-GCM)
- Terminal state immutability fixed (reactive UI updates)
๐ก Improvements
- Real server telemetry (CPU/RAM gauges)
- Widget reads actual server profiles
- Updated JSch to 0.2.20 (modern algorithms)
- Disabled GSSAPI authentication (Windows fix)
- SSH key encryption before storage
- Improved Ed25519 public key extraction (ASN.1)
- Updated applicationId
- Added synchronous DAO methods
- Added SecurityUtils unit tests
๐ฆ Dependencies Updated
com.github.mwiede:jsch โ 0.2.20 (from unmaintained original)
โก CoreShell v2.1: Enterprise Security. Netrunner Aesthetics. Raw Performance.
๐ฅ Download Latest โข ๐ Full Documentation โข ๐ Report Issues
Built with โค๏ธ by @PIXELQUADRO07
"In the darkness of the network, CoreShell is your light."