42 lines
1.1 KiB
PowerShell
42 lines
1.1 KiB
PowerShell
# clip2snips.ps1
|
|
|
|
# Setze Output-Encoding auf UTF-8
|
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
|
|
# Hole Text aus der Zwischenablage
|
|
$clipText = Get-Clipboard
|
|
if ([string]::IsNullOrWhiteSpace($clipText)) {
|
|
Write-Host "die zwischenablage ist leer"
|
|
exit 1
|
|
}
|
|
|
|
# Entferne Zeilenumbrüche am Ende
|
|
$clipText = $clipText.TrimEnd()
|
|
|
|
# Sende Text an snips.sh und hole die Antwort
|
|
try {
|
|
# Verwende -rawOutput um Encoding-Probleme zu vermeiden
|
|
$output = $clipText | ssh -T snips.sh 2>&1 | Out-String
|
|
# Write-Host "Debug - SSH Antwort:"
|
|
#Write-Host $output
|
|
} catch {
|
|
Write-Host "fehler beim senden an snips.sh: $_"
|
|
exit 1
|
|
}
|
|
|
|
# Extrahiere die URL mit verbessertem Regex
|
|
if ($output -match 'f:([_a-zA-Z0-9]+)@snips\.sh') {
|
|
$id = $matches[1]
|
|
$url = "https://snips.sh/f/$id"
|
|
|
|
# Kopiere URL in die Zwischenablage
|
|
$url | Set-Clipboard
|
|
|
|
# Gib URL aus
|
|
Write-Host $url
|
|
} else {
|
|
Write-Host "keine url in der antwort gefunden"
|
|
Write-Host "Debug - Antwort enthält keine URL im Format: ssh f:ID@snips.sh"
|
|
exit 1
|
|
} |