// ==UserScript==
// @name СТРУНА+ AutoLogin
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Автологин в СИ "СТРУНА+" и переход на /view_channels
// @match http://192.168.1.100/*
// @match https://192.168.1.100/*
// @grant none
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
// === НАСТРОЙКИ ===
const USER_LOGIN = 'admin';
const USER_PASS = 'ТВОЙ_ПАРОЛЬ'; // <-- Впиши сюда пароль
// Если адрес с префиксом /strunaplus/view_channels, укажи его тут:
const TARGET_URL = '/view_channels';
const userField = document.querySelector('input[name="user_id"]');
const passField = document.querySelector('input[name="password"]');
const submitBtn = document.querySelector('button[type="submit"]');
const errorBox = document.querySelector('.error');
// 1. Если мы находимся на странице логина
if (userField && passField && submitBtn) {
// Проверка: если сервер вернул ошибку (например, неверный пароль),
// останавливаем скрипт, чтобы не уйти в бесконечный цикл перезагрузок
if (errorBox && errorBox.textContent.trim() !== '') {
console.warn('СТРУНА+ AutoLogin: Ошибка авторизации, авто-вход остановлен.');
return;
}
// Заполняем поля
userField.value = USER_LOGIN;
passField.value = USER_PASS;
// Вызываем события для корректной работы jQuery-скрипта login.min.js
userField.dispatchEvent(new Event('input', { bubbles: true }));
userField.dispatchEvent(new Event('change', { bubbles: true }));
passField.dispatchEvent(new Event('input', { bubbles: true }));
passField.dispatchEvent(new Event('change', { bubbles: true }));
// Нажимаем "войти" с небольшой задержкой, чтобы загрузился login.min.js
setTimeout(() => {
submitBtn.click();
}, 300);
}
// 2. Если полей логина нет (мы уже вошли в систему)
else {
// Если мы ещё не на странице /view_channels — переходим на неё
if (!window.location.pathname.endsWith(TARGET_URL)) {
window.location.href = TARGET_URL;
}
}
})();