Выключить torrserver:

/home/lampac/module/manifest.json

,
{
"enable": false,
"initspace": "TorrServer.ModInit",
"dll": "TorrServer.dll"
}

Настройки 

 /home/lampac/init.conf

"listenhost": "YOURHOST.ru",
"timeoutSeconds": 10,
"cachetype": "file",
"htmlCacheToMinutes": 20,
"torrentCacheToMinutes": 40,
"emptycache": true,
"multiaccess": true,
"timeoutSeconds": 10,
"listenip": "any", // any | broadcast | 127.0.0.1
"listenport": 9118,
"pirate_store": true,
"log": false,
"apikey": "",
"litejac": true, // Включить Jackett в Lampa Lite
"anticaptchakey": "", // anti-captcha.com
"corsehost": "https://cors.bwa.workers.dev",
"LampaWeb": {
"autoupdate": true,
"index": "lampa-main/index.html", // redirect http://IP:9118/ to http://IP:9118/{index}
"basetag": true,
"initPlugins": { // add default plugins to lampainit.js, liteinit.js
"dlna": false,
"tracks": false,
"tmdbProxy": true,
"online": false,
"timecode": false,
"torrserver": false,
"sisi": false
}
},
"fileCacheInactiveDay": {
"html": 1,
"img": 1,
"torrent": 2
},
"crontime": { // minute
"updateLampaWeb": 20,
"clearCache": 60,
"updateTrackers": 120
},
}

 


 /home/lampac/plugins/lampainit.js

Lampa.Storage.set('proxy_tmdb','true');
Lampa.Storage.set('screensaver','false');

 


 /home/lampac/plugins/tmdbproxy.js

