Deep-dive technical documentation covering global paths, mutex concurrency locks, PBKDF2 encryption schemes, and VFS mount flag architectures.
MountMate initializes hardcoded directory targets to maintain persistent state and logs:
$script:ScriptsDir = "C:\Scripts"
$script:CacheDir = "C:\RcloneCache"
$script:ConfigFile = "C:\Scripts\mounts.json"
$script:LogFile = "C:\Scripts\manager.log"
$script:MutexTimeoutMS = 5000 # Inter-process Sync Lock
To avoid race conditions and corrupt state writes, configuration serialization is strictly guarded:
Global\MountMate_Config_Mutex guarantees thread-safe atomic access across background watcher threads and interactive console sessions.mounts.json.tmp before replacing target state files via [System.IO.File]::Replace().System state backups (Option [12]) use PBKDF2 key derivation and AES-256 CBC encryption:
| Parameter | Technical Specification |
|---|---|
| Encryption Standard | AES-256 CBC |
| Key Derivation Function | PBKDF2 (Rfc2898DeriveBytes) |
| PBKDF2 Iterations | 210,000 |
| Salt Length | 16 Bytes (Cryptographically Random) |
| Header Identifier | ASCII "MM25" (4 Bytes) |
Key PowerShell functions responsible for privilege isolation and non-blocking drive health checks:
# Dynamic Executable Discovery
Get-RcloneExecutablePath
# Non-Blocking Drive Async Ping
Test-DriveReadiness ($driveLetter)
# Privilege Isolation Wrapper (Avoids Explorer Token Lock)
Start-ProcessAsUser ($vbsPath)
MountMate passes hardened VFS parameters to Rclone to guarantee high read/write throughput and background stability:
--vfs-cache-mode=full
--vfs-cache-max-size=5G
--vfs-cache-max-age=6h
--vfs-write-back=5s
--dir-cache-time=168h
--poll-interval=30s
--buffer-size=32M
--vfs-read-chunk-size=64M
--vfs-read-chunk-size-limit=2G
--network-mode
--drive-use-trash