Compare commits

...

4 Commits

Author SHA1 Message Date
Илья Глазунов
2361df7da9 Bump version to 1.1.2 and add support for multiple avatar selectors in content script
All checks were successful
Build and Release Extension / build (push) Successful in 18s
2026-01-22 23:01:33 +03:00
Илья Глазунов
74a50ab8f6 Bump version to 1.1.1 and add support for multiple follow button text locales
All checks were successful
Build and Release Extension / build (push) Successful in 17s
2026-01-22 22:39:12 +03:00
Илья Глазунов
0cf53e8fe0 updated extension manifest 2026-01-22 22:28:22 +03:00
Илья Глазунов
c3f538fe15 update README 2026-01-22 22:19:07 +03:00
4 changed files with 38 additions and 5 deletions

View File

@ -6,6 +6,7 @@ Chrome расширение для улучшенного просмотра Ins
- **Управление громкостью** - Вертикальный слайдер для точной настройки громкости видео
- **Загрузка роликов** - Скачивайте рилсы одним кликом
- **Перемотка видео** - Используйте слайдер для перемотки рилса, если пропустили интересный момент, больше не придется пересматривать всё видео!
## Установка

View File

@ -1,6 +1,6 @@
{
"name": "reels-master",
"version": "1.1.0",
"version": "1.1.2",
"description": "Chrome extension for Instagram Reels with volume control and download functionality",
"main": "index.js",
"scripts": {

View File

@ -198,6 +198,37 @@ class ReelsMaster {
'svg[aria-label="Speichern"]',
'svg[aria-label="保存"]',
].join(',');
private readonly FOLLOW_TEXTS = [
'Follow',
'Подписаться',
'Seguir',
'Suivre',
'Folgen',
'Following',
'Подписки',
'Siguiendo',
'Abonné(e)',
'Gefolgt',
'Requested',
'Запрос отправлен',
'Solicitado',
'Demandé',
'Anfrage gesendet',
'フォローする',
'关注',
];
private readonly AVATAR_SELECTORS = [
'img[alt*="profile picture"]',
'img[alt*="Фото профиля"]',
'img[alt*="фото профиля"]',
'img[alt*="Foto de perfil"]',
'img[alt*="Photo de profil"]',
'img[alt*="Profilbild"]',
'img[alt*="プロフィール写真"]',
'img[alt*="头像"]',
].join(',');
private findAllActionContainers(): HTMLElement[] {
const containers: HTMLElement[] = [];
@ -481,13 +512,14 @@ class ReelsMaster {
const followButtons = document.querySelectorAll('[role="button"]');
for (const button of followButtons) {
if (button.textContent?.trim() === 'Follow') {
const text = button.textContent?.trim();
if (text && this.FOLLOW_TEXTS.includes(text)) {
let parent = button.parentElement;
let depth = 0;
const maxDepth = 15;
while (parent && depth < maxDepth) {
const hasAvatar = parent.querySelector('img[alt*="profile picture"]');
const hasAvatar = parent.querySelector(this.AVATAR_SELECTORS);
const hasFollow = parent.querySelector('[role="button"]');
if (hasAvatar && hasFollow && parent.children.length >= 2) {

View File

@ -1,8 +1,8 @@
{
"manifest_version": 3,
"name": "Reels Master",
"version": "1.0.0",
"description": "Instagram Reels volume control and download",
"version": "1.1.2",
"description": "Enhance your Instagram experience with Reels Master - download reels, seek through videos, and more!",
"background": {
"service_worker": "background/background.js"
},