Purge your likes and wall comments from VKontakte. Set yourself free from your digital footprint.

Overview

vk_liberator

Regain liberty in the cruel social media world.

This program assists you with purging your metadata from Russian social network VKontakte, owned by Mail.ru.

Руководство на русском языке

Motivation

I′ve heard a lot of news about random people getting into jail because, apparently, Russian department of defense called “ФСБ” (Federal Security Service) didn't like a meme with Jesus Christ on it posted by the person 10 years ago or an ironic wall post that mentioned Russian government in a not-so-positive way.

Of course, I wouldn′t want to meet the same fate. Not only that, but I′m also sure a lot of people are not the same people they were 10 years ago. Just remember those old stupid memes, the manner of speech most of Internet users had, the wildness of everyday life in the web. Internet of the past was a place for enthusiaists not having evil objectives, unlike today's megacorps wanting more money. The culture has already changed, and it's not getting better. Nowadays it′s no longer considered normal to post your honest opinion, to have fun, to be whoever you really are. HR at big companies are already taking interviewee′s Internet social past into account when considering hiring them! Your data is not longer yours anymore. Now you are the product. So why should I let it be like this?

That′s why I built this program. It makes the process of deleting your metadata from VKontakte easy and painless.

Usage

To use this program, you need to get an archive of your data from VK. You can start the export process on this page. Make sure you check Comments when choosing what data to export, or you won′t be able to delete them!. The process usually takes from 2 to 3 days, and the resulting archive only contains metadata, not the actual content, weighing 150 MB at max zipped.

As of now, the program supports the deletion of your likes (essentially, un-liking all posts you′ve ever pressed that heart icon on) and the deletion of your wall comments. Adding support for more object types is pretty trivial, so if you feel the need for more, you′re always welcome to submit a pull request!

Once you get the archive, follow the guide:

  1. Download Python interpreter from the official website, if not already. There are builds available for all major platforms. If you′re using Linux or macOS, chances are you already have it.
  2. Download the program. Grab the latest archive and unpack it somewhere you have enough place to store the archive.
  3. Create a folder in the same directory you′ve unpacked the program and call it, let′s say, "vk". Unpack the archive to the "vk" folder we′ve mentioned before. Make sure all files and directories (such as comments, likes, profile) are all in the aforementioned folder.
  4. Start up a command prompt in the program directory:
    • On Windows: open the folder → Shift+RMB → Open command window here;
    • On macOS: open Terminal.app → cd (trailing space intended) → drag the folder into the terminal window → press Enter
  5. Install the dependencies: pip3 install -r requirements.txt
  6. Run the program: python3 main.py YOUR_FOLDER_HERE --crawl-all, replacing YOUR_PROGRAM_HERE with the folder name you′ve unpacked the export to (in my case, it would′ve been vk).
  7. Now you need to get the access token. Go to this page. The access token never leaves your device and is only known to you and VKontakte. You can verify the authenticity by clicking on app′s name on the page. You should be redirected to the official VK API community.
  8. Click Allow (Разрешить), then copy a part of the URL between access_token= and &expires_in.
  9. Paste it into the terminal and press Enter. Review the statistics and confirm. The export process should begin shortly afterwards.

By default the program finds all items it can understand and runs the deletion process, prompting for a captcha in the terminal window. If you want to customize the behavior, read further.

Choosing what to delete

vk_liberator has a set of command-line switches for choosing the types of objects to delete:

  • --crawl-likes enables deleting of likes,
  • --crawl-comments enables deleting of comments.

There is another switch called --crawl-all, which enables all types mentioned before and makes the aforementioned flags toggle the corresponding types off, not on to allow exclusion.

There are many other command-line switches available. You can run the program with --help to learn more.

Unliking comments

The export archive from VKontakte contains pretty much all info about your liked posts, photos and videos. However, it doesn′t have anything about your liked comments, so you need to do some semi-manual work to retrieve a list of them.

The process roughly expands as follows:

  1. first, you delete your likes the usual way;

  2. after all likes were deleted, you go to vk.com → “Liked” newsfeed section;

  3. scroll all the way down (you can use PgDown or End keys);

  4. run this script:

    console.log(Array.from(document.querySelectorAll('.post_link:first-child')).map(el => el.href).join('\n'))
  5. create YOUR_EXPORT_DIR/likes/comments/ folder and copy the output to comments.html;

  6. move everything else out of YOUR_EXPORT_DIR/likes/ because it was already deleted;

  7. delete your resume file (resume.bin);

  8. and run the program again with the same arguments.

I might optimize this in the future to make it more user-friendly, because it′s a pain and requires knowing some internals, but right now it′s done like that.

Telegram integration

Sitting on your computer and solving the captchas all day can be pretty tedious, but you can make this process a little bit easier with Telegram integration. I′ve used this to solve captchas from my smartphone, and it was definitely easier than doing it on PC.

To enable it, you need to: 0. Register in Telegram, if you haven't already.

  1. Create a bot in BotFather. Type /newbot, then follow the instructions.
  2. Start the dialog with your bot. Open a link to your bot′s profile in BotFather′s message and press Start. This is required in order to receive messages!
  3. Don′t delete the message from BotFather with the bot token — we′ll need it later. Now, let′s get your profile ID. You can easily do this by messaging IDBot on Telegram, sending a /getid command and copying the ID you got back.
  4. Run the program again, but this time add --telegram-chat <your ID goes here> switch. Like this: python3 main.py YOUR_FOLDER_HERE --crawl-all --telegram-chat YOUR_ID.
  5. When the program asks you for a bot token, copy and paste it from your dialog with BotFather.

