Qbittorrent: Управление / редактирование RSS-каналов из веб-интерфейса

Созданный на 25 февр. 2013  ·  281Комментарии  ·  Источник: qbittorrent/qBittorrent

У меня есть qbittorrent, работающий на OpenSUSE 12.2, который я использовал для настройки RSS-каналов для автоматической загрузки торрентов, и я использовал этот ящик в качестве медиа-сервера для своего дома. Я могу настроить практически все через сеанс ssh или через веб-интерфейс. Было бы неплохо иметь возможность управлять RSS-потоками для qbittorrent без необходимости вводить ssh -Y в поле, перетаскивать графический интерфейс и вносить изменения. В идеале я хочу использовать веб-интерфейс со своего iPAD и настраивать RSS-каналы. Можно ли добавить эту функцию в веб-интерфейс?
благодаря
jdavis3980

Feature request Help wanted RSS WebUI

Самый полезный комментарий

У меня есть соблазн закрыть эту проблему сейчас по следующим причинам:

  • Разговор длился слишком долго и не по теме. Несмотря на то, что из этого вышло несколько хороших вещей, предполагается, что этот тикет касается поддержки RSS в официальном WebUI. Это простой и понятный запрос функции, не место для многих вещей, которые здесь есть.
  • Есть много постов +1 / me too / pleeeeease / i've waited 58 years instead of contributing in any way whatsoever to the project besides this disrespectful and ungrateful comment, why is this not done yet? загромождающих весь разговор.
  • Поскольку запрошенная им функциональность теперь доступна через альтернативные веб-интерфейсы, единственное разумное решение, оставшееся без внимания, - поддержать ее в официальном.

Когда я закрою это, я открою два новых потока:

  • Один для отслеживания реализации этой функции в основном WebUI (и сосредоточиться исключительно на этом). Нет необходимости в комментариях +1 если вы просто хотите сказать «да, я тоже этого хочу», просто используйте реакции.
  • Одно называется «Обсуждение разработки альтернативного веб-интерфейса» или что-то подобное, чтобы люди могли свободно обсуждать разработку альтернативного веб-интерфейса в централизованном месте.

Если у кого-то есть дополнительные проблемы, дайте мне знать.

Все 281 Комментарий

+1 Пожалуйста, добавьте возможности RSS в qbittorrent-nox, чтобы у него был паритет функций с qBittorrent с X windows.

+1

+1 на окнах, чтобы

+1

+1

+1

@buinsky Я видел, что вы работали в веб-интерфейсе. Кажется, эта функция может быть полезной.

+1

Эта отсутствующая функция, возможно, является препятствием для людей, переходящих с uTorrent. В остальном все отлично и даже лучше.

Спасибо и сохраняю хорошую работу :)

+1
Хотел бы это увидеть.

+1

+1 Согласно сообщению выше, для меня это нарушает условия сделки. Хотел бы, чтобы это случилось.

+1
Из-за этого приходится использовать раздутое ПО uTorrent

+1 Пожалуйста - лучший клиент без головы, который я когда-либо нашел, и это просто сделало бы его законченным.

+1

+1. Это было бы очень полезно.

Пожалуйста! +1

Пожалуйста, добавьте эту функцию! +1

+1 за эту функцию

+1
Отсутствует с самого начала

+1
это заставит меня перейти с utorrent

+1
Я застрял без этого сейчас

+1

+1

+1

Да, очень хотелось бы иметь эту функцию! Тогда можно управлять с наглазника :-). : +1:

+1 нужен веб-интерфейс с RSS для безголового сервера.

+1

+1

+1

+1

+1

+1

+1

+1

+1

Три года, и все еще нет поддержки RSS-каналов в безголовой версии? Хотя версия для Windows великолепна, это просто разочаровывает.

Может быть, кто-нибудь подскажет, как редактировать .conf? Я тоже не против этого, но все же хотел бы, чтобы пользовательский интерфейс продолжался.

Я попытался отредактировать файл, используя несколько разных кодировок для путей сохранения, и не смог заставить его работать. Вместо этого мне пришлось использовать flexget.

+1

+1

Я бы с удовольствием перебрался с сервера uTorrent, который имеет закрытый исходный код и, похоже, не развивается активно, но это единственное, что меня останавливает.

+1

+1

Что ж, в конце концов я выбрал Flexget: его можно запускать без подключения к голове, но при этом он предлагает необходимые мне функции.

Это исключит возможность автоматического получения на основе магнитных ссылок.

+1

+1

+1 (и сортировка по добавленным и завершенным датам не помешала)

В сб, 25 июня 2016 г., 17:23 Rihards Skuja [email protected]
написал:

+1

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -228571166,
или отключить поток
https://github.com/notifications/unsubscribe/AGbY-5ty-GOC3gqmyGctI5zjwX6cJMGhks5qPZw8gaJpZM4AdExq
.

Пересылка ssh X11 работает нормально, но эта функция в веб-интерфейсе была бы намного лучше.

+1 Я сейчас использую flexget, но интегрировать RSS в qbittorrent-nox было бы фантастически!

+1

и сортировка по добавленным и завершенным датам не повредит

Добавлено в # 5547

+1

+1

+1

Никто не пробовал реализовать эту фичу на форке или патче? Это действительно странно, что спустя столько времени до сих пор нет реализации этой базовой и действительно необходимой функции.

+1 по этому поводу. Запуск безголового торрента / PleX-бокса, и это завершит его

+1

+100!

Да, +1 для меня.

Вау, потратил час на то, чтобы включить эту опцию в config / etc, но обнаружил, что qbtorrent nox ее не поддерживает. Тьфу. :расстроен:

На данный момент я использую Sonarr, который является довольно полнофункциональным, но я искал что-то легкое и интегрированное

+1

+1

Удивлен, что это еще не добавлено через 4 года. Неудивительно, что все используют rTorrent.

+1 OMG это действительно смешно, давайте сделаем qBittorent действительно хорошим клиентом bittorent

Какой-то связанный с RSS WebAPI может (должен) быть реализован как часть # 6505.

Я начал реализовывать поддержку RSS в WebUI. Но я не могу завершить эту работу из-за принимаемых антидепрессантов.

@ qbittorrent / webdev
Может быть, кому-то это поможет реализовать поддержку RSS в WebUI. Мой код находится здесь:

https://github.com/buinsky/qBittorrent/tree/rss

+1

+1

+1

Еще один человек, добавивший +1 через много лет.

+1

+1, вероятно, в конечном итоге напишу что-нибудь, чтобы разобрать RSS-канал и самому потыкать API с такой скоростью ...

@buinsky , вы все еще не можете завершить работу по этому поводу?

@glassez К сожалению, не могу.

Я очень благодарен @glassez за попытку исправить эту проблему. Можете ли вы сообщить нам примерный график реализации исправления и версию qBittorrent, в которой, вероятно, будет исправление?

+1

+1

+1

+1

+1

+1 его раздражает необходимость удаленного доступа к моему серверу для единственной необходимой вещи ... изменения rss. в остальном офигенный клиент!

