schlagmichdoch / PairDrop

PairDrop: Transfer Files Cross-Platform. No Setup, No Signup.
https://pairdrop.net
GNU General Public License v3.0
4.68k stars 261 forks source link

[Enhancement] Stable API #321

Open Doomsdayrs opened 3 months ago

Doomsdayrs commented 3 months ago

What problem is solved by the new feature

Currently, the only clients that exist just use the web version of PairDrop.

Describe the feature

A description of the PairDrop communication API. Which would allow third party developers to implement their own clients.

Additional context

I was making an Android native application, but found that the API was too tedious to go through reverse engineering.

Would help: #292, #317

schlagmichdoch commented 2 months ago

Sorry for the late reply! I'm quite short on time right now.

Elaborating the APIs and protocols used by PairDrop clients and the server is a very good idea. It would enable DEVs to implement their own clients and would make it possible to critically examine the current implementations.

I'm still busy implementing some important new features and tidying up the code base (See #267). The APIs will still change so this will not make sense until afterwords.

Taking a look at the current roadmap, I believe the APIs should become stable with version v2.2 which would be a good time to create a API overview and start developing other clients.

Afterwords, clients should also check if they are compatible with the protocol versions running on the server and on connecting clients. I'm open to ideas or examples on how to do this.