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.

This is an independent project to track Nubank expenses

Nubank expense tracker This is an independent project to track Nubank expenses. To fetch Nubank data we are going to use an unofficial Nubank API, tha

Ramon Gazoni Lacerda 0 Aug 28, 2022
LinkML based SPARQL template library and execution engine

sparqlfun LinkML based SPARQL template library and execution engine modularized core library of SPARQL templates generic templates using common vocabs

Linked data Modeling Language 6 Oct 10, 2022
use Notepad++ for real-time sync after python appending new log text

FTP远程log同步工具 使用Notepad++配合来获取实时更新的log文档效果 适用于FTP协议的log远程同步工具,配合MT管理器开启FTP服务器使用,通过Notepad++监听文本变化,更便捷的使用电脑查看方法注入打印后的信息 功能 过滤器 对每行要打印的文本使用回调函数筛选,支持链式调用

Liuhaixv 1 Oct 17, 2021
Ssma is a tool that helps you collect your badges in a satr platform

satr-statistics-maker ssma is a tool that helps you collect your badges in a satr platform 🎖️ Requirements python = 3.7 Installation first clone the

TheAwiteb 3 Jan 04, 2022
Free and open source qualitative research tool

Taguette A spin on the phrase "tag it!", Taguette is a free and open source qualitative research tool that allows users to: Import PDFs, Word Docs (.d

Remi Rampin 48 Jan 02, 2023
Trashselected - Plugin for fman.io to move files that has been selected in fman to trash

TrashSelected Plugin for fman.io to move files that has been selected in fman to

1 Feb 04, 2022
A tool to assist in code raiding in rust

Kodelock a tool to assist in code raiding in rust This tool is designed to be used on a second monitor. This tools will allow you to see a easily read

3 Oct 27, 2022
These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel structural variation, providing new insights into their diversity and evolution history’

script-SV-genotyping These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel stru

2 Aug 26, 2022
Research using python - Guide for development of research code (using Anaconda Python)

Guide for development of research code (using Anaconda Python) TL;DR: One time s

Ziv Yaniv 1 Feb 01, 2022
An Advanced Wordlist Library Written In Python For Acm114

RBAPG -RBAPG is the abbreviation of "Rule Based Attack Password Generator". -This module is a wordlist generator module. -You can generate randomly

Aziz Kaplan 11 Aug 28, 2022
An advanced NFT Generator

NFT Generator An advanced NFT Generator Free software: GNU General Public License v3 Documentation: https://nft-generator.readthedocs.io. Features TOD

NFT Generator 5 Apr 21, 2022
A collection of useful functions for writers to analyze text/stories.

AuthorTools AuthorTools provides a multitude of functions for easily analyzing (your?) writing. AuthorTools is made especially for creative writers wi

1 Jan 14, 2022
Weakly-Divisable - Takes an interger and seee if it is weakly divisible by seven

Weakly Divisble Project by Diana Arce-Hernandez, Ryan McAlpine, and Rommel Ravan

Diana Arce-Hernandez 1 Jan 12, 2022
Make your Discord Account Online 24/7!

Online-Forever Make your Discord Account Online 24/7! A Code written in Python that helps you to keep your account 24/7. The main.py is the main file.

SealedSaucer 0 Mar 16, 2022
Check broken access control exists in the Java web application

javaEeAccessControlCheck Check broken access control exists in the Java web application. 检查 Java Web 应用程序中是否存在访问控制绕过问题。 使用 python3 javaEeAccessControl

kw0ng 3 May 04, 2022
My repository for the Advent of Code, starting from 2021

Advent of Code This is my repository for the Advent of Code (https://adventofcode.com/), starting from 2021. File Structure Inside each year folder, s

Yu-Ting 6 Dec 15, 2021
200 LeetCode problems

LeetCode I classify 200 leetcode problems into some categories and upload my code to who concern WEEK 1 # Title Difficulty Array 15 3Sum Medium 1324 P

Hoang Cao Bao 108 Dec 08, 2022
Svg-turtle - Use the Python turtle to write SVG files

SaVaGe Turtle Use the Python turtle to write SVG files If you're using the Pytho

Don Kirkby 7 Dec 21, 2022
Osintgram by Datalux but i fixed some errors i found and made it look cleaner

OSINTgram-V2 OSINTgram-V2 is made from Osintgram which is made by Datalux originally but i took the script and fixed some errors i found and made the

2 Feb 02, 2022
A simple assembly- and brainfuck-inspired stack-based language

asm-stackfuck A simple assembly- and brainfuck-inspired stack-based language. The language has a few goals: Be stack-based Look like assembly Have a s

Nils Trinity 1 Feb 06, 2022