+1 даже не заметил, что это не так. :( Однозначно хотелось бы!

Пожалуйста, внедрите эту функцию!

К сожалению, в настоящее время у проекта нет активного веб-разработчика ...

+1
Я увидел домашнюю страницу qbittorrent и сразу же приступил к установке без заголовка

  • Удаленное управление через веб-интерфейс пользователя, написанный на AJAX
    - Почти идентичен обычному графическому интерфейсу

В этом тексте не говорится, что отсутствуют какие-либо функции, просто графический интерфейс не совсем тот.

Есть ли руководство по настройке RSS в qbittorrent через SSH?

+1

+1!
Почему этого еще нет?

Потому что все, кому это небезразлично, еще не реализовали это. Думаю, пул-реквесты приветствуются.

Ну, пока люди ждут, я хотел бы отметить, что utorrent-сервер для linux 3.3_alpha имеет компонент rss в веб-интерфейсе

а с сообществом 0.83 webui он полнофункциональный (в стандартном webui не хватает некоторых вещей)

Соответствующий веб-API сейчас находится в стадии разработки. Надеюсь, он выйдет с первым обновлением ветки 4.0.x.
Что касается веб-интерфейса, я не могу запланировать его выпуск, так как у нас нет активного веб-разработчика.

просто переместил на Rockstor NAS и понял, что мою конфигурацию RSS нельзя импортировать из веб-интерфейса. Ой ...

+1! Только что купил Netgear NAS, и эта функция действительно нужна в версии с веб-интерфейсом!

+1

+1

+1

+1

Это своего рода решение, если вам нужно обходное решение.
https://askubuntu.com/questions/498232/using-rss-in-qbittorrent

+1

qBittorrent v4.1 имеет экспериментальный API управления RSS. Смотрите здесь .

Мы скоро увидим, что это будет поддержано? Я запускаю qbittorent как службу. Очень раздражает, что мне нужно выключить службу и запустить ее на рабочем столе, чтобы управлять загрузками RSS.

Мы скоро увидим, что это будет поддержано?

Вы не заметили мой предыдущий комментарий? Или вы имеете в виду веб-интерфейс?

Я имею в виду веб-интерфейс, но я работаю над внедрением представления для этого с помощью tamper monkey для Chrome, следите за обновлениями

Итак, он требует Tampermonkey для Chrome. Это очень непроверено, не вините меня, если он переписывает ваши правила или аналогичные.

// ==UserScript==
// <strong i="6">@name</strong>         qbittorrent rss
// <strong i="7">@namespace</strong>    http://tampermonkey.net/
// <strong i="8">@version</strong>      0.1
// <strong i="9">@description</strong>  Adds rss rule window to qBittorent web UI
// <strong i="10">@author</strong>       Anders Malmgren
// <strong i="11">@match</strong>        http://localhost:8080
// <strong i="12">@grant</strong>        none
// <strong i="13">@require</strong>      http://knockoutjs.com/downloads/knockout-3.4.2.js
// <strong i="14">@require</strong>      http://andersmalmgren.github.io/Knockout.BindingConventions/src/Knockout.BindingConventions.js
// ==/UserScript==

(function() {
    var modalTemplate = '<div>\
   <select data-name="rules"></select>\
   <button data-name="addRule">Add</button>\
   <button data-name="deleteSelectedRule">Delete</button>\
   <div data-name="selectedRule">\
      <div><label><input data-name="enabled"/>Enabled</label></div>\
      <div><label>Name</label><input data-name="name" /></div>\
      <div><label>Must contain</label><input data-name="mustContain" /></div>\
      <div><label>Must NOT contain</label><input data-name="mustNotContain" /></div>\
      <div><label>Save path</label><input data-name="savePath" /></div>\
      <label>Feeds</label>\
      <div data-name="feeds">\
          <div><label><input data-name="enabled"/><span data-name="name"></span></label></div>\
      </div>\
      <button data-name="save">Save</button>\
   </div>\
</div>'

    var button = new Element("a", { html: "RSS<div data-name='modal' data-bind='modal: modal'>" + modalTemplate + "</div>"});
    button.setAttribute("data-bind", "click: showRss");

    var feeds = null;
    new Request.JSON({
            url:  new URI('api/v2/rss/items'),
            noCache: true,
            method: 'get',
            onFailure: function() {
               //TODO: error handling
            },
            onSuccess: function(response) {
               feeds = Object.keys(response).map(function(key) { return { name: key, url: response[key] != "" ? response[key] : key }; })
            }
        }).send();

    $("mochaToolbar").append(button);

    var Model = function() {
        this.modal = ko.observable().extend({notify: 'always'});;
        this.modal.subscribe(function(value) { console.log(value);});
    };

    Model.prototype = {
        showRss: function() {
            if(this.modal() == null) {
                this.modal(new RssModel());
            }
        }
    };

    var RssModel = function() {
      this.rules = ko.observableArray();
      this.selectedRule = ko.observable();

      this.listRules();
      this.canDeleteSelectedRule = ko.computed(function() { return this.selectedRule() != null }, this);
    };

    RssModel.prototype = {
          listRules: function() {
var url = new URI('api/v2/rss/rules');
        var request = new Request.JSON({
            url: url,
            noCache: true,
            method: 'get',
            onFailure: function() {
               //TODO: error handling
            },
            onSuccess: function(response) {
               this.rules(Object.keys(response).map(function(key) { return new Rule(key, response[key]); }));
            }.bind(this)
        }).send();
        },
        addRule: function() {
            this.rules.push(new Rule("Untitled", { enabled: false, mustContain: "", mustNotContain: "", savePath: "", affectedFeeds: []}));
        },
        deleteSelectedRule: function() {
            var rule = this.selectedRule();
            var url = new URI('api/v2/rss/removeRule');
            url.setData('ruleName', rule.name());
            new Request.JSON({
               url: url,
               noCache: true,
               method: 'get',
               onFailure: function(response) {
                   //Unpexted behaviour, eror with status 200 trigger, why?
                   if(response.status !== 200) {
                       throw "Error deleting rule";
                   }
                   this.rules.remove(rule);

               }.bind(this)
            }).send();

        }
    };

    var Rule = function(name, data) {
        this.name = ko.observable(name);
        this.enabled = data.enabled;
        this.mustContain = data.mustContain;
        this.mustNotContain = data.mustNotContain;
        this.savePath = data.savePath;
        this.feeds = feeds.map(function(f) { return new Feed(f, data.affectedFeeds.indexOf(f.url) >= 0)});

        this.data = data;

        this.canSave = ko.observable(true);
    };

    Rule.prototype = {
       save: function() {
            var toSave = Object.assign({}, this.data);

            for (var key in toSave) {
               if (this.hasOwnProperty(key)) {
                    toSave[key] = ko.utils.unwrapObservable(this[key]);
               }
            }

            toSave.affectedFeeds = this.feeds.filter(function(f) { return f.enabled; }).map(function(f) { return f.url; });
            var json = ko.toJSON(toSave);
            var dirty = ko.toJSON(this.data) !== json;

            if(!dirty) return;

            var url = new URI('api/v2/rss/setRule');
            url.setData('ruleName', this.name());
            url.setData("ruleDef", json);

            this.canSave(false);
            var request = new Request.JSON({
               url: url,
               noCache: true,
               method: 'get',
               onFailure: function(response) {
                   //Unpexted behaviour, eror with status 200 trigger, why?
                   if(response.status !== 200) {
                       throw "Error saving rule";
                   }

                   this.data = toSave;
                   this.canSave(true);
               }.bind(this)
            }).send();
       }
    };

    var Feed = function(data, enabled) {
       this.name = data.name;
       this.url = data.url;
       this.enabled = enabled;
    };


    var orgOptionsApply = ko.bindingConventions.conventionBinders.options.apply;
    ko.bindingConventions.conventionBinders.options.apply = function(name, element, bindings, options, type, data, viewModel) {
        orgOptionsApply(name, element, bindings, options, type, data, viewModel)

        if (options.length === 0 || options[0]["name"]) {
            bindings.optionsText = function() { return "name"; };
        }
    };

    ko.bindingHandlers.modal = {
        init: function(element, valueAccessor) {
            valueAccessor().subscribe(function(value) {
            if(value) {
                setTimeout(function () {
                new MochaUI.Window({
                    title: "RSS auto download",
                    content: element,
                    storeOnClose: true,
                    addClass: 'windowFrame', // fixes iframe scrolling on iOS Safari
                    scrollbars: true,
                    maximizable: false,
                    closable: true,
                    paddingVertical: 0,
                    paddingHorizontal: 0,
                    onClose: function() {
                        valueAccessor()(null);
                    }
                });
                }, 0);
            }
            });

        }
    }


    ko.applyBindings(new Model(), button)
})();

Вызов setRule с определенными URL-адресами затронутых каналов, кажется, сбивает с толку qbitTorrent, он не сохраняет затронутый канал в правиле, он также включает правило, даже если я не хочу этого делать.

Url (отредактировал личные данные)

" https://xxx.org/rss/feed?passkey=xxxx&feed=dl&type_origin=1&cats [] = 1c1c3 & cats [] = 1c1c6 & cats [] = 2c1c3 & cats [] = 2c1c6"

Я обновил приведенный выше сценарий, чтобы учесть неожиданное поведение / ошибки текущего API.
Также не меняйте каналы, синхронизируйте имя с URL-адресом.

Привет! Прежде всего, спасибо Андерсу за сценарий. Но я попробовал и, возможно, сделал что-то не так, потому что все, что я вижу, это оранжевый «RSS» в верхнем меню (см. Снимок экрана), и когда я нажимаю, у меня появляется всплывающее окно, которое на самом деле не позволяет мне что-либо делать. ... что мы должны увидеть и где? Больше я ничего не нашел. (Между прочим, когда я нажимаю «Добавить», ничего не происходит, а выпадающее меню пусто и недоступно для редактирования)

Заранее спасибо!

image

Привет @jadazul Спасибо.

Должно получиться так,
Rss

Он протестирован на веб-интерфейсе v4.1.1

Возможно, вам потребуется определить канал для его работы, это всего лишь пользовательский интерфейс для правил. ЕСЛИ у вас есть RSS-канал, но нет правил, вам нужно нажать «Добавить», и вы сможете заполнить поля. Хотя в 4.1.1 есть ошибка, поэтому вы не можете сохранять правила, содержащие длинные каналы URL, как мой пример в сообщении выше

Хотя в 4.1.1 есть ошибка, поэтому вы не можете сохранять правила, содержащие длинные каналы URL, как мой пример в сообщении выше

Вы уверены, что ваш скрипт отправляет URL-адрес канала в том же формате, что и при добавлении канала в qBittorrent?

@glassez

Я использую URL, полученный из

API / v2 / RSS / элементы

Еще раз спасибо

Когда я установил qBittorrent-nox на безголовый сервер Ubuntu, я не смог найти способ добавить один RSS-канал ... Я читал Wiki для api, но примеров того, как это сделать, не так много ... Я пробовал использовать curl в терминале ssh, вход в систему работает и дает мне cookie, но не использует / api / v2, это не работает, я каждый раз получаю ошибку 404, и я не мог найти ни одного примера того, как сделайте это правильно, поэтому я сдался и попробовал ваш сценарий (но теперь я понимаю, что он предназначен только для управления существующими потоками).

Есть ли способ добавить фид, чтобы я мог использовать ваш скрипт для управления им позже? Даже если он вручную изменяет некоторые файлы конфигурации, мне просто нужно найти способ сделать это ...

Еще раз спасибо!

Я смогу изучить это позже, я просто сделал это для поддержки моего варианта использования, который добавляет правила в существующие каналы.

Изменить: вы проверяли консоль на наличие ошибок

Извините, я только что увидел вашу правку, когда проверял это.

Каждый раз, когда я пытаюсь использовать curl, я получаю сообщение об ошибке 404 и не так много подробностей ...

Вы на 4.1.1? RSS API был добавлен в 4.1

Да, я установил qBittorrent-nox v4.1.1 на безголовый сервер Ubuntu 18.04

Изменить: Поцарапайте это, я только что проверил, и даже подумал, что у меня последняя версия (потому что я использовал apt-get из Ubuntu, я предполагал, что это была последняя версия), вместо этого я установил v4.0.3 ... Плохо, я В ближайшее время попробую установить последнюю версию. В любом случае спасибо за вашу помощь!

setRule все еще не работает в 4.1.2

+1

setRule все еще не работает в 4.1.3, вот видео, которое я создал, вы можете видеть, что все идет не так, когда я пытаюсь установить URL-адрес канала

https://youtu.be/t_w9epoyxC8

@AndersMalmgren помните, что вы можете вставить свою серверную часть улучшений webui вместо использования Tampermonkey через альтернативный веб-интерфейс https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

setRule все еще не работает в 4.1.3, вот видео, которое я создал, вы можете видеть, что все идет не так, когда я пытаюсь установить URL-адрес канала

https://youtu.be/t_w9epoyxC8

Протокол был изменен. Точно не помню, какую именно, так как некоторое время назад делал модификацию. Пожалуйста, проверьте.

`

// ==UserScript==
// <strong i="11">@name</strong>         qbittorrent rss
// <strong i="12">@namespace</strong>    http://tampermonkey.net/
// <strong i="13">@version</strong>      0.1
// <strong i="14">@description</strong>  Adds rss rule window to qBittorent web UI
// <strong i="15">@author</strong>       Anders Malmgren
// <strong i="16">@match</strong>        
// <strong i="17">@grant</strong>        none
// <strong i="18">@require</strong>      http://knockoutjs.com/downloads/knockout-3.4.2.js
// <strong i="19">@require</strong>      http://andersmalmgren.github.io/Knockout.BindingConventions/src/Knockout.BindingConventions.js
// ==/UserScript==
(function() {
    var modalTemplate = '<div>\
<select data-name="rules"></select>\
<button data-name="addRule">Add</button>\
<button data-name="deleteSelectedRule">Delete</button>\
<div data-name="selectedRule">\
    <div><label><input data-name="enabled"/>Enabled</label></div>\
    <div><label>Name</label><input data-name="name" /></div>\
    <div><label>Must contain</label><input data-name="mustContain" /></div>\
    <div><label>Must NOT contain</label><input data-name="mustNotContain" /></div>\
    <div><label>Assigned Category</label><input data-name="assignedCategory" /></div>\
    <div><label>Save path</label><input data-name="savePath" /></div>\
    <label>Feeds</label>\
    <div data-name="feeds">\
        <div><label><input data-name="enabled"/><span data-name="name"></span></label></div>\
    </div>\
    <button data-name="save">Save</button>\
</div>\
</div>'

    var button = new Element("a", { html: "RSS<div data-name='modal' data-bind='modal: modal'>" + modalTemplate + "</div>"});
    button.setAttribute("data-bind", "click: showRss");

    var feeds = null;
    new Request.JSON({
            url:  new URI('api/v2/rss/items'),
            noCache: true,
            method: 'get',
            onFailure: function() {
            //TODO: error handling
            },
            onSuccess: function(response) {
            feeds = Object.keys(response).map(function(key) { return { name: key, url: response[key] != "" ? response[key]["url"] : key }; })
            }
        }).send();

    $("mochaToolbar").append(button);

    var Model = function() {
        this.modal = ko.observable().extend({notify: 'always'});;
        this.modal.subscribe(function(value) { console.log(value);});
    };

    Model.prototype = {
        showRss: function() {
            if(this.modal() == null) {
                this.modal(new RssModel());
            }
        }
    };

    var RssModel = function() {
    this.rules = ko.observableArray();
    this.selectedRule = ko.observable();

    this.listRules();
    this.canDeleteSelectedRule = ko.computed(function() { return this.selectedRule() != null }, this);
    };

    RssModel.prototype = {
        listRules: function() {
var url = new URI('api/v2/rss/rules');
        var request = new Request.JSON({
            url: url,
            noCache: true,
            method: 'get',
            onFailure: function() {
            //TODO: error handling
            },
            onSuccess: function(response) {
            this.rules(Object.keys(response).map(function(key) { return new Rule(key, response[key]); }));
            }.bind(this)
        }).send();
        },
        addRule: function() {
            this.rules.push(new Rule("Untitled", { enabled: false, mustContain: "", mustNotContain: "",assignedCategory: "", savePath: "", affectedFeeds: []}));
        },
        deleteSelectedRule: function() {
            var rule = this.selectedRule();
            var url = new URI('api/v2/rss/removeRule');
            url.setData('ruleName', rule.name());
            new Request.JSON({
            url: url,
            noCache: true,
            method: 'get',
            onFailure: function(response) {
                //Unpexted behaviour, eror with status 200 trigger, why?
                if(response.status !== 200) {
                    throw "Error deleting rule";
                }
                this.rules.remove(rule);

            }.bind(this)
            }).send();

        }
    };

    var Rule = function(name, data) {
        this.name = ko.observable(name);
        this.enabled = data.enabled;
        this.mustContain = data.mustContain;
        this.assignedCategory = data.assignedCategory;
        this.mustNotContain = data.mustNotContain;
        this.savePath = data.savePath;
        this.feeds = feeds.map(function(f) { return new Feed(f, data.affectedFeeds.indexOf(f.url) >= 0)});

        this.data = data;

        this.canSave = ko.observable(true);
    };

    Rule.prototype = {
    save: function() {
            var toSave = Object.assign({}, this.data);

            for (var key in toSave) {
            if (this.hasOwnProperty(key)) {
                    toSave[key] = ko.utils.unwrapObservable(this[key]);
            }
            }

            toSave.affectedFeeds = this.feeds.filter(function(f) { return f.enabled; }).map(function(f) { return f.url; });
            var json = ko.toJSON(toSave);
            var dirty = ko.toJSON(this.data) !== json;

            if(!dirty) return;

            var url = new URI('api/v2/rss/setRule');
            url.setData('ruleName', this.name());
            url.setData("ruleDef", json);

            this.canSave(false);
            var request = new Request.JSON({
            url: url,
            noCache: true,
            method: 'get',
            onFailure: function(response) {
                //Unpexted behaviour, eror with status 200 trigger, why?
                if(response.status !== 200) {
                    throw "Error saving rule";
                }

                this.data = toSave;
                this.canSave(true);
            }.bind(this)
            }).send();
    }
    };

    var Feed = function(data, enabled) {
    this.name = data.name;
    this.url = data.url;
    this.enabled = enabled;
    };


    var orgOptionsApply = ko.bindingConventions.conventionBinders.options.apply;
    ko.bindingConventions.conventionBinders.options.apply = function(name, element, bindings, options, type, data, viewModel) {
        orgOptionsApply(name, element, bindings, options, type, data, viewModel)

        if (options.length === 0 || options[0]["name"]) {
            bindings.optionsText = function() { return "name"; };
        }
    };

    ko.bindingHandlers.modal = {
        init: function(element, valueAccessor) {
            valueAccessor().subscribe(function(value) {
            if(value) {
                setTimeout(function () {
                new MochaUI.Window({
                    title: "RSS auto download",
                    content: element,
                    storeOnClose: true,
                    addClass: 'windowFrame', // fixes iframe scrolling on iOS Safari
                    scrollbars: true,
                    maximizable: false,
                    closable: true,
                    paddingVertical: 0,
                    paddingHorizontal: 0,
                    onClose: function() {
                        valueAccessor()(null);
                    }
                });
                }, 0);
            }
            });

        }
    }


    ko.applyBindings(new Model(), button)
})();

`

@ rqi14 вы

Я вспомнил, что что-то изменилось некоторое время назад, это был формат URL-адресов, если я правильно помню, setRules по-прежнему принимает массив строк URL-адресов.

@ rqi14 вы

Я вспомнил, что что-то изменилось некоторое время назад, это был формат URL-адресов, если я правильно помню, setRules по-прежнему принимает массив строк URL-адресов.

Да, я сделал. Не помню, какую модификацию сделал, как сказал. Но сейчас работает.

@ rqi14 Я сравнил наши две версии в инструменте сравнения, и да, ваши изменения я уже внес. Они изменили формат URL-адресов каналов, возвращаемых из api / v2 / rss / items

Когда я использую VNC и обычный графический интерфейс или просто копирую настройки с настройкой RSS-каналов уже с машины, на которой запущен графический интерфейс, могу ли я затем остановить qbittorrent и запустить qbittorrent-nox, и он уловит это? Другими словами: отсутствует только графический интерфейс или весь набор функций?

Итак, если я правильно понимаю, мы должны добавить RSS-канал самостоятельно, и он не будет добавлен в webui?

Когда я использую VNC и обычный графический интерфейс или просто копирую настройки с настройкой RSS-каналов уже с машины, на которой запущен графический интерфейс, могу ли я затем остановить qbittorrent и запустить qbittorrent-nox, и он уловит это? Другими словами: отсутствует только графический интерфейс или весь набор функций?

Судя по всему, отсутствует только графический интерфейс, я переключился на -nox для тестирования, прежде чем торрент, которого я ждал, был опубликован, и он был успешно загружен автоматически.

есть идеи, когда предназначено добавление графического интерфейса?

Привет, ребята, вот моя последняя версия пользовательского интерфейса правила rss.
Теперь он использует сообщения для всех запросов, которые изменяют данные. В качестве бонуса он работает со всеми URL-адресами каналов (в настоящее время это ошибка в том, как qbittorrent анализирует пути из запросов на получение).
Этот пользовательский интерфейс в настоящее время поддерживает только правила, вы не можете добавлять каналы и т. Д. Но не стесняйтесь добавлять его самостоятельно.

// ==UserScript==
// <strong i="8">@name</strong>         qbittorrent rss
// <strong i="9">@namespace</strong>    http://tampermonkey.net/
// <strong i="10">@version</strong>      0.1
// <strong i="11">@description</strong>  Adds rss rule window to qBittorent web UI
// <strong i="12">@author</strong>       Anders Malmgren
// <strong i="13">@match</strong>        http://winserver:8080
// <strong i="14">@match</strong>        http://localhost:8080/
// <strong i="15">@grant</strong>        none
// <strong i="16">@require</strong>      http://knockoutjs.com/downloads/knockout-3.4.2.js
// <strong i="17">@require</strong>      http://andersmalmgren.github.io/Knockout.BindingConventions/src/Knockout.BindingConventions.js
// ==/UserScript==

(function() {
    var modalTemplate = '<div>\
   <select data-name="rules"></select>\
   <button data-name="addRule">Add</button>\
   <button data-name="deleteSelectedRule">Delete</button>\
   <div data-name="selectedRule">\
      <div><label><input data-name="enabled"/>Enabled</label></div>\
      <div><label>Name</label><input data-name="name" /></div>\
      <div><label>Must contain</label><input data-name="mustContain" /></div>\
      <div><label>Must NOT contain</label><input data-name="mustNotContain" /></div>\
      <div><label>Save path</label><input data-name="savePath" /></div>\
      <label>Feeds</label>\
      <div data-name="feeds">\
          <div><label><input data-name="enabled"/><span data-name="name"></span></label></div>\
      </div>\
      <button data-name="save">Save</button>\
   </div>\
</div>'

    var button = new Element("a", { html: "RSS<div data-name='modal' data-bind='modal: modal'>" + modalTemplate + "</div>"});
    button.setAttribute("data-bind", "click: showRss");

    var feeds = null;
    new Request.JSON({
            url:  new URI('api/v2/rss/items'),
            noCache: true,
            method: 'get',
            onFailure: function() {
               //TODO: error handling
            },
            onSuccess: function(response) {
               feeds = Object.keys(response).map(function(key) { return { name: key, url: response[key] != "" ? response[key] : key }; })
            }
        }).send();

    $("mochaToolbar").append(button);

    var Model = function() {
        this.modal = ko.observable().extend({notify: 'always'});;
        this.modal.subscribe(function(value) { console.log(value);});
    };

    Model.prototype = {
        showRss: function() {
            if(this.modal() == null) {
                this.modal(new RssModel());
            }
        }
    };

    var RssModel = function() {
      this.rules = ko.observableArray();
      this.selectedRule = ko.observable();

      this.listRules();
      this.canDeleteSelectedRule = ko.computed(function() { return this.selectedRule() != null }, this);
    };

    RssModel.prototype = {
          listRules: function() {
var url = new URI('api/v2/rss/rules');
        var request = new Request.JSON({
            url: url,
            noCache: true,
            method: 'get',
            onFailure: function() {
               //TODO: error handling
            },
            onSuccess: function(response) {
               this.rules(Object.keys(response).map(function(key) { return new Rule(key, response[key]); }));
            }.bind(this)
        }).send();
        },
        addRule: function() {
            this.rules.push(new Rule("Untitled", { enabled: false, mustContain: "", mustNotContain: "", savePath: "", affectedFeeds: []}));
        },
        deleteSelectedRule: function() {
            var rule = this.selectedRule();
            var url = new URI('api/v2/rss/removeRule');
            new Request.JSON({
               url: url,
               noCache: true,
               method: 'post',
               data: { ruleName: rule.name() },
               onFailure: function(response) {
                   //Unpexted behaviour, eror with status 200 trigger, why?
                   if(response.status !== 200) {
                       throw "Error deleting rule";
                   }
                   this.rules.remove(rule);

               }.bind(this)
            }).send();

        }
    };

    var Rule = function(name, data) {
        this.name = ko.observable(name);
        this.enabled = data.enabled;
        this.mustContain = data.mustContain;
        this.mustNotContain = data.mustNotContain;
        this.savePath = data.savePath;
        this.feeds = feeds.map(function(f) { return new Feed(f, data.affectedFeeds.indexOf(f.url.url) >= 0)});

        this.data = data;

        this.canSave = ko.observable(true);
    };

    Rule.prototype = {
       save: function() {
            var toSave = Object.assign({}, this.data);

            for (var key in toSave) {
               if (this.hasOwnProperty(key)) {
                    toSave[key] = ko.utils.unwrapObservable(this[key]);
               }
            }

            toSave.affectedFeeds = this.feeds.filter(function(f) { return f.enabled; }).map(function(f) { return f.url; });
            var json = ko.toJSON(toSave);
            var dirty = ko.toJSON(this.data) !== json;

            if(!dirty) return;

            var url = new URI('api/v2/rss/setRule');

            this.canSave(false);
            var request = new Request.JSON({
               url: url,
               noCache: true,
               method: 'post',
               data: { ruleName: this.name(), ruleDef: json },
               onFailure: function(response) {
                   //Unpexted behaviour, eror with status 200 trigger, why?
                   if(response.status !== 200) {
                       throw "Error saving rule";
                   }

                   this.data = toSave;
                   this.canSave(true);
               }.bind(this)
            }).send();
       }
    };

    var Feed = function(data, enabled) {
       this.name = data.name;
       this.url = data.url.url;
       this.id = data.url.uid;
       this.enabled = enabled;
    };


    var orgOptionsApply = ko.bindingConventions.conventionBinders.options.apply;
    ko.bindingConventions.conventionBinders.options.apply = function(name, element, bindings, options, type, data, viewModel) {
        orgOptionsApply(name, element, bindings, options, type, data, viewModel)

        if (options.length === 0 || options[0]["name"]) {
            bindings.optionsText = function() { return "name"; };
        }
    };

    ko.bindingHandlers.modal = {
        init: function(element, valueAccessor) {
            valueAccessor().subscribe(function(value) {
            if(value) {
                setTimeout(function () {
                new MochaUI.Window({
                    title: "RSS auto download",
                    content: element,
                    storeOnClose: true,
                    addClass: 'windowFrame', // fixes iframe scrolling on iOS Safari
                    scrollbars: true,
                    maximizable: false,
                    closable: true,
                    paddingVertical: 0,
                    paddingHorizontal: 0,
                    onClose: function() {
                        valueAccessor()(null);
                    }
                });
                }, 0);
            }
            });

        }
    }


    ko.applyBindings(new Model(), button)
})();

Хорошо, ребята, я разветвил qbittorrent. Теперь вы можете добавить мой интерфейс правил RSS, используя альтернативный метод webui. Вот мое репо

https://github.com/AndersMalmgren/qBittorrent

Инструкции для альтернативного UI
https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

@AndersMalmgren, почему бы вам не открыть PR для этого изменения?

@Piccirello Пара причин, сначала я использую движок MVVM под названием Knockout, я не уверен, что основная команда хочет добавить еще один движок в микс. Во-вторых, нет языковой поддержки. В-третьих, его визуальные эффекты не соответствуют остальному пользовательскому интерфейсу, и, наконец, мне нужно его очистить. : D

Сегодня исполняется 5 лет с момента запроса этой функции здесь, на github.

Можно ли получить отзывы о планах команд на будущее в отношении RSS и webui.

Можно ли получить отзывы о планах команд на будущее в отношении RSS и webui.

Отзыв не изменился за эти 5 лет. Он будет реализован, как только найдется веб-разработчик, который захочет внести в него свой вклад.

А пока мой альтернативный интерфейс выполняет свою работу :)

