Commit Graph
16 Commits
Author SHA1 Message Date
ergosteurandGitHub 89ec41a0cd Merge pull request #1 from ergosteur/claude/optimistic-davinci-2i411w
Rewrite SSH handler from C# to Rust for minimal footprint
2026-09-08 13:34:12 -04:00
Claude 7daf668a11 Sanitize CI tag/ref before using it in file paths
github.ref_name for a workflow_dispatch run on a branch is the branch
name verbatim (e.g. claude/optimistic-davinci-2i411w), and PowerShell
treated the "/" as a path separator in Move-Item's destination,
failing with "Could not find a part of the path." Tag pushes (v0.2.0)
don't normally hit this, but sanitize unconditionally so manual runs
on any branch work too.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYCT2RpUjFfBfp6CD4rREw
v0.2.0
2026-09-08 17:22:40 +00:00
Claude 905487ce82 Replace .NET WinForms handler with the Rust build in CI; drop SshHandler
Remove the .NET/WinForms project (SshHandler/, SshHandler.sln) now that
the Rust rewrite (SshHandlerRs/) covers the same behavior with a
~250KB binary and no CLR startup cost, and its Default-Apps-style
registration is confirmed working.

Rewire the release workflow to build ssh-handler.exe natively on
windows-latest with the MSVC toolchain instead of dotnet publish, and
package it alongside the .bat and .sh handlers as release assets
(ssh-handler-rs-*.exe, openssh_protocol_handler-*.bat,
ssh-handler-*.sh) when a v* tag is pushed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYCT2RpUjFfBfp6CD4rREw
2026-09-08 17:16:38 +00:00
Claude 1bd676d2fe Rebase Rust handler's protocol registration on the .bat's Default Apps model
The direct HKCR\ssh\shell\open\command write (what SshHandler and the
initial Rust port both did) doesn't actually get honored once a
UserChoice already exists for the ssh scheme, which is the normal
state on Windows 10/11 — so registration silently no-ops from the
user's perspective.

Switch to the same "Default Programs" capability registration
openssh_protocol_handler.bat uses: a dedicated ProgID with
Capabilities\UrlAssociations plus a HKLM\SOFTWARE\RegisteredApplications
entry, so the app actually shows up in and can be selected from
Settings > Apps > Default Apps > "Choose default apps by link type".
Uses its own identifier, ssh_handler_rs, distinct from the batch
script's ssh_custom_handler so the two don't collide.

Verified end-to-end under Wine: registry keys land exactly as
expected (checked via `wine reg query`), and both the setup and
connect dialogs still render correctly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYCT2RpUjFfBfp6CD4rREw
2026-09-08 16:48:31 +00:00
Claude a671325a34 Add Rust prototype of the ssh:// protocol handler
Raw Win32 rewrite (windows-rs + a native dialog resource, no GUI
framework) of SshHandler, aimed at eliminating .NET's ~150MB
self-contained payload and CLR startup cost for what's just a
click-triggered dialog + process launch. Release build cross-compiles
to a ~250KB binary. Same behavior as the WinForms version: registry
setup mode, target parsing/editing dialog, legacy-algorithm option,
launches ssh.exe via ShellExecuteW.

Verified functionally under Wine (registry-setup prompt and the
connect dialog both render and round-trip correctly); real Windows
cold-start numbers still need to be gathered on actual hardware.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYCT2RpUjFfBfp6CD4rREw
2026-09-08 16:20:44 +00:00
ergosteurandGitHub eab8873c14 Refactor GitHub Actions build workflow
Reorganize build steps for .NET project and add cleaning step.
v0.1.2
2026-03-16 13:01:47 -04:00
ergosteurandGitHub 1ead5e6d25 Configure Git line endings and enhance script checks
Added a step to configure Git line endings and improved the shell script to check for file existence before processing.
2026-03-16 12:54:47 -04:00
ergosteurandGitHub f1b35deb4e Update GitHub Actions workflow for .NET builds
add both stanadalone and .net builds, versioned filenames
2026-03-16 12:52:11 -04:00
ergosteurandGitHub 478328896c Update GitHub Actions workflow for build and release
add shell script and batch file to release artifacts
2026-03-16 12:47:44 -04:00
ergosteurandGitHub cf7ead5f56 Modify build workflow for tagging and release
Updated workflow to trigger on version tags and added permissions for release creation.
v0.1.1
2026-03-16 12:38:53 -04:00
ergosteurandGitHub 4a7c5330a9 Add Linux version of SSH link protocol handler script
This script handles SSH links, allowing installation, uninstallation, and debugging of the SSH protocol handler on Linux systems. It includes user notifications and checks for proper configuration.
2025-11-19 02:26:37 -05:00
ergosteurandGitHub 17c6eefddf Add AES-256-CBC cipher option for legacy mode 2025-11-19 02:25:27 -05:00
ergosteur 652aee80e1 build action 2025-09-10 13:43:15 -04:00
ergosteur 269c50bdad vs project add 2025-09-10 13:41:37 -04:00
ergosteurandGitHub e528fcbf8c Create openssh_protocol_handler.bat 2025-09-10 13:24:14 -04:00
ergosteurandGitHub 933da8fb59 Initial commit 2025-09-10 13:23:31 -04:00