Skip to content

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

Open
LuKks wants to merge 23 commits intoholepunchto:mainfrom
LuKks:hs
Open

Major changes: Library format, -R support, etc#40
LuKks wants to merge 23 commits intoholepunchto:mainfrom
LuKks:hs

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