Я веб-разработчик и готов работать над этим (я сам очень хочу эту функцию). Не знаю, когда и смогу ли я его закончить, потому что я совсем не знаком с базой кода.

@alexiooo когда дело доходит до методов веб-API RSS, вы можете проверить мою ветку, как их использовать

@alexiooo , также вы можете связаться с @Piccirello. В последнее время он много работал над нашим веб-клиентом. Может, у него есть опыт внедрения RSS. По крайней мере, он может помочь с кодовой базой.

+1

@Piccirello @glassez @ngosang @buinsky
Это похоже на давний и очень популярный запрос, можно ли добавить его к вехе.
благодаря

У меня просто нет времени заниматься этим прямо сейчас. У меня даже не было возможности ответить на комментарии к моим существующим PR.

Дело в том, что у нас всего один веб-разработчик. Для этого нам нужна дополнительная поддержка сообщества.

@alexiooo Как упомянул @glassez , не стесняйтесь обращаться, если у вас есть какие-либо вопросы об архитектуре webui / webapi или кодовой базе qBittorrent. У меня нет опыта работы с RSS.

@Piccirello Есть ли какие-нибудь рекомендации по совместимости браузеров? Я хочу использовать некоторые функции ES6, в частности классы ( https://caniuse.com/#feat = es6-class)

Это то, что нам нужно было решить некоторое время. Я знаю, что мы обсуждали эту тему в других выпусках / обсуждениях, но не могу вспомнить где.

С одной стороны, у нас есть классы мокко, которые, вероятно, выполнят все, что вам нужно, из классов ES6. С другой стороны, классы ES6 поддерживаются всеми браузерами, которые, вероятно, используют наши пользователи, кроме IE11. Мне не нравится IE11, как и всем остальным, но я не хочу отказываться от поддержки без уважительной причины. Настоящая проблема в том, что у нас нет никаких метрик, чтобы узнать, какие браузеры используют наши пользователи.

Изменить: я нашел этот пост от @ Chocobo1 , с которым я во многом согласен.

Я не думаю, что многие люди используют IE11, даже Microsoft говорит не использовать его https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/The-perils-of-using-Internet-Explorer- как ваш-браузер по умолчанию / ba-p / 331732

Можно ли включить метрики, которые можно включить в настройках, и записывать анонимную статистику для подобных вещей?

Это справедливый момент. Кажется, что IE по-прежнему занимает от 5 до 10% рынка настольных браузеров, в зависимости от вашего источника . 10% действительно кажутся довольно высокими, и я бы не стал отказываться от поддержки для такого количества пользователей.

Но, возможно, 4.2.0 - хорошее время для перехода на es6. Пользователям IE придется либо оставаться на 4.1, либо использовать современный браузер. Но я не хочу принимать это решение в одиночку. @ Chocobo1 что ты

Эти 10% также будут включать пожилых пользователей, которые даже не знают, что такое торрент. Я думаю, что когда дело касается пользователей qBittorrent, число nunber, использующих IE, было бы намного ниже, но это невозможно сказать без какой-либо статистики пользователей qBittorrent.

Многие пользователи qBittorrent перешли на него из-за проблем с uTorrent, и если они достаточно осознают опасность uTorrent, чтобы перейти на qBittorrent, ЗАТЕМ войдите в настройки и сделайте его доступным через веб-интерфейс, я сомневаюсь, что они все еще используйте IE.

Но я просто предполагаю, что у меня нет никаких реальных цифр.

Добавление метрик - это довольно большой скачок для достижения краткосрочных результатов (особенно в мире поста GDPR), но при условии, что между настоящим моментом и прекращением поддержки браузера будет хотя бы один выпуск, это дает вам возможность закодировать предупреждение EOL. Таким образом, вы можете направлять сообщения конкретно в затронутые браузеры и подталкивать пользователей.

Учитывая, что это подталкивание помогает пользователям осознать, что их выбор браузера имеет более широкие последствия для безопасности, чем просто qB ... и ставит прямо перед ними предупреждение, каких показателей и сообщений в новостях никогда не будет, это, возможно, лучший подход.

но я не хочу отказываться от поддержки без уважительной причины.

Я думаю так: действительно ли классы ES6 настолько важны, что мы хотим отказаться от поддержки IE11? Я не совсем уверен ...
Даже если ответ положительный, ИМО, еще слишком рано делать переход в серии v4.2.x, я согласен с https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -475126288, что мы должны иметь заранее предупреждение EOL (по крайней мере, для нескольких выпусков). Если кто-то хочет это осознать, напишите еще один вопрос (или PR) и давайте обсудим там.

В качестве альтернативы мы можем использовать Babel для транспиляции. В любом случае мы застряли на этапе компиляции, поэтому он не будет иметь такого большого влияния. Таким образом, мы можем использовать ES6 и поддерживать IE одновременно.

Машинопись может быть использована. Он будет компилироваться в стандартные объекты-прототипы

Да, Typescript возможен, но я просто имел в виду перенос простого javascript ES6 в javascript, который будет работать в IE.

Да, но так как вам нужен этот дополнительный шаг сборки, вы можете также использовать машинописный текст и извлечь выгоду из безопасности типов

Если в настоящее время это невозможно, как насчет «клиентской» опции для пользовательского интерфейса X-сервера, чтобы мы могли запускать qbittorrent-nox и пользовательский интерфейс отдельно? Deluge делает что-то вроде этого: основной пользовательский интерфейс также может действовать как клиент для сервера, поэтому вы можете запустить сервер на машине без дисплея и управлять им удаленно с другого компьютера.

А пока мой альтернативный интерфейс выполняет свою работу :)

