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

A kermit is a kermit is a kermit is a kermit #19

Open
hackerb9 opened this issue Aug 26, 2021 · 3 comments
Open

A kermit is a kermit is a kermit is a kermit #19

hackerb9 opened this issue Aug 26, 2021 · 3 comments
Labels
idea Brainstorming

Comments

@hackerb9
Copy link

I was looking around to see if the source code for Kermit, the famous terminal emulator & file transfer protocol of the 1980s and 1990s, was available on github. While I am happy that the Kermit name lives on in this project, it would be nice if this new Kermit made a nod to the old.

For example, it would be cool if it could handle file transfers, which was the primary use of Kermit. For example, if a person using your terminal program sshes from machine to machine and then realizes there's a file they want to send from that remote server to their local computer, they could just run:

$ kermit -s foo

and, hey presto, via the magic of Kermit, foo is now on their computer. (The kermit command in this example is available on most Unix systems when you install the ckermit package).

What do you think?

@orhun
Copy link
Owner

orhun commented Oct 2, 2021

Hello! Sorry for the late reply. It seems like this is project is pretty low on my priority list although I use it on a daily basis 😄

it would be nice if this new Kermit made a nod to the old.

I totally agree 🐸

For example, it would be cool if it could handle file transfers, which was the primary use of Kermit. For example, if a person using your terminal program sshes from machine to machine and then realizes there's a file they want to send from that remote server to their local computer, they could just run:

$ kermit -s foo

and, hey presto, via the magic of Kermit, foo is now on their computer. (The kermit command in this example is available on most Unix systems when you install the ckermit package).

What do you think?

It sounds like a good use-case for kermit. However, I should probably look into the actual kermit and its implementation details before doing something like this. Also for this specific example, the user also needs to install kermit on the remote server which might need a bunch of heavy packages like gtk3 and such. Maybe this can be solved with a lightweight binary that just runs as a "middle man" and handles the transfers?

@orhun orhun added the idea Brainstorming label Oct 2, 2021
@hackerb9
Copy link
Author

hackerb9 commented Oct 7, 2021

Good point about the having to install something on the remote server. It turns out you can use the original Kermit as exactly the lightweight binary that you are looking for that handles the transfers and nothing else. On my system, Debian GNU/Linux 11, I did this:

$ sudo apt install gkermit
$ ls -l /usr/bin/gkermit
-rwxr-xr-x 1 root root 40856 Dec 18  2016 /usr/bin/gkermit

Yes, you read the right: the binary is 40 kilobytes. The only dependency, if you can call it that, is on the standard C library.

The Kermit Project updated gkermit recently to version 2.00 so it compiles cleanly on any modern UNIX system.

To add the Kermit protocol to your Kermit, the Kermit Project offers embedable C code that provides two functions, one for sending and one for receiving.

@orhun
Copy link
Owner

orhun commented Jan 1, 2022

Surely an interesting idea! I will probably look into it in more detail when I have more time to work on this project.

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

No branches or pull requests

2 participants