Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Улучшения #1

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 26 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# VK Cleaner

## Что делает

Удаляет информацию о пользователе из вконтакта:
Expand All @@ -17,11 +15,11 @@

### По работе скрипта:

* Удалить данные из закрытых групп, к которым нет доступа; удаленных постов и т.п. - на данный момент невозможно впринципе, даже через техподдержку.
* Удалить данные из закрытых групп, к которым нет доступа; удаленных постов и т.п. - на данный момент невозможно в принципе, даже через техподдержку.

* Автор не гарантирует полную очистку данных - возможно некоторые данные придется дочищать вручную. По крайней мере, после первой очистки следует запросить архив данных заново и запустить очистку второй раз.

* Если вк начал заваливать капчами (капча на каждой странице), следует остановить скрипт и продолжить удаление на следующий день. Останавливать скрипт следует закрытием браузера - в консоли упадет ошибка и прогресс сохранится. При следующем запуске прогресс продолжится со страницы с ошибкой.
* Если ВК начал заваливать капчами (капча на каждой странице), следует подменить IP через прокси или VPN. В ином случаее - остановить скрипт и продолжить удаление на следующий день. Останавливать скрипт следует закрытием браузера - в консоли упадет ошибка и прогресс сохранится. При следующем запуске прогресс продолжится со страницы с ошибкой.

* Нужно учесть, что на очищение данных суммарно может уйти более суток.

Expand All @@ -32,42 +30,56 @@

* Серьезное развитие проекта не планируется, т.к. автору удалять больше нечего, соответственно тестировать код негде. Но пулл реквесты и багрепорты приветствуются, правда тестировать все равно придется вам.

* Апи не используется (и не будет), т.к. он ужасен - 2000 операций в день это крайне мало. Причем после снятия 3 лайков сразу требуется капча.
* API не используется (и не будет), т.к. он ужасен - 2000 операций в день это крайне мало. Причем после снятия 3 лайков сразу требуется капча.


## Как пользоваться

### Требования для запуска:

* Должен быть установлен [Node.js](https://nodejs.org/en/download/)
* Должен быть установлен [Node.js](https://nodejs.org/en/download/).

* В проекте используется архив данных вк - запросить его можно [тут](https://vk.com/data_protection?section=rules&scroll_to_archive=1), рекомендуется поставить все галочки. На сбор данных может уйти несколько дней, поэтому следует позаботиться об этом заранее.
* В проекте используется архив данных ВК - запросить его можно [тут](https://vk.com/data_protection?section=rules&scroll_to_archive=1), рекомендуется поставить все галочки. На сбор данных может уйти несколько дней, поэтому следует позаботиться об этом заранее.

* Установить браузер [Chrome](https://www.google.com/chrome/). Желательно отключить браузеру автоматические обновления на время удаления данных.

* Скачать [Selenium Chrome Driver](https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/) для вашей версии хрома. Распаковать его в директорию, допустим `C://SeleniumDrivers`. Добавить директорию в PATH ([видео](https://www.youtube.com/watch?v=mqIgUbpSz_A)).
* Windows: Скачать [Selenium Chrome Driver](https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/) для вашей версии хрома. Распаковать его в директорию, допустим `C://SeleniumDrivers`. Добавить директорию в PATH ([видео](https://www.youtube.com/watch?v=mqIgUbpSz_A)).
* Linux: установить google-chrome через ваш пакетный менеджер. В файл `.bashrc` / `.zshrc` / `.fishrc` добавить сторочку:

`export PATH=$PATH:/usr/bin` - для стандартного пакета Chrome (.deb, .rpm, AUR)

`export PATH=$PATH:/var/lib/flatpak/exports/bin` - для Flatpak пакета

`export PATH=$PATH:/snap/bin` - для Snap пакета


### Порядок действий:

1. Склонировать проект
1. Склонировать проект.

1. Выполнить `npm install` в терминале, в директории проекта
1. Выполнить `npm install` в терминале, в директории проекта.

1. Скопировать файл `.env.template` в `.env`
1. Переименовать файл `.env.template` в `.env`.

1. Ввести свои логин и пароль в файле `.env` (вход только по номеру телефона на данный момент не реализован)
* Для Linux следует открыть Chrome и залогиниться вручную.

1. Скопировать распакованный архив данных в директорию проекта. Полный путь к файлу `index.html` из архива должен выглядеть так: `<путь_к_проекту>/Archive/index.html`
1. Скопировать распакованный архив данных в директорию проекта. Полный путь к файлу `index.html` из архива должен выглядеть так: `<путь_к_проекту>/Archive/index.html`.

1. Запустить скрипт командой в терминале `npm start`
1. Запустить скрипт командой в терминале `npm start`.

1. Когда вк запросит капчу - нужно ее ввести вручную
1. Когда ВК запросит капчу - нужно ее ввести вручную.

Если нужно завершить работу (например, выключить ПК на ночь) - закройте браузер и подождите. В терминале отобразится ошибка, и сообщение о том, что данные сохранены, после этого можно завершать работу.

Все данные о работе будут сохранены в директорию reports.

## Оптимизация

Чтобы ускорить процесс удаления лайков / комменатриев, скачайте расширение [uBlock origin](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm), зайдите в настройки и во вкладке My Filters / Мои фильтры импортируйте файл my-ublock-static-filters.txt из папки ublock. После этих действий страница VK будет представлять собой только пост без интерфейса, картинки и комментариев. Такая страница будет загружаться намного быстрее.

![Image](ublock/Screenshot.png)


## Поддержка

Expand Down
2 changes: 1 addition & 1 deletion src/utils/Logger.ts → src/utils/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ export class Logger {
// }
}

export let logger = new Logger("mainlog")
export let logger = new Logger("mainlog")
Binary file added ublock/Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions ublock/my-ublock-static-filters.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
vk.com##.LeftMenuOld-module__container--tHFVR
vk.com##.page_header_wrap
vk.com##.page_header_cont
vk.com##.left_menu_nav_wrap
vk.com##.narrow_column
vk.com##.submit_post_box_with_sitposting.submit_post_box_with_best_friends._submit_post_box.clear_fix.submit_post_box
vk.com##.feed_section_podcasts._ui_item_podcasts._ui_rmenu_subitem.ui_rmenu_subitem
vk.com##.stories_feed_items_wrap
vk.com##.clear_fix.stories_feed_title
vk.com##._post_content > .post_content > .post_info > .wall_text
vk.com##._post_content > .post_content > .post_info > .replies > .replies_wrap