@AndersMalmgren
Мне бы хотелось получить инструкции по развертыванию альтернативного пользовательского интерфейса с установкой qBittorrent в Windows.
Т.е. загрузите XXX в папку, укажите qBittorrent «альтернативный веб-интерфейс пользователя» на эту папку.
Я вижу, что вы разместили сценарий в комментарии выше, а также сделали форк.
Могу ли я скопировать сценарий из вашего сообщения, сохранить его в файл с определенным именем файла (скажите, пожалуйста, как он должен называться!), А затем указать альтернативный веб-интерфейс qBittorrent на папку, содержащую этот файл?
Большое спасибо за предоставление этого сообществу.

@bakertony
Привет, сначала убедитесь, что вы находитесь в ветке 4.1.x.

src\webui\www все это должно быть помещено в папку на вашем локальном компьютере. Также не забудьте скопировать src\icons в src\webui\www\public\images

@bakertony
Привет, сначала убедитесь, что вы находитесь в ветке 4.1.x.

src\webui\www все это должно быть помещено в папку на вашем локальном компьютере. Также не забудьте скопировать src\icons в src\webui\www\public\images

Спасибо за это!
Просто чтобы объяснить это другим:
1) Я зашел на https://github.com/AndersMalmgren/qBittorrent
2) Я скачал (нажмите «клонировать или скачать»)
3) скопировал папку «qBittorrent-mastersrc \ webui \ www» в место на моем компьютере
4) Создал папку изображений в "www \ public" в скопированной папке на моем компьютере
5) скопировал содержимое "qBittorrent-mastersrc \ icons" в "www \ public \ images"
6) В настройках qBittorrent "Настройки -> Веб-интерфейс -> Использовать альтернативный веб-интерфейс" я установил "Местоположение файлов" как папку www и нажал "ОК".
7) перешел на http: // localhost : 8080, чтобы увидеть новый интерфейс.

