tajnymag / tinder-deblur

Simple script using the official Tinder API to get clean photos of the users who liked you
MIT License
294 stars 29 forks source link

I keep seing likes that I already matched (or unmatched) #48

Open AntonStoeckl opened 1 year ago

AntonStoeckl commented 1 year ago

Hey there again!

I am aware this might just be what the Tinder API returns, it just does not make a lot of sense. From the 10 likes I see:

I still have 25 open likes, sometimes a new one is shown when I match someone, but mostly it stays stable.

Any idea if that might be some caching issue (I have cleaned caches multiple times) of why the Tinder API might behave like that?

I get the same on Firefox and Chromium (on Linux).

If you are sure that this is really just the Tinder API please feel free to close this for sure!

Best regards

Edit: I compared the blurred images on the mobile phone, they are the same, so no caching issue in the script. Seems another case how Tinder is artificially blowing up the number of likes to get people to subscribe.

AntonStoeckl commented 1 year ago

The one thing that works to remove them from the API response is to block them instead of just unmatching. Found out too late, sadly. I guess there is no known API parameter that only returns open Likes?

AntonStoeckl commented 1 year ago

I did a quick hack against the web API (v2) which I call instead of "pass":

async function block(userItem) { const response = await fetch(https://api.gotinder.com/v2/block/profile/direct?locale=de, { headers: { 'X-Auth-Token': localStorage.getItem('TinderWeb/APIToken') ?? '', platform: 'web', 'Content-Type': 'application/json', }, method: 'PUT', body: JSON.stringify( userItem.userId ? { other_user_id: userItem.userId, } : { other_user_id: 0, } ), }); }

This works fine for me. The weird thing is that Tinder tells me I have still 23 likes, but only 6 in the list. But again, they'll do anything to make ppl. buy subscriptions.

Edit: Sorry for formatting, don't know how to escape the quotes here.

dreamunlim commented 1 year ago

@tajnymag Based upon the above, the suggestion for the v5.1:

The points to take into account will be:

Here is the @AntonStoeckl function cleaned up and tested from the console, ready to be dropped into the script:

async function block(userItem) {
    const response = await fetch(`https://api.gotinder.com/v2/block/profile/direct?locale=en`, {
        headers: {
            'X-Auth-Token': localStorage.getItem('TinderWeb/APIToken') ?? '',
            platform: 'web',
            'Content-Type': 'application/json'
        },
        method: 'PUT',
        body: JSON.stringify(userItem.userId ? { other_user_id: userItem.userId } : { other_user_id: 0 })
    });
}
AntonStoeckl commented 1 year ago

Another comment from my side. As my like count is still completely messed up (says 24, I see 3) I have the very strong impression that this might be because the "like" targets the "old" Android API. I can only assume that this API is not doing everything in Tinder's system properly. So I'd suggest to also use the V2 "web" API for likes, as I did it with the blocking. Should not be hard to get the proper parameters in the dev console. This is "assumption driven" for sure!

tajnymag commented 10 months ago

⚠️UPDATE⚠️

The project started as a simple wrapper around a javascript function posted on Reddit. I gained way more traction than I anticipated and I couldn't keep up as well and fast as I should have. What didn't help, was Tinder patching the exploited bug and later changing both API and frontend's identifiers. With me not on Tinder anymore, I am not able to test possible changes and/or find new exploits.

I am accepting any PRs I get and will do so until the project is archived. If you, the reader, are willing to take over the project, please, let me know.

If something isn't working, sometimes there's newer version available on the develop branch. To try it, click this link. Once there's a newer stable version, your userscript extension should update you automatically to it.