JodelNet is an inofficial interface to the private Jodel App API. Not affiliated with The Jodel Venture GmbH.
This repository was created for educational purposes only.
Create a new JodelUser object
Location location = Location.GetFromString("Berlin", "GOOGLEMAPS_APIKEY");
JodelUser jodelUser = new JodelUser(location); //Creates a fresh account object with a given location
Alternatives:
JodelUser jodelUser = new JodelUser(location, "deviceUiD");
JodelUser jodelUser = new JodelUser(location, "deviceUiD", "accessToken", "refreshToken", "distinctId"); //'load' an existing account
Create the account.
await jodelUser.CreateAccountAsync();
To perform all actions (like voting and posting/creating new content), you need to verify your account using Google Cloud Messaging (GCM) or Firebase
await AndroidVerification.VerifyAccountAsync(jodelUser);
//It seems like trying to verify with a fresh/unused ip address works better than a "used" one
await InstanceIdVerification.VerifyAccountAsync(jodelUser);
//uses new Firebase(?) method from the Jodel app, not sure if it is intended to verify accounts
//Authentication
CreateAccountAsync()
RefreshAccessTokenAsync();
//Verification
PushTokenAsync();
VerifyPushTokenAsync();
VerifyInstanceIdAsync();
//Get posts by location
GetPostsRecentAsync();
GetPostsPopularAsync();
GetPostsDiscussedAsync();
GetPostsComboAsync();
//Get posts by channel
GetPostsChannelRecentAsync();
GetPostsChannelPopularAsync();
GetPostsChannelDiscussedAsync();
GetPostsChannelComboAsync();
//Get posts by hashtag
GetPostsHashtagRecentAsync();
GetPostsHashtagPopularAsync();
GetPostsHashtagDiscussedAsync();
GetPostsHashtagComboAsync();
//Get own posts
GetPostsOwnAsync();
GetPostsOwnPopularAsync();
GetPostsOwnDiscussedAsync();
GetPostsOwnComboAsync();
GetPostsPinnedAsync();
GetPostsRepliedAsync();
GetPostsVotedAsync()
//User interaction
SetLocationAsync();
SetHomeTownAsync();
DeleteUserHomeAsync();
GetUserConfigAsync();
GetUserStatsAsync();
//Post interaction
CreatePostAsync(); //verified account needed
DeletePostAsync(); //verified account needed
UpvotePostAsync(); //verified account needed
DownvotePostAsync(); //verified account needed
GiveThanksAsync(); //verified account needed
GetPostDetailsAsync();
GetSharePostUrlAsync();
PinPostAsync();
UnpinPostAsync();
//Channel interaction
GetRecommendedChannelsAsync();
FollowChannelAsync();
FollowChannelsAsync();
#Referrer
GetUserInviteCode();
PostInviteComplete();
Jodel signs every request using a HMAC hash. The secret changes every time they update the android app and you need to decrypt the new one from a native x86 library. Take a look at JodelUpdate to retrieve the new HMAC secret.
- Add all methods from Jodel
- Code cleanup
Thanks to
- nborrmann (jodel_api)
- ioncodes (JodelAPI)
- cfib90 (ojoc-keyhack)
for developing their awesome projects which helped me a lot understanding how Jodel works.
MIT