quicssh icon indicating copy to clipboard operation
quicssh copied to clipboard

Updating deps, adding more options, updating readme, fixing bugs and …

Open michurin opened this issue 11 months ago • 1 comments

Hi!

I'm not sure this project is supported, and I didn't check other pull requests. However, I would like to share this update.

Changes:

  • dependencies are updated
  • added opetions:
    • for server: --sshdaddr (in case sshd is running on nonstandard port or on other host)
    • for client: --localaddr (it gives an ability to specify source UDP port, it is useful in case you use net punching over firewalls and NATs)
    • global: --version
  • transport
    • added keep alive and timeout
  • fixed bug with potentially incomplete copping of buffers (use io.Copy)
  • readme updated
  • updates has to fix issue #142 and #90
  • keepalives has to fix #54 and #5

I would like to keep playing with this bunch of code. Improve error handling, write tests... Would you vote for this?

upd

  • added one golden flow integration test
  • added CI github actions (looks like this) for
    • build on different versions of Go
    • linting (config tuned)
    • testing

upd2

I enriched logging and error. You can see changes here https://github.com/michurin/quicssh/pull/2. However, it looks like subject of next poll request.

upd3

Dependencies has to be updated again :-) https://github.com/michurin/quicssh/pull/5

upd4

One more nice to be stolen thing https://github.com/michurin/quicssh/pull/7. Prevention of 100% CPU consumption on server side in case of some errors: context canceled, port already occupied, lack of process permissions...

upd5

Migrate github.com/urfave/cli/v2 -> v3, according suggestion https://github.com/moul/quicssh/pull/179 — https://github.com/michurin/quicssh/pull/10

upd6

By the way, it could be nice to use session context in session handler — https://github.com/michurin/quicssh/pull/11/files#diff-366e46a40f6f60b4f7614eb0976bb51820364bf5ca6ccc4787eb49d7bdbef3e6R69

upd7

Added --idletimeout option. Useful for coupling quicssh with netpunching. Also added behavioral test. https://github.com/michurin/quicssh/pull/8

michurin avatar Mar 16 '25 05:03 michurin