Voilà! Now you should be getting asked by the bot for captcha.

Anti-captcha.com integration

But this doesn′t really solve the actual problem — the captcha. VKontakte′s limits are pretty strict. You can get a captcha or two when deleting your comments, but rate limits for deleting likes are much stricter — you′re guaranteed to run into a captcha approximately every 50 requests, no matter the delay between requests.

That′s why you can pay with your money instead of your precious time. The program supports integration with Anti-captcha.com (ex-Antigate) to ease your torment. The prices are pretty cheap — I′ve paid $1 for 25K of my VK requests (divide that by 40 to get an approximate count of captcha requests).

  1. Register on anti-captcha.com, follow the instructions, get your API key.
  2. Run the program with --anticaptcha switch.
  3. Paste your API key when asked. Done!

Something doesn′t work?

If you have a question, you can open a new thread on Discussions tab. I′ll try to answer shortly.

If you′ve found a bug or you want to suggest a feature, check for duplicates in Issues tab and, if there′s none, create a new issue! Perhaps someone has run into the same problem as you before.

Planned features

  • Easy installation
  • Custom progress bar
  • More object types (wall posts, photos...)
  • Archiving

Contributions

I′m open to pull requests! Take a look at the list of planned features above.

You might also like...
UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

UdemyPy UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses. How does it work? For publishing

an opensourced roblox group finder writen in python 100% free and virus-free

Roblox-Group-Finder an opensourced roblox group finder writen in python 100% free and virus-free note : if you don't want install python or just use w

Gba-free-fonts - Free font resources for GBA game development
Gba-free-fonts - Free font resources for GBA game development

gba-free-fonts Free font resources for GBA game development This repo contains m

The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

 Audio2Face - a project that transforms audio to blendshape weights,and drives the digital human,xiaomei,in UE project
Audio2Face - a project that transforms audio to blendshape weights,and drives the digital human,xiaomei,in UE project

Audio2Face - a project that transforms audio to blendshape weights,and drives the digital human,xiaomei,in UE project

Mnemosyne: efficient learning with powerful digital flash-cards.

Mnemosyne: Optimized Flashcards and Research Project Mnemosyne is: a free, open-source, spaced-repetition flashcard program that helps you learn as ef

Reproduce digital electronics in Python

Pylectronics Reproduce digital electronics in Python Report Bug · Request Feature Table of Contents About The Project Getting Started Prerequisites In

Various hdas (Houdini Digital Assets)
Various hdas (Houdini Digital Assets)

aaTools My various assets for Houdini "ms_asset_loader" - Custom importer assets from Quixel Bridge "asset_placer" - Tool for placment sop geometry on

DSG - Source code for Digital Scholarship Grant project.

DSG Source code for Dr. Stephanie Tsang's Digital Scholarship Grant project. Work performed by Mr. Wang Minghao while as her Research Assistant. The s

Owner
null
Donatus Prince 6 Feb 25, 2022
Purge all transformation orientations addon for Blender 2.8 and newer versions

CTO Purge This add-on adds a new button to Blender's Transformation Orientation panel which empowers the user to purge all of his/her custom transform

MMMrqs 10 Dec 29, 2022
Stop ask your soraka to ult you, just ult yourself

Lollo's auto-ultimate script Are you tired of your low elo friend who can't ult you with soraka when you ask for it? Use Useless Support and just ult

null 9 Oct 20, 2022
Project Faros is a reference implimentation of Red Hat OpenShift 4 on small footprint, bare-metal clusters.

Project Faros Project Faros is a reference implimentation of Red Hat OpenShift 4 on small footprint, bare-metal clusters. The project includes referen

project: Faros 9 Jul 18, 2022
Type Persian without confusing words for yourself and others, in Adobe Connect

About In the Adobe Connect chat section, to type in Persian or Arabic, the written words will be confused and will be written and sent illegibly (This

Matin Najafi 23 Nov 26, 2021
A python tool that creates issues in your repos based on TODO comments in your code

Krypto A neat little sidekick python script to create issues on your repo based on comments left in the code on your behalf Convert todo comments in y

Alex Antoniou 4 Oct 26, 2021
TB Set color display - Add-on for Blender to set multiple objects and material Display Color at once.

TB_Set_color_display Add-on for Blender with operations to transfer name between object, data, materials and action names Set groups of object's or ma

null 1 Jun 1, 2022
Scraping comments from the political section of popular Nigerian blog (Nairaland), and saving in a CSV file.

Scraping_Nairaland This project scraped comments from the political section of popular Nigerian blog www.nairaland.com using the Python BeautifulSoup

Ansel Orhero 1 Nov 14, 2021
IDA Pro plugin that shows the comments in a database

ShowComments A Simple IDA Pro plugin that shows the comments in a database Installation Copy the file showcomments.py to the plugins folder under IDA

Fernando Mercês 32 Dec 10, 2022
A simple IDA Pro plugin to show all HexRays decompiler comments written by user

XRaysComments A simple IDA Pro plugin to show all HexRays decompiler comments written by user Installation Copy the file xray_comments.py to the plugi

Nox 20 Dec 27, 2022