Я вижу, что на панели инструментов появился новый значок «RSS», который позволяет мне видеть существующие автоматические загрузки RSS.
Это очень круто, спасибо за это.
К сожалению, я надеялся увидеть полную вкладку RSS, то есть увидеть содержимое RSS-канала и при необходимости загрузить дополнительные торренты: - / Надеюсь, что когда-нибудь появится обновление qBittorrent!

@bakertony Привет, похоже, api / v2 / rss / items? withData = true должен предоставить вам эти данные. хотя не пробовал.
https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation#get -all-items

Тогда вы можете использовать метод добавления торрента, чтобы добавить торрент.

https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation#add -new-torrent

@bakertony Я исправил пользовательский интерфейс для загрузки. Обязательно используйте ветку 41x, если вы используете загружаемую версию qbittorrent. Мастер - это если вы создаете исходный код из мастера

https://github.com/AndersMalmgren/qBittorrent/tree/v4_1_x

Большое спасибо за это @AndersMalmgren. Однако он не работает, как на экземпляре HTTPS qb, поскольку вы пытаетесь извлечь две библиотеки js из источника HTTP. Это заблокировано браузером, поскольку они имеют перекрестное происхождение. Простая замена http на https исправляет это. Я думаю, что в идеале библиотеки должны быть упакованы с помощью WebUI.

Также с выбранным альтернативным пользовательским интерфейсом все запросы значков / изображений в пользовательском интерфейсе завершаются ошибкой 500. Не знаю, почему, все они находятся в правильном месте файловой системы. Никаких ошибок в qbittorrent или nginx ... странно.

Моя самая большая проблема в том, что я не могу добавлять новые RSS-каналы. Есть ли способ как-то вставить их в хранилище конфигурации qb?

Не могли бы вы выбрать эту функцию для версии, поддерживающей Raspberry Pi 2? благодаря

@AndersMalmgren , я клонировал вашу ветку v4_1_x, скомпилировал и установил альтернативный ui по инструкции. У меня есть кнопка RSS, но она ничего не делает. Где я мог ошибиться?

@AndersMalmgren , на самом деле это был просто аддон NoScript, блокирующий javascript из вашего репо и knockoutjs. После их разрешения это работает.

@AndersMalmgren , API еще не поддерживает настройку (умную) фильтрацию эпизодов или вы просто не удосужились ее включить?

@Ingvix Добавил только те, которыми пользуюсь сам.

https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation#set -auto-download-rule

@AndersMalmgren , хорошо, спасибо. Думаю, я попробую и посмотрю, смогу ли я сделать это сам.

Как это еще не добавлено? 6 лет эта функция запрос. Давай! Это неотъемлемая часть любого клиента bittorrent.

Ага, Оуэн! Учитывая, сколько мы за это заплатили, возмутительно, что вы еще не написали код и не отправили его !!
Как поставить <</ sarcasm>>?

Я уже поставил плюс один за это, но я также рад вложить свои деньги туда, где я говорю, и внесу свой вклад в вознаграждение за это!

Я буду продолжать использовать utorrent 3.3 для Linux несколько лет назад, пока эта функция не будет завершена.

Вау ... 6 лет

Да, на твоем месте я перестал бы ждать.

+1

Это действительно кажется бессмысленным, но я собираюсь добавить свой +1 к этому запросу ... затем продолжу использовать uTorrent и проверять его каждые пару лет, чтобы увидеть, есть ли какой-нибудь прогресс. Тем не менее, я понимаю, что это бесплатный продукт, и ценю то, что он делает то, что делает, хотя, если он поддерживается рекламой, миграция людей из этого списка должна увеличить этот доход ...

@WilliCJ, как это вообще бессмысленно? Rtorrent - единственный пользовательский интерфейс с полным управлением RSS и открытым исходным кодом. Это широко используется.

Извините, @owenashurst, я, должно быть, не совсем

@WilliCJ ха-ха, да, Rtorrent - это приложение на базе Linux, у него есть пользовательский интерфейс под названием Rutorrent и есть плагин RSS, который обычно устанавливается по умолчанию. Qbittorent является кроссплатформенным, однако не уверен, что Rtorrent был кросс-скомпилирован.

Спасибо @owenashurst , я только что проверил, и похоже, что Rtorrent - это все еще только Linux, и поскольку я использую платформу Windows на компьютере, который я использую, у меня это не сработает. Спасибо, в любом случае! Учитывая это, я все же хотел бы приложить руку к тому, чтобы сделать RSS-каналы и параметры фильтров qBittorrent доступными через webui в списке разработчиков!

6 лет ожидания для меня - это слишком долго.
Любой альтернативный торрент-клиент с поддержкой Linux, docker, rss и webui?

@ Haxy89, если вы читаете предыдущие комментарии, я упомянул Rtorrent, который представляет собой bittorrent-клиент на базе Linux, а в веб-интерфейсе пользователя (Rutorrent), который вы устанавливаете отдельно, есть плагин с поддержкой RSS, который все онлайн-руководства включают по умолчанию. Также есть док-контейнер, в котором все это есть.

@owenashurst @ Haxy89 @WilliCJ , ребята, вы пробовали реализацию altWebUI из https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942 + https://github.com/qbittorrent/qBittorrent/issues/453# issuecomment -483342384?

@WolfganP Я еще не пробовал, пока он может управлять RSS-потоками, как в добавлении / редактировании / удалении, тогда это довольно хорошо. Я видел, что вы не можете просматривать / скачивать торренты из потерянного RSS-канала, но это не очень важно.

@WolfganP
Просто пробовал, но ...
obraz

Здесь нечего делать...

Собираюсь драться с RTorrent

