Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this project dead? Search for alternatives #527

Open
lars18th opened this issue Feb 15, 2024 · 14 comments
Open

Is this project dead? Search for alternatives #527

lars18th opened this issue Feb 15, 2024 · 14 comments

Comments

@lars18th
Copy link
Contributor

lars18th commented Feb 15, 2024

Hi,

First of all I want to give my congratulations to @cyd01 for the great effort made during several years to maintain this PuTTY fork. Without a doubt this is the best fork out there of our favorite SSH client.

However, it seems clear that the project is slipping. So we have to explore other options. For example, some time ago I proposed to change the way of providing the "changes" to PuTTY. My idea is to propose a "PATCH MODEL", like for example is doing this project with the portable mode: https://jakub.kotrla.net/putty/

So I propose to create a repository of patches for individual functions extracted from KiTTY to port them to the latest versions of PuTTY.

What you think?

Note: At time I recommend this alternative https://github.com/lalbornoz/PuTTie

@lars18th lars18th changed the title IS this project dead? Is this project dead? Feb 15, 2024
@yndx-melkov
Copy link
Contributor

yndx-melkov commented Feb 15, 2024

Kitty is not exactly dead, I think @cyd01 appears here every 2 or 3 months. Seriously until Putty would incorporate reconnect and a couple of other key features, Kitty is still irreplaceable. Let us prepare some patches while the project owner is out.

Maintaining multiple patches in independent places seems more difficult than in one place here on github. It would require more work for the public and more work for IT security engineers.

Putty code base has changed too much these years, so replanting all the features at once would be discouraging. I believe that we just need two branches of Kitty, one based on Putty 0.76 with all the features + key security patches, and one based on the newest Putty 0.80, with key features only.

@lars18th
Copy link
Contributor Author

Hi @yndx-melkov ,

Yes. The PuTTY code has changed a lot. And for this reason the strategy of "one extended feature --> one patch" is reasonable. Without that, it's impossible to continue maintaining KiTTY.

No. My suggestion is not to create a lot of different and independent places with multiple patches. My suggestion is to maintain a "fork" of KiTTY (not really a fork!), that consists of a series of different patches, and a compile tool to generate a binary from the stock PuTTY source. With this, when a new version of PuTTY will come we only need to update each patch independently (or remove patchs not required, or not use some not available, etc.).

And finally, I feel @cyd01 has ended supporting KiTTY.

@yndx-melkov
Copy link
Contributor

Well I believe that the git repository is the storage for the patches. It might be nice to reassemble them by-feature, but the amount of work is the same or greater than that of porting Kitty as is on top of Putty 0.80.

@lars18th
Copy link
Contributor Author

Hi @yndx-melkov ,

This git repository is the "master" for KiTTY. But at time KiTTY is not a group of patches but instead a one-full-rewrite-of-PuTTY. That's the problem: at every new iteration (aka release) of PuTTY, the author requires to start-from-zero. And this is a huge effort. So my idea is to spplit/extract some (useful) functionalites from KiTTY in indidivual patches. And use them to apply "multi-patches" to the last version of PuTTY. For sure, for each new version of PuTTY every patch will require to be updated/rewrited. But this will be more easy in small parts. And will offer the option of generate almost a version with some of them until the rest will be ported. Remember the ZMODEM support. At the end it was removed at some point. We can't continue maintaining the full PuTTY. Only small enhancements, like:

  • Portable support.
  • UI Window refactoring.
  • Font support.
  • Folders for connections.
  • Configurable proxy.
  • Shortcuts.
  • WinSCP integration.
  • etc, etc, etc.

We need developers and reorganize the source code and the changes.

@yndx-melkov
Copy link
Contributor

Hi! I'm not arguing about the state Kitty currently is. I only want to say that Kitty can be represented as a series of commits on top of a specific Putty version. Each of these commit could add a feature and be equivalent to a patch in your model.

Git-style rebase or cherry-picking of these commits on top of a newer Putty version would be equivalent to applying patches in your model.

What I'm concerned about is that splitting Kitty code into this set of patches is even more time-consuming than rebasing the Kitty code base on top of the newer Putty as a bulk.

@lars18th
Copy link
Contributor Author

Hi @yndx-melkov ,

Sorry, but from your comments I can inference that:

  • You don't know the development of KiTTY.
  • You don't have revised the source code of KiTTY.
  • You don't understand how @cyd01 creates each version of KiTTY.

Please don't think that I'm considering myself superior to you. That's not true in any case. I'm not the developer of KiTTY, and I don't know much of the source code (only minimal questions). But years ago I started to help with some comments, and I see the huge effort to migrate all the changes from one version to another. Please believe me: the current code is monolithic. And if we want to continue with this good fork it is necessary to change the methodology.

If you, or anyone else would like to further develop KiTTY, then please contact @cyd01.
Regards.

@opbod
Copy link

opbod commented May 4, 2024

Seriously until Putty would incorporate reconnect and a couple of other key features, Kitty is still irreplaceable.

The feature got implemented in PuTTie meanwhile. I'm sold and am moving over over given the critical PuTTY/KiTTY vulnerability is still not fixed.
Thanks KiTTY devs for the work over the past years!

@lars18th
Copy link
Contributor Author

lars18th commented May 5, 2024

Thank you @opbod .
PuTTie (https://github.com/lalbornoz/PuTTie) seems a promissing fork that could substitute the venerable KiTTY.

@lars18th lars18th changed the title Is this project dead? Is this project dead? Search for replacement May 8, 2024
@lars18th lars18th changed the title Is this project dead? Search for replacement Is this project dead? Search for alternatives May 8, 2024
@dsl101
Copy link

dsl101 commented May 15, 2024

Thanks for the pointers to PuTTie. Has anyone looked at converting KiTTy session files to PuTTie format? They look quite different sadly...

@lars18th
Copy link
Contributor Author

Thanks for the pointers to PuTTie. Has anyone looked at converting KiTTy session files to PuTTie format? They look quite different sadly...

Yes, PuTTie is a good replacement. However, until now the options supported are very different. I feel you will need to export/import all of your sessions, and after edit them with the new options. Using the registry you can import from KiTTY as regular PuTTY sessions, and them export from it using PuTTie. I feel you can do that, right?

@dsl101
Copy link

dsl101 commented May 15, 2024

I currently have KiTTy portable set up so the data is in a sessions folder. They are text files, but not using the same syntax as PuTTie. I guess I could write some kind of hideous regex to convert them, but it would be prone to errors, and, for example, the KiTTy session file has 309 entries, whereas a PuTTie 'simple' test session I created has only 264. So mapping from one to the other is likely quite a challenge.

I'm not 100% sure what you meant by the export / import method...

@lars18th
Copy link
Contributor Author

I'm not 100% sure what you meant by the export / import method...

You can import KiTTY sessions from disk to the REGISTRY as regular PuTTY sessions (discarding all extensions). And then using PuTTie you can export from the REGISTRY to disk.

@dsl101
Copy link

dsl101 commented May 15, 2024

I've not seen that option to go from disk to Registry in KiTTy, but maybe because I'm using the portable version?

@lars18th
Copy link
Contributor Author

Hi @dsl101 ,

You're right, only the EXPORT functionality is supported (using -convert-dir ): https://www.9bis.net/kitty/index.html#!pages/Portability.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants