PushbulletSharp 3.0!
PushbulletSharp version 3 is packed with tons of updates! Full support for End-to-End Encryption, Ephemerals, Chats, and the Event Stream.
End-to-End Encryption is baked into the PushbulletSharp Client. To get encryption support there is a new PushbulletClient constructor that has an additional field for the encryption password. This will be the password you put on your devices (as outlined in Pushbullet’s API documentation this password must be the same on all devices). The new constructor will automatically generate the PBKDF2 key using HMAC-SHA256. There is a static EncryptionUtility class that you can leverage if you’d like, but it is not necessary (you can just use the client and go). Sending encrypted Ephemerals can be done by using the PushEphemeral method. It has an optional boolean parameter called “encrypt.” Setting that to true will automatically encrypt your ephemeral for you as outlined by Pushbullet’s API documentation. It’s automatic; the client takes care of the encryption.
Ephemerals are finally supported. If you look at the github repo there are example unit tests that show how to use them in your application. https://github.com/adamyeager/PushbulletSharp/blob/3.0.0/PushbulletSharp.Tests/EphemeralTests.cs
Chats are also supported. Example unit tests are posted on github. https://github.com/adamyeager/PushbulletSharp/blob/3.0.0/PushbulletSharp.Tests/ChatsTests.cs
And finally I’ve built an example console application showing how to connect to Pushbullet’s Event Stream. What you choose to do in your application with the pushes and tickles is up to you. I utilized websocket-sharp on nuget.
Thank you to the users who have been opening issues on github. It’s very helpful and pushes me to update this project.