@ Haxy89 Да, нельзя добавлять каналы из веб-интерфейса. Мне не хотелось искать новое решение, поэтому я перекомпилировал qbittorrent с включенным обычным пользовательским интерфейсом и добавил эти каналы через SSH и X11-forwarding. Также не были включены некоторые опции для автозагрузки, поэтому, если нужно их установить, нужно снова использовать X11-forwarding или отредактировать файлы конфигурации вручную. Что-то вроде перетаскивания, но это не похоже на то, что мне нужно слишком часто открывать обычный интерфейс, а qBittorrent имеет лучшее расширение для браузера для добавления новых торрентов на лету, поэтому я могу смириться с ситуацией.

@WolfganP
Просто пробовал, но ...
obraz

Здесь нечего делать...

Что говорит консоль? Что-то настроено неправильно. Убедитесь, что вы находитесь в ветке 4.1.x, кстати.

изменить: в настоящее время вам нужно настроить свои каналы из пользовательского интерфейса рабочего стола. Но у меня есть версия, в которой тоже можно настраивать каналы. Но это немного глючит

@WolfganP

Я не использую рабочий стол.
Было бы здорово иметь возможность настраивать все из Интернета, как в RTorrent

@ Haxy89 @AndersMalmgren У меня такая же проблема с пустой вкладкой «Ленты», даже если фид уже определен, но у меня не было времени на правильное устранение неполадок. Пример rss / feeds.json:

{
    "The Pirate Bay - Video": {
        "uid": "{ad569ad7-ea3e-4bb5-8c85-a43215b5d352}",
        "url": "https://thepiratebay.org/rss//top100/200"
    }
}

Поскольку я работаю с основной сборкой, проблема может заключаться в том, что altWebUI из форка @AndersMalmgren сильно отстает от текущего состояния WebUI. Возможно, @Piccirello (он же мастер WebUI :-) может предложить способ двигаться вперед и помочь в устранении неполадок.

@wolfganp Я тестировал только на 4.1.5,

@WolfganP У меня работает на 4.1.7

Кстати, функции API для принудительной загрузки RSS нет. Итак, вам нужно добавить автоматическое правило в свой канал. в противном случае вкладка "Каналы" будет пустой, хотя на ней должно отображаться имя канала под вкладкой каналов.

Обновлена ​​моя ветка 4.1.x с базовым пользовательским интерфейсом управления фидами

image

@AndersMalmgren теперь у меня работает нормально (только проверенный список каналов, а не другие функции). Большое спасибо!

Кстати, в строке 39 rss.js вам, вероятно, потребуется обновить формат значка RSS до svg : src='images/qbt-theme/rss-config.svg'

@WolfganP Вам нужно использовать иконки из 4.1.x. Там иконка png

@owenashurst @ Haxy89 @WilliCJ , ребята, вы пробовали реализацию altWebUI из # 453 (комментарий) + # 453 (комментарий) ?

@WolfganP Сейчас у меня есть, и сама кнопка «RSS Rules» не отображается должным образом (я, вероятно, сделал что-то не так, но я думал, что следовал инструкциям), но, похоже, она позволяет мне получить доступ и отредактировать RSS правила автоматической загрузки и просматривать существующие RSS-каналы, но не добавлять / редактировать их.

Пожалуйста, проверьте консоль на наличие ошибок

Пожалуйста, проверьте консоль на наличие ошибок

Извините, @AndersMalmgren , я не вижу ошибок, связанных с webui.

Моя первоначальная установка qBittorrent была просто из загруженного установщика с сайта qBittorent.org, но теперь я загрузил clone / zip с github и скопировал несколько файлов, которых не было в папке qBittorrent-mastersrc \ icons " https://github.com/AndersMalmgren/qBittorrent " clone / zip. Значок RSS-каналов теперь там.

Спасибо Андерсу и Оуэну!

... теперь мне просто нужно решить, как заставить файлового робота работать с qBittorrent!

Кстати, функции API для принудительной загрузки RSS нет. Итак, вам нужно добавить автоматическое правило в свой канал. в противном случае вкладка "Каналы" будет пустой, хотя на ней должно отображаться имя канала под вкладкой каналов.

@AndersMalmgren Просто подумал вслух (и не пробовал, так как я AFK): может быть, обходной путь - добавить правило, которое никогда не соответствует ни одному торренту, но все равно запускает обновление канала?

Я не понимаю, о чем вы, ребята. Какого API вам действительно не хватает?

добавить правило, которое никогда не соответствует ни одному торренту, но все равно запускает обновление ленты?

Так не работает.
Ленты обновляются с заданным интервалом. Когда к нему применяются правила обновления ленты.

Нам нужно предоставить эти настройки пользователю

image

Это можно исправить с помощью текущего API. Но функция Обновить все каналы отсутствует в API

image

Или обновите одиночный канал, если на то пошло

image

Я добавил настройки RSS-канала на вкладку настроек загрузки в моей ветке 4.1.x.

image

@AndersMalmgren
Какие-нибудь настройки для автоматической загрузки?
Где торренты скачиваются автоматически? Папка загрузки по умолчанию?
Фильтры для автоматической загрузки только выбранных торрентов и т. Д.?

@ Haxy89 Разве это не первые изменения, которые он внес в репо? Или, по крайней мере, анонсированные в этом номере. Вы можете установить место загрузки для каждого правила.

@ Haxy89 Они были включены, как говорит @Ingvix . Вышеуказанных настроек RSS не было до сих пор.

Я добавил настройки RSS-канала на вкладку настроек загрузки

Можете ли вы предоставить свои изменения в виде запроса на слияние?
Или он несовместим со встроенным в qBittorrent WebUI?

Но функция Обновить все каналы отсутствует в API

Будет.

Я добавил настройки RSS-канала на вкладку настроек загрузки

Можете ли вы предоставить свои изменения в виде запроса на слияние?
Или он несовместим со встроенным в qBittorrent WebUI?

Отсутствует только функция перевода. На данный момент это жестко запрограммировано

https://github.com/AndersMalmgren/qBittorrent/blob/c52de3980f7543248e88f76c09f53da41dc4d63b/src/webui/www/private/preferences_content.html#L236

Я буду в порядке даже с отсутствующим переводом, по крайней мере, мы сможем его получить!

Так что мне удалось заставить его работать, по крайней мере, визуально. Тем не менее, он никогда не добавлял торрентов. Я предполагаю, что include / do not include поддерживает регулярное выражение? я должен набирать его с косой чертой или без? если нет, я действительно не знаю, как это работает. и вы бы рассмотрели возможность поддержки регулярного выражения?

Кроме того, после того, как я испортил настройки rss, он просто перестал работать вместе. он выводит эту ошибку:
Неприемлемый тип файла, разрешен только обычный файл

когда я перехожу к URL-адресу
Я использую qbittorrent debian 10 из репозиториев. это 4.1.5-1

когда я изменяю настройки в разделе загрузки, он отключает новый пользовательский интерфейс, и я должен снова его включить (и молиться, чтобы он не сломал все)

в любом случае я просто хотел бы сказать, что вы делаете работу лорда. Я так благодарен за доступ к rss в веб-интерфейсе, даже если он немного глючит.

@xrishox Я не

знаете ли вы, что означает эта ошибка "Неприемлемый тип файла, разрешен только обычный файл"

иногда, когда я перехожу на появившийся URL-адрес webui. кажется, это можно исправить, только удалив qbittorrent.conf и начав заново

редактировать 1:
Я не знаю, является ли это ошибкой, характерной для моей установки, или что-то, с чем также столкнутся другие люди, поэтому я просто опубликую решение, которое сработало для меня, на случай, если у кого-то еще возникнет такая же проблема.

https://github.com/qbittorrent/qBittorrent/issues/10503#issuecomment -486923269

"# 10485 переименовал страницу входа из login.html в index.html. V4.1.5 по-прежнему ищет login.html, но ваша общая папка содержит index.html. Попробуйте переименовать этот файл в login.html."

редактировать 2:

Теперь у меня возникает эта странная проблема, когда время от времени он отключает альтернативный веб-интерфейс, и мне приходится снова включать его и снова вводить альтернативный путь. Это не такая уж большая проблема, поскольку, по крайней мере, это работает, но я не уверен, почему он это делает. Я также получаю странные ошибки пользовательского интерфейса, из-за которых значки пользовательского интерфейса не отображаются, а текст дублируется по какой-то странной причине. Я не уверен, почему это так, поскольку я скопировал все значки в / private и / public. это не мешает мне использовать qbittorrent, так что меня это не особо беспокоит. сообщаю об этом здесь только для полноты картины.

а вот изображение странных причуд пользовательского интерфейса https://i.imgur.com/kkdGyzs.png

Я действительно надеюсь, что в тот момент, когда он окажется стабильным и надежным, он будет объединен, так как это потрясающая функция.

Но функция Обновить все каналы отсутствует в API
Будет.

Спасибо @glassez ! https://github.com/qbittorrent/qBittorrent/pull/11055

знаете ли вы, что означает эта ошибка "Неприемлемый тип файла, разрешен только обычный файл"

Это происходит, когда в * nix включен альтернативный веб-интерфейс, а запрошенный файл не является «обычным файлом» (я не уверен, что именно это означает). Также вероятно, когда такого файла не существует, поэтому его тип не может быть проверен.

@xrishox Я выставил опцию регулярного выражения. Это в моей ветке 4,1.x

Я добавил настройки RSS-канала на вкладку настроек загрузки в моей ветке 4.1.x.

Портирую в мастер qBittorrent (# 11056).
К сожалению, я не могу сделать это с другим кодом @AndersMalmgren , потому что он несовместим с нашей кодовой базой.

@glassez это слишком старая школа для меня :)

Изменить: и мой код нужно очистить для официального выпуска

@AndersMalmgren, у вас была возможность попробовать https://github.com/qbittorrent/qBittorrent/pull/11055 ? (Разрешить обновлять элементы RSS через WebAPI)

Хорошо, я включил регулярное выражение. У меня еще не было события, при котором это сработало бы, так что надеюсь, что это сработает.

