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

Major changes: Library format, -R support, etc #40

Open
wants to merge 21 commits into
base: main
Choose a base branch
from

Conversation

LuKks
Copy link
Contributor

@LuKks LuKks commented Oct 18, 2024

Some of the changes are:

  • Can be imported as a library just like HyperDHT, Hyperswarm, etcetera
  • There were 4 classes related to transfering files, now it's a single unified class
  • There were 2 classes for tunnels and lacking -R support, now it's a unified class that supports both -L and -R
  • Appropriate protocol messages
  • Documentation is a bit clearer like less obvious texts
  • Single binary with subcommands e.g. login (based on the original feedback)
  • Changed the default key filename from peer to id
  • Server has a different default key filename that is id_server
  • Custom DHT nodes by using --bootstrap for testing
  • One time invites (based on the original feedback)

Some parts of the internals that are not great but compensated with more tests:

  • The tunnel.local() and tunnel.remote() methods are somewhat messy
  • Strange pattern in the copy.upload() and copy.download() about re-creating an instance of self
  • Can't cancel an upload or download for now
  • Slightly confusing the Tunnel allow but works

It should be easy to make it compatible with Bare

Maybe the protocols (Shell, Copy, and Tunnel) should be on separated repositories in some modular way so it's simpler to reason about

Will be adding a few more tests later

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

Successfully merging this pull request may close these issues.

1 participant