(function () {
'use strict';
Lampa.Utils.putScriptAsync(['https://cub.red/plugin/tmdb-proxy'], function () { });
})();
/*
(function () {
'use strict';
Lampa.Utils.putScriptAsync(['https://lampame.github.io/main/pubtorr/pubtorr.js'], function () { });
})();
*/
(function () {
'use strict';
function translate() {
Lampa.Lang.add({
lme_parser: {
ru: 'Каталог парсеров',
en: 'Parsers catalog',
uk: 'Каталог парсерів',
zh: '解析器目录' // Chinese translation
},
lme_parser_description: {
ru: 'Нажмите для выбора парсера из ',
en: 'Click to select a parser from the ',
uk: 'Натисніть для вибору парсера з ',
zh: '单击以从可用的 '
}
});
}
var Lang = {
translate: translate
};
var parsersInfo = [{
base: 'lamp_ruii_ru',
name: 'lamp.ruii.ru',
settings: {
url: 'lamp.ruii.ru',
key: '777',
parser_torrent_type: 'jackett'
}
}, {
base: 'lampa_app',
name: 'Lampa.app',
settings: {
url: 'lampa.app',
key: '',
parser_torrent_type: 'jackett'
}
}, {
base: 'jacred_viewbox_dev',
name: 'Viewbox',
settings: {
url: 'jacred.viewbox.dev',
key: 'viewbox',
parser_torrent_type: 'jackett'
}
}, {
base: 'jacred_my_to',
name: 'Jacred.my.to',
settings: {
url: 'jacred.my.to',
key: '',
parser_torrent_type: 'jackett'
}
}, {
base: 'jacred_xyz',
name: 'Jacred.xyz',
settings: {
url: 'jacred.xyz',
key: '',
parser_torrent_type: 'jackett'
}
}];
var proto = location.protocol === "https:" ? 'https://' : 'http://';>
// Объект для хранения кеша
var cache = {};
function checkAlive(type) {
if (type === 'parser') {
var requests = parsersInfo.map(function (parser) {
var protocol = parser.base === "lme_jackett" || parser.base === "lme_prowlarr" ? "" : proto;
var endPoint = parser.settings.parser_torrent_type === 'prowlarr' ? '/api/v1/health?apikey=' + parser.settings.key : "/api/v2.0/indexers/status:healthy/results?apikey=".concat(parser.settings.url === 'spawn.pp.ua:59117' ? '2' : parser.base === 'lme_jackett' ? parser.settings.key : '');
var myLink = protocol + parser.settings.url + endPoint;
// Используем jQuery для поиска элемента с текстом имени парсера
var mySelector = $('div.selectbox-item__title').filter(function () {
return $(this).text().trim() === parser.name;
});
// Проверяем наличие кеша
if (cache[myLink]) {
console.log('Using cached response for', myLink, cache[myLink]);
var color = cache[myLink].color;
$(mySelector).css('color', color);
return Promise.resolve();
}
return new Promise(function (resolve) {
//if ($(mySelector).text() !== 'Не выбран') return resolve();
$.ajax({
url: myLink,
method: 'GET',
success: function success(response, textStatus, xhr) {
var color;
if (xhr.status === 200) {
color = '1aff00'; // Успех
} else if (xhr.status === 401) {
color = 'ff2e36'; // Ошибка авторизации
} else {
color = 'ff2e36'; // Другие ошибки
}
$(mySelector).css('color', color);
// Кешируем ответ только в случае успеха или ошибки авторизации
if (color) {
cache[myLink] = {
color: color
};
}
},
error: function error() {
$(mySelector).css('color', 'ff2e36');
},
complete: function complete() {
return resolve();
}
});
});
});
return Promise.all(requests).then(function () {
return console.log('All requests completed');
});
}
}
/**/
Lampa.Controller.listener.follow('toggle', function (e) {
if (e.name === 'select') {
checkAlive("parser");
}
});
function changeParser() {
var jackettUrlTwo = Lampa.Storage.get("lme_url_two");
var selectedParser = parsersInfo.find(function (parser) {
return parser.base === jackettUrlTwo;
});
if (selectedParser) {
var settings = selectedParser.settings;
Lampa.Storage.set(settings.parser_torrent_type === 'prowlarr' ? "prowlarr_url" : "jackett_url", settings.url);
Lampa.Storage.set(settings.parser_torrent_type === 'prowlarr' ? "prowlarr_key" : "jackett_key", settings.key);
Lampa.Storage.set("parser_torrent_type", settings.parser_torrent_type);
} else {
console.warn("Jackett URL not found in parsersInfo");
}
}
var s_values = parsersInfo.reduce(function (prev, _ref) {
var base = _ref.base,
name = _ref.name;
prev[base] = name;
return prev;
}, {
no_parser: 'Не выбран'
});
function parserSetting() {
Lampa.SettingsApi.addParam({
component: 'parser',
param: {
name: 'lme_url_two',
type: 'select',
values: s_values,
"default": 'no_parser'
},
field: {
name: "<div class=\"settings-folder\" style=\"padding:0!important\"><div style=\"font-size:1.0em\">".concat(Lampa.Lang.translate('lme_parser'), "</div></div>"),
description: "".concat(Lampa.Lang.translate('lme_parser_description'), " ").concat(parsersInfo.length)
},
onChange: function onChange(value) {
changeParser();
Lampa.Settings.update();
},
onRender: function onRender(item) {
$('.settings-param__value p.parserName').remove();
changeParser();
setTimeout(function () {
$('div[data-children="parser"]').on('hover:enter', function () {
Lampa.Settings.update();
});
if (Lampa.Storage.field('parser_use')) {
item.show();
$('.settings-param__name', item).css('color', 'f3d900');
$('div[data-name="lme_url_two"]').insertAfter('div[data-children="parser"]');
} else {
item.hide();
}
});
}
});
}
var Parser = {
parserSetting: parserSetting
};
Lampa.Platform.tv();
function add() {
Lang.translate();
Parser.parserSetting();
}
function startPlugin() {
window.plugin_lmepublictorr_ready = true;
if (window.appready) add();else {
Lampa.Listener.follow('app', function (e) {
if (e.type === 'ready') add();
});
}
}
if (!window.plugin_lmepublictorr_ready) startPlugin();
})();