У меня есть несколько предложений по повышению качества жизни, если вы открыты для них. Обратите внимание, что это не запросы или требования, поскольку на самом деле он отлично работает для моего варианта использования, а несколько вещей, которые вы могли бы рассмотреть.

Когда вы нажимаете «Сохранить» на странице «Автозагрузка», он может сохранить изменения для всех автоматических загрузок, которые вы изменили, а не только для той, которая в данный момент находится в фокусе. Или, в качестве альтернативы, добавьте кнопку «Сохранить все».

Еще одна полезная функция - сделать так, чтобы автоматически загружаемый материал можно было добавить в категорию / тег, где категория / тег - это имя того, что загружается автоматически.

@WolfganP На данный момент у меня нет среды C ++, я не работал с ней годами, поэтому, честно говоря, не стал пытаться ее скомпилировать. Думаю, это запланировано на 4,2 рубежа. Но это легко исправить, как только остальной метод будет на месте.

@xrishox Спасибо за отзыв, могу добавить кнопку «Сохранить все». Категория кажется очень субъективной и может не подходить. Я могу выставить поле категории, если хотите?

@AndersMalmgren Если это поможет, вы можете использовать мой Dockerfile, чтобы легко создать свой локальный код qBittorrent. Он также соберет libtorrent 1.1 из исходников. На данный момент у него есть пара недостатков (вы пока не можете передать конфигурацию, он не поддерживает инкрементные сборки), но очень упрощает сборку qBittorrent.

Сборка Docker: docker build -t qbittorrent/qbittorrent .
Запуск докера: docker run --rm -it -p 8080:8080 qbittorrent/qbittorrent

@Piccirello, когда планируется 4.2? У меня нет причин исправлять это, пока не будет выпущена версия 4.2.

На данный момент ваше предположение не хуже моего.

@Piccirello, когда планируется 4.2? У меня нет причин исправлять это, пока не будет выпущена версия 4.2.

Публичная бета-версия 4.2.0 может быть выпущена в ближайшие несколько дней / недель или две в соответствии с # 10047
Ранее была опубликована альфа-версия 4.2.0, которую я использую с конца июня.

Хорошо, когда исправление RSS находится в стадии бета-тестирования, я могу реализовать его в своем мастере

Итак, у меня был триггер события rss, а регулярное выражение не работает. Я скопировал его из rutorrent именно там, где он работает, и попробовал как с косой чертой, так и без нее.

Теперь действие «refreshItem» доступно в ветке v4.1.x.

@glassez можно где-нибудь получить бета-версию? благодаря

Я не могу дождаться, когда ты улучшишь rss ui. @AndersMalmgren Можете ли вы сделать запрос на

@ caoli5288 вы пробовали использовать метод altWebUI согласно https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942? (https://github.com/AndersMalmgren/qBittorrent используйте ветку 4.1 согласно https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment-483342384)

@WolfganP Это работает, но не очень хорошо. Не похоже на то, что показано в https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -519135601, и содержимое веб-каналов затруднено для просмотра браузером.

图片

@ caoli5288 https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -519135601 - это не веб-интерфейс, а QtUI. Эти комментарии были связаны с обновлением фида, недоступным в веб-API, позже реализованным @glassez по адресу https://github.com/qbittorrent/qBittorrent/pull/11055.

Как это работает? Можем ли мы увидеть эту функцию в следующем выпуске?

Как это работает? Можем ли мы увидеть эту функцию в следующем выпуске?

Вы можете попробовать это: https://github.com/miniers/qb-web
но есть только китайский

Как это работает? Можем ли мы увидеть эту функцию в следующем выпуске?

Вы можете попробовать это: https://github.com/miniers/qb-web
но есть только китайский

@miniers спасибо! Вы пробовали это с помощью AltWebUI? Я просто открываю вопрос https://github.com/miniers/qb-web/issues/3, чтобы спросить об использовании существующих строк перевода.

Я +1 на RSS. Означает ли это, что в qbittorrent-nox будет загружаться базовая RSS?

(сомнительно, что это игнорируется с 2013 года)

Есть надежда увидеть это в 4.2? @ Chocobo1 Я видел, что ты значительно

+1 Я много лет использую qbittorrent и активно ищу другое торрент-приложение из-за отсутствия поддержки RSS в веб-интерфейсе в qbittorrent.

wtf 9 лет спустя и до сих пор нет обновлений reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

@ikiddoi Вы, вероятно, должны прочитать выше свой комментарий и понять, что он находится в бета-версии qbittorrent.

Ссылка: https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -549786145

Мне чего-то не хватает, я не вижу в WebUI опции с использованием qbitorrent-nox из нестабильного (4.2.0 \ ~ 201911110018-6775-8711613 \ ~ ubuntu18.04.1).

Заметьте, что совершенно точно, но всегда была проблема с четностью функций между nox и стандартной версией.

Я исправил поддержку 4.2 в моей основной ветке

https://github.com/AndersMalmgren/qBittorrent/tree/master

Он также теперь поддерживает обновления каналов. Щелкните маленький значок обновления рядом с названием канала.

Я не понимаю медлительности официальной команды в отношениях с сообществом.
Посмотрите на эти тысячи открытых вопросов!
Может пора найти замену qbittorrent.

Я не понимаю медлительности официальной команды в отношениях с сообществом.
Посмотрите на эти тысячи открытых вопросов!
Может пора найти замену qbittorrent.

Потому что им не хватает разработчиков. Вы можете внести свой вклад и предложить решения открытых проблем, но это, вероятно, вас не интересует, поскольку это неоплачиваемая работа.

Сколько вы пожертвовали на разработку функций и исправлений? Разработчики работают в свое свободное время, выполняя бесплатную работу, и даже если мы хотели бы, чтобы некоторые вещи, подобные этой, были реализованы раньше, мы должны выразить благодарность за работу и усилия, которые они вложили в проект, а не действовать. как будто это наше право делать то, что мы хотим, бесплатно и злиться на них, когда они не жертвуют больше своего времени ради нас.

Черт возьми, если бы я был одним из разработчиков, я бы начал пересматривать, хочу ли я вкладывать свое время и силы в проект, когда пользователи проекта настолько неблагодарны.

Вау, право в этой ветке.

Официальная команда опубликовала официальное заявление, что они просто не
имели время потратить на эту функцию, но были открыты для предложений от
сообщество. Радуйтесь, что он наконец-то появился, или сделайте свой вклад.

14 ноября 2019 года 12:28:20 caoli5288 [email protected] написал:

Я не понимаю медлительности официальной команды в отношениях с сообществом.
Посмотрите на эти тысячи открытых вопросов!
Возможно, пришло время найти замену qbittorrent.
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или откажитесь от подписки.

Сколько вы пожертвовали на разработку функций и исправлений

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

Приглашаем вас внести свой вклад и предложить решения открытых проблем.

Это высокомерная идея. Что может сделать большинство пользователей, кроме как жаловаться? Посмотрите на свой аккаунт. Вы не внесли ни строчки кода ни в один проект. Это потому, что ты доволен любым проектом? Или вы думаете, что github должен удалить страницу с проблемами и просто сохранить запрос на перенос?

Программное обеспечение с открытым исходным кодом потеряет пользователей, если не прислушается к сообществу. Странно, что меня обвиняют в простой констатации факта,

Что может сделать большинство пользователей, кроме как жаловаться?

Пожертвовать, тянуть запросы, конструктивная обратная связь. Спросите команду, что они хотели бы, чтобы вы внесли свой вклад.

Что касается того, что вы сказали, я скрою несколько ваших собственных слов в качестве ответа.

Как ты можешь сказать
этика программного обеспечения с открытым исходным кодом
Это высокомерная идея

Команда работает трудно, просто потому, что вы конкретно хотите, не делается не умаляет усилия, которые они ставят. Если вы не хотите, чтобы быть конструктивным и только здесь жаловаться, пожалуйста, оставьте. Эта токсичность никому не нужна.

Они прислушиваются к сообществу и расставляют приоритеты. Это заняло так много времени, потому что у них буквально не было никого, кто мог бы над ним работать большую часть времени, когда он был открыт.

Они слушают сообщество и расставляют приоритеты

@ BradleyDS2 Итак, 2000+ открыли проблемы?

Я разработчик с открытым исходным кодом и участвовал в десятках проектов с открытым исходным кодом. Что вы наделали? Я не вижу, чтобы вы участвовали в каких-то проектах, мне кажется, вы просто говорите.

Я ничего не делал с qbittorrent; Несколько месяцев назад я отправил запрос на dockerfile, но он был отклонен.

Вы были правы только в одном. Я ухожу.

Они слушают сообщество и расставляют приоритеты

@ BradleyDS2 Итак, 2000+ открыли проблемы?

Имею в виду закрытую 6500+.

Я разработчик с открытым исходным кодом и участвовал в десятках проектов с открытым исходным кодом. Что вы наделали? Я не вижу, чтобы вы вносили свой вклад в какой-либо проект, мне кажется, вы просто говорите.

Вам, должно быть, чего-то не хватает, потому что я определенно делал запросы на вытягивание для проектов раньше, но в основном я использую gitlab.

Я ничего не делал с qbittorrent; Несколько месяцев назад я отправил запрос на dockerfile, но он был отклонен.

Мы с вами оба знаем, почему он был отклонен. Он был настроен на автоматическое принятие юридического уведомления, и разработчики также сказали: «Я не думаю, что сейчас у нас есть возможность поддерживать его официально».

Единственная причина, по которой он до сих пор не был реализован все эти годы, заключается в том, что в команде проекта qBittorrent нет активного / постоянного веб-разработчика . Эта причина упоминалась здесь много раз, поэтому тем, кто ее не понимает, стоит серьезно задуматься о своих умственных способностях.

Я исправил поддержку 4.2 в моей основной ветке

https://github.com/AndersMalmgren/qBittorrent/tree/master

Он также теперь поддерживает обновления каналов. Щелкните маленький значок обновления рядом с названием канала.

Я предполагал, что функция автоматической загрузки RSS теперь будет реализована без необходимости в альтернативном пользовательском интерфейсе, но разве это не так? По крайней мере, я не вижу способа получить доступ к моим правилам автоматической загрузки из веб-интерфейса после создания вашей основной ветки.

Я исправил поддержку 4.2 в моей основной ветке
https://github.com/AndersMalmgren/qBittorrent/tree/master
Он также теперь поддерживает обновления каналов. Щелкните маленький значок обновления рядом с названием канала.

Я предполагал, что функция автоматической загрузки RSS теперь будет реализована без необходимости в альтернативном пользовательском интерфейсе, но разве это не так? По крайней мере, я не вижу способа получить доступ к моим правилам автоматической загрузки из веб-интерфейса после создания вашей основной ветки.

Я не знаю, как работает процесс сборки qbittorrent, но файлы есть, поэтому я предполагаю, что они должны быть включены в сборку.

Но я использую альтернативный метод пользовательского интерфейса

@AndersMalmgren Ну, я еще раз сделал, как указано в https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942, с источниками, с которыми я также создал qbittorrent, и заставил его работать. Забавно, что изменения не включены в саму сборку, хотя они есть в исходном коде.

@AndersMalmgren Что ж, я еще раз сделал, как указано в # 453 (комментарий), с источниками, с которыми я также собираю qbittorrent, и заставил его работать. Забавно, что изменения не включены в саму сборку, хотя они есть в исходном коде.

Может быть, есть список, куда нужно добавить rss.js, я думаю :)

