Skip to content

release v2.01

Choose a tag to compare

@PIXELQUADRO07 PIXELQUADRO07 released this 25 May 21:34

๐Ÿ”ฎ CoreShell v2.1 โ€” Stability & Security Release

Production-Ready SSH Client with Enterprise-Grade Encryption

Release
Security
SSH
Status

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
  • SshSessionState transitioned to val fields
  • 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

  1. Export your server profiles (recommended)
  2. Note any saved SSH keys for re-entry
  3. Backup your CoreShell database:
    adb backup -f coreshell_backup.ab com.tuonome.coreshell

After Updating

Item Action Notes
Saved Servers โš ๏ธ Re-enter all credentials 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 โš ๏ธ Expected
Keystore unavailable after restore Re-add affected servers โš ๏ธ One-time

๐Ÿ’ฌ 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."