-
Notifications
You must be signed in to change notification settings - Fork 109
Windows support #286
base: master
Are you sure you want to change the base?
Windows support #286
Conversation
just downloaded and installed and some things of note:
So, happy days so far! |
It only worked for me when manually running krd.exe in a seperate terminal. Otherwise it would say |
Hi @Bodup Did you place all three files in the same folder? |
Ideally this would be a windows try app, with all functions exposed over context menu and the QR code displayed in a gui window.... |
|
@zobo just migrated kr to go modules, could you PR your changes against current master? |
@zobo Ah, so apparently the first issue (krd isn't running when trying to run kr pair) is caused by the folder name containing a space (e.g "New Folder") Either you can run krd manually in a separate window or rename the folder to something that doesn't contain any spaces like "kr". Even with the folder renamed however, git doesn't work. It gives the following error:
Again it seems to be caused by an incorrect path. |
@Bodup Great, I can see the issue are backslashes... Will work on that, thanks! |
Rebased to latest code. It's much more organized and after settling all conflicts easier to work with. Nice! |
Changed how krd.exe is started to also handle paths with white space. |
@agrinman do you need anything else to merge this? It seems to work quite well here... |
Sorry for the delay, I will find time soon to review and test. One thing you could help with is updating the build script, and adding the windows build matrix to the GitHub workflow [if this is something you have access to]? Also what steps are required for a single-command installation step? Also, please take a look at our contributor policy |
I’ll look at what can be done with build scripts and read up a bit on workflows. For the oneliner, maybe a powershell download and extract combo. Regarding contribution policy. It states that “each commit” contain the text. Do you need me to squash the branch and change all commit messages? Or can I just add it to a recent commit? Or simply to this PR comment thread? |
Thanks @zobo! I would imagine it would be as easy as adding windows-latest to the build matrix.
Sounds reasonable -- I'm not a Windows dev, so working off your experience.
I think it would be best to squash into one commit when we're ready to merge and add it there. |
Did small fixes in unix and darwin code so that it compiles again. And tried to add workflow for win building. This is a complete stab-in-the-dark since I am not in the Beta Actions program and can't test it... Regarding the single step installation. I was thinking about it, but to be honest, I think initially a link to a .zip would be just fine. "Extract to a folder of your liking, run 'kr pair'". The thing is, windows doesn't have a nice equivalent to /usr/local/bin and the proper way would be to create either an (MSI) installer or Windows Store application that would also take care of path, start menu etc... There are quite a few other aspects that would be interesting to develop, but I'd focus on getting a windows build out there for people to start using it, even if with a few clicks more than the unix counterparts. |
I just tried the binaries and for me it doesn't work. Pairing worked fine, but then when I try to SSH I get the following:
|
@PeterStaev Could you try it with ssh -vvvv ... to get some verbose output, also please look at the contents of your c:\users....ssh\config . The part that was added by kr. Is the ProxyCommand in any way strange? |
The config looks ok:
verbose log:
|
Hum.. Can you try to remove the quotes from ProxyCommand? |
Apparently the quotes were the issue. Will create another build. |
kr pair and other commands do not work since 49848cd commit.
any ideas if this will ever get into production? is krypton even still being worked on? since Akamai bought the company, nothing has been updated... ironically, even their website is running slow... |
I also haven't heard anything back... |
@zobo: sorry for the delay here. I think there are two more issues to work through: |
Hi @agrinman. I think I have access to github actions now and will look at it. I'll also see what makes most sense for install process. |
Fix to run krd.exe in background.
Hi @agrinman. I tested GH Actions and they seem to work as expected. I also had an open PR that fixed an issue and was merged into my branch. I went back and reviewed the code and would just like to point out that perhaps you should look at analytics_ua_windows.go and let me know how to change it. |
@zobo: just updated the ua_windows file, thanks. |
There might be a way to distribute via the Windows Store but I wouldn't count on it, plus it would segment availability as some people run Windows 7 or use Windows 10 without a Microsoft account. The most compatible way would be to use an installer framework like NSIS (with modern UI 2) to create an installer+uninstaller for Windows. |
Either Powershell or Chocolatey would be your best bet... If you look at the chocolatey install process (https://chocolatey.org/install) its a single one line script that you run and it does everything... something like that would probably be good... |
This doesn't require the user to do more than drop the 3 .exe files in any folder, although it would be nice if I'd go with a PowerShell install option, similar to Chocolatey, that would create a folder somewhere under users AppData (similar to Chrome) and add the path with Also, we'd need to look at |
Just heard about Anyone interested in taking a look what it would take to get |
https://github.com/microsoft/winget-pkgs Still requires an installer and uninstaller, it won't provide an easy way to place/remove |
Ported as much as possible to windows. Works still under the same principles and needs (OpenSSH_for_Windows_7.7p1). Uses ProxyCommand, moved ssh agent to windows pipe.
Compiled files here: https://github.com/zobo/kr/releases/tag/2.4.15-win
One big caveat is that the vendored code is quite old and the ssh agent has problems connecting to newer servers as it does not pass ssh flags with it.
I tried to go.mod the code but turned out to be a challenge due to some vendored packages not being available anymore.