{"id":15646164,"url":"https://github.com/jidicula/pretinder","last_synced_at":"2025-04-30T11:55:05.778Z","repository":{"id":96539034,"uuid":"196917673","full_name":"jidicula/pretinder","owner":"jidicula","description":"Proof of concept for a Tinder API vulnerability.","archived":false,"fork":false,"pushed_at":"2019-12-01T03:36:17.000Z","size":111,"stargazers_count":49,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T15:51:15.764Z","etag":null,"topics":["automation","json-api","opencv","opencv-python","python","tinder"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jidicula.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-15T03:31:30.000Z","updated_at":"2024-06-02T17:08:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"367b200f-af33-422b-a63e-a0ecab359d3a","html_url":"https://github.com/jidicula/pretinder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jidicula%2Fpretinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jidicula%2Fpretinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jidicula%2Fpretinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jidicula%2Fpretinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jidicula","download_url":"https://codeload.github.com/jidicula/pretinder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251694338,"owners_count":21628829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","json-api","opencv","opencv-python","python","tinder"],"created_at":"2024-10-03T12:11:40.085Z","updated_at":"2025-04-30T11:55:05.733Z","avatar_url":"https://github.com/jidicula.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pretinder\n\nThis is a little script that automates Tinder swiping to match with profiles that liked you. It follows details laid out in Sanskar Jethi's [Medium post](https://medium.com/@sansyrox/hacking-tinders-premium-model-43f9f699d44) about a Tinder API vulnerability.\n\n# Requirements\n\nThis has been tested only in Python 3.7.3. It might work with previous or later version of Python, but I haven't tested them.\n\n# What Pretinder does\n\nPretinder finds all the pics from the profiles in your \"Likes\" deck that appears blurred to non-Premium users. It then cycles through your recommendations deck, comparing each picture via the cross-correlation template match function from OpenCV to each \"Who liked you\" picture. If there's an image match, Pretinder swipes right. If none of the pictures in the profile matches, Pretinder swipes left. Pretinder also accepts an argument to set the proportion of random right swipes on profiles. Finally, a `right_swipe_limit` is randomly set ranging between 20 to 30 to prevent you from maxing out your right swipes.\n\n# Installation\n\n1. Clone this repo.\n2. Install Python 3.7.3.\n3. Create a virtual environment in the directory with `virtualenv name_of_your_venv`.\n3. Activate the virtualenv with `source name_of_your_venv/bin/activate`.\n4. Install dependencies with `pip install -r req.txt`.\n5. Find your Tinder X-Auth-Token using the instructions in Sanskar Jethi's [Medium post](https://medium.com/@sansyrox/hacking-tinders-premium-model-43f9f699d44). Generally, you'll have to:\n   1. Open Tinder in a browser.\n   2. Open the Web Console.\n   3. Swipe right on the first profile.\n   4. Check the Web Console for an XHR GET request to a URL beginning with `https://api.gotinder.com/like/` followed by a string of random characters.\n   5. Expand the request in the window and look for the request header titled \"X-Auth-Token\". Copy this to your clipboard.\n6. Run the software with `python Main.py \"X-Auth-Token_here\" \"random_right\"`, where `random_right` is the proportion of random right swipes you want. If no argument is given to `random_right`, it defaults to 0.2, or 20%. Alternatively, edit and run `demo_run.sh` following the instructions inside.\n\n# Troubleshooting\n\nYou might come across an error looking something like:\n\n```Traceback (most recent call last):\n  File \"Main.py\", line 145, in \u003cmodule\u003e\n    unblurred_img = unblur_image(headers)\n  File \"Main.py\", line 36, in unblur_image\n    assert response.status_code == 200, \"GET failed, check auth_token\"\nAssertionError: GET failed, check auth_token\n```\n\nThis means your X-Auth-Token has expired and you'll need to fetch a new one (see Step 5 of Installation above).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjidicula%2Fpretinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjidicula%2Fpretinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjidicula%2Fpretinder/lists"}