@AndersMalmgren Что ж, я еще раз сделал, как указано в # 453 (комментарий), с источниками, с которыми я также собираю qbittorrent, и заставил его работать. Забавно, что изменения не включены в саму сборку, хотя они есть в исходном коде.

Нет необходимости перестраивать все с помощью форка
Просто получите его главный исходный код в виде zip-архива, извлеките веб-папку и укажите официальные настройки AltWebUI для qBt-сборки в эту папку. Все работает.

@WolfganP Если я правильно понимаю @Ingvix, он встроил исходный код в двоичный файл, и этот двоичный файл не содержал моих изменений.

Но вы правы, чтобы использовать мои изменения со стандартным двоичным файлом, вам нужно использовать альтернативный метод веб-интерфейса.

Просматривая код, похоже, что api уже построен, нужно только написать ui? https://github.com/qbittorrent/qBittorrent/blob/master/src/webui/api/rsscontroller.cpp

Я не знаю тонны C ++, но я знаю js и, возможно, могу что-то собрать

@ljmerza, вы можете

@ljmerza, вы можете

Какую ветку использовать с 4.2.1?

@ljmerza, вы можете

Какую ветку использовать с 4.2.1?

Ветвь v4_2_x моего репо обновлена ​​для поддержки 4.2.x

@ljmerza, вы можете

Какую ветку использовать с 4.2.1?

Ветвь v4_2_x моего репо обновлена ​​для поддержки 4.2.x

Планируете запрос на включение, чтобы получить поддержку rss webui в мастере?

@AndersMalmgren Можете ли вы открыть

@AndersMalmgren Можете ли вы открыть

Я мог бы, но я не уверен, что команда хочет, чтобы это вытащили, это не работает, как остальная часть пользовательского интерфейса, и я не сделал слишком большой дизайнерской работы над кодом, просто хотел, чтобы что-то быстро работало для моего собственного использования :)

@AndersMalmgren Можете ли вы открыть

Я поддерживаю это предложение.
У меня нет знаний в программировании (только копирование и вставка), и когда я пытаюсь использовать альтернативный WUI, он всегда ломается, и я должен вернуться с нуля.
Если это станет WUI по умолчанию, люди вроде меня смогут воспользоваться этой функцией RSS.

Нет необходимости объединять код и ждать выпусков функциональности WebUI (если WebAPI не был изменен), поскольку был реализован altWebUI. Используйте существующие инструменты, чтобы получить от @AndersMalmgren или других разработчиков изменения в WebUI, настройте официальный qBt, и вы готовы к работе.

то есть: чтобы загрузить только часть исходного дерева из github, используйте https://minhaskamal.github.io/DownGit
Специально для обновления модов RSS https://minhaskamal.github.io/DownGit/#/home ? Url = https:% 2F% 2Fgithub.com% 2FAndersMalmgren% 2FqBittorrent% 2Ftree% 2Fmaster% 2Fsburc% 2Fmaster% 2Fsburc% 2Fmaster% 2Fsburc% 2Fs затем разверните zip в какой-либо папке и используйте его как altWebUI, следуя инструкциям на https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

Не знаю, что делаю не так.

ссылка - это то, что я получаю в Chrome, когда вносил изменения в настройки WebUI
https://mega.nz/#!c9hTgYKa!2q4agsrwv787vwCre -as4IKog1lGQLTBAsGsMfDTeAo

а это еще одна моя папка www с иконками
https://mega.nz/#!AtoFFKhJ!q8RiQQdV2oYBHMhbcqnpmiUZ3cQFSKYltUiDRZCGY0E

это моя конфигурация WebUI
Веб-интерфейс \ Адрес = *
WebUI \ AlternativeUIEnabled = true
WebUI \ AuthSubnetWhitelist = @ Invalid ()
WebUI \ AuthSubnetWhitelistEnabled = false
WebUI \ CSRFProtection = true
WebUI \ ClickjackingProtection = true
WebUI \ Enabled = true
WebUI \ HTTPS \ Enabled = false
WebUI \ HostHeaderValidation = true
WebUI \ LocalHostAuth = false
WebUI \ Password_ha1 = xxxxx
WebUI \ Port = 1340
WebUI \ RootFolder = / mnt / Поделиться / www /
WebUI \ ServerDomains = *
WebUI \ UseUPnP = true
Веб-интерфейс \ Имя пользователя = xxxx

Может кто-нибудь мне помочь?

@Piocas Эта официальный форум qBittorrent за помощью по настройке.

Было бы замечательно иметь такую ​​возможность.

Печально видеть, что прошло 7 лет, а это не было реализовано. Довольно сумасшедший.

Нет необходимости объединять код и ждать выпусков функциональности WebUI (если WebAPI не был изменен), поскольку был реализован altWebUI. Используйте существующие инструменты, чтобы получить от @AndersMalmgren или других разработчиков изменения в WebUI, настройте официальный qBt, и вы готовы к работе.

то есть: чтобы загрузить только часть исходного дерева из github, используйте https://minhaskamal.github.io/DownGit
Специально для обновления модов RSS https://minhaskamal.github.io/DownGit/#/home ? Url = https:% 2F% 2Fgithub.com% 2FAndersMalmgren% 2FqBittorrent% 2Ftree% 2Fmaster% 2Fsburc% 2Fmaster% 2Fsburc% 2Fmaster% 2Fsburc% 2Fs затем разверните zip в какой-либо папке и используйте его как altWebUI, следуя инструкциям на https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

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

просто для подтверждения, только функция управления / редактирования недоступна в пользовательском интерфейсе? RSS-каналы по-прежнему вызывают загрузки?

+1 Пожалуйста, добавьте возможности RSS в qbittorrent-nox, чтобы у него был паритет функций с qBittorrent с X windows.

qbittorrent-nox имеет возможности RSS, это веб-интерфейс, который не предоставляет никакого пользовательского интерфейса для него.

Итак, теперь вам нужен интерфейс для управления им.

Итак, теперь вам нужен интерфейс для управления им.

Вы уже можете управлять им с помощью HTTP-запросов к WebAPI. Это то, что делает WebUI под капотом. Это просто набор кнопок, которые делают запросы.

Так что, пока WebUI не будет обновлен, чтобы предоставить графический способ сделать это, вы всегда можете просто делать запросы с помощью скрипта или чего-то еще.

Или буквально установите сами https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -600877487

Другой альтернативный веб-интерфейс, реализующий функциональность RSS https://github.com/CzBiX/qb-web

Другой альтернативный веб-интерфейс, реализующий функциональность RSS https://github.com/CzBiX/qb-web

желаю, чтобы это был веб-интерфейс по умолчанию! Это намного лучше, чем по умолчанию!

Другой альтернативный веб-интерфейс, реализующий функциональность RSS https://github.com/CzBiX/qb-web

желаю, чтобы это был веб-интерфейс по умолчанию! Это намного лучше, чем по умолчанию!

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

У меня есть соблазн закрыть эту проблему сейчас по следующим причинам:

  • Разговор длился слишком долго и не по теме. Несмотря на то, что из этого вышло несколько хороших вещей, предполагается, что этот тикет касается поддержки RSS в официальном WebUI. Это простой и понятный запрос функции, не место для многих вещей, которые здесь есть.
  • Есть много постов +1 / me too / pleeeeease / i've waited 58 years instead of contributing in any way whatsoever to the project besides this disrespectful and ungrateful comment, why is this not done yet? загромождающих весь разговор.
  • Поскольку запрошенная им функциональность теперь доступна через альтернативные веб-интерфейсы, единственное разумное решение, оставшееся без внимания, - поддержать ее в официальном.

Когда я закрою это, я открою два новых потока:

  • Один для отслеживания реализации этой функции в основном WebUI (и сосредоточиться исключительно на этом). Нет необходимости в комментариях +1 если вы просто хотите сказать «да, я тоже этого хочу», просто используйте реакции.
  • Одно называется «Обсуждение разработки альтернативного веб-интерфейса» или что-то подобное, чтобы люди могли свободно обсуждать разработку альтернативного веб-интерфейса в централизованном месте.

Если у кого-то есть дополнительные проблемы, дайте мне знать.

Всем спасибо за отзывы.

Тема обсуждения разработки открыта: https://github.com/qbittorrent/qBittorrent/issues/12354.
Запрос дополнительных функций также доступен по адресу

Была ли эта страница полезной?
0 / 5 - 0 рейтинги