Remove token from client
This commit is contained in:
@@ -16,7 +16,7 @@ Usage:
|
||||
|
||||
Installs/updates $ServiceName as a Windows Scheduled Task (per-user, runs at logon).
|
||||
- Re-running updates the installed binary and restarts the task.
|
||||
- A stable token is stored in: %LOCALAPPDATA%\$ServiceName\config.json
|
||||
- Config is stored in: %LOCALAPPDATA%\$ServiceName\config.json
|
||||
|
||||
Options:
|
||||
--listen host:port Listen address (default: 127.0.0.1:8765)
|
||||
@@ -34,14 +34,6 @@ function Quote-Arg([string]$s) {
|
||||
return $s
|
||||
}
|
||||
|
||||
function New-Base64UrlToken([int]$numBytes = 32) {
|
||||
$bytes = New-Object byte[] $numBytes
|
||||
[System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($bytes)
|
||||
$b64 = [Convert]::ToBase64String($bytes)
|
||||
# Base64URL without padding
|
||||
return ($b64.TrimEnd('=') -replace '\+','-' -replace '/','_')
|
||||
}
|
||||
|
||||
function Stop-ExistingInstance([string]$exePath) {
|
||||
try {
|
||||
if (Get-Command Stop-ScheduledTask -ErrorAction SilentlyContinue) {
|
||||
@@ -106,37 +98,9 @@ $configPath = Join-Path $installDir "config.json"
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $installDir | Out-Null
|
||||
|
||||
# Load existing config if present (preserve TOKEN across updates).
|
||||
$existingToken = $null
|
||||
if (Test-Path -LiteralPath $configPath) {
|
||||
try {
|
||||
$cfg = Get-Content -LiteralPath $configPath -Raw | ConvertFrom-Json
|
||||
if ($cfg -and $cfg.Token) { $existingToken = [string]$cfg.Token }
|
||||
} catch {
|
||||
# ignore malformed config; will regenerate
|
||||
}
|
||||
}
|
||||
|
||||
$tokenSuggested = if ($existingToken) { "" } else { New-Base64UrlToken }
|
||||
Write-Host ""
|
||||
if ($existingToken) {
|
||||
Write-Host "A token is already configured. Press Enter to keep it, or paste a new one."
|
||||
} else {
|
||||
Write-Host "No token configured yet. Press Enter to use a generated token, or paste your own."
|
||||
}
|
||||
|
||||
$tokenInput = Read-Host -Prompt "Token" # not secure, but matches Linux behavior
|
||||
$tokenInput = ("" + $tokenInput).Trim()
|
||||
|
||||
$token = if ($tokenInput.Length -gt 0) { $tokenInput } elseif ($existingToken) { $existingToken } else { $tokenSuggested }
|
||||
if (-not $token -or $token.Trim().Length -eq 0) {
|
||||
throw "Failed to determine token"
|
||||
}
|
||||
|
||||
# Persist config.
|
||||
$config = [ordered]@{
|
||||
Listen = $Listen
|
||||
Token = $token
|
||||
Allow = @($Allow)
|
||||
}
|
||||
($config | ConvertTo-Json -Depth 4) | Set-Content -LiteralPath $configPath -Encoding UTF8
|
||||
@@ -156,7 +120,7 @@ try {
|
||||
}
|
||||
|
||||
# Build the argument string for the scheduled task.
|
||||
$argList = @('-listen', $Listen, '-token', $token)
|
||||
$argList = @('-listen', $Listen)
|
||||
foreach ($p in $Allow) {
|
||||
if ($p -and $p.Trim().Length -gt 0) {
|
||||
$argList += @('-allow', $p)
|
||||
@@ -188,7 +152,6 @@ Write-Host "Installed/updated $ServiceName (Scheduled Task)."
|
||||
Write-Host "- Binary: $exePath"
|
||||
Write-Host "- Task: $TaskName"
|
||||
Write-Host "- Config: $configPath"
|
||||
Write-Host "Token (set this in the plugin config): $token"
|
||||
Write-Host ""
|
||||
Write-Host "To view task status: schtasks /Query /TN $TaskName /V"
|
||||
Write-Host "To run it manually: schtasks /Run /TN $TaskName"
|
||||
|
||||
Reference in New Issue
Block a user