Qbittorrent: Steuern / Bearbeiten von RSS-Feeds über die Web-Benutzeroberfläche

Erstellt am 25. Feb. 2013  ·  281Kommentare  ·  Quelle: qbittorrent/qBittorrent

Ich habe qbittorrent unter OpenSUSE 12.2 ausgeführt, das ich zum Einrichten von RSS-Feeds zum automatischen Herunterladen von Torrents verwendet habe, und ich habe diese Box als Medienserver für mein Zuhause verwendet. Ich kann so ziemlich alles über eine SSH-Sitzung oder über die Web-Benutzeroberfläche anpassen. Es wäre schön, die RSS-Feeds für qbittorrent steuern zu können, ohne ssh -Y in die Box und über die GUI ziehen und die Änderungen vornehmen zu müssen. Idealerweise möchte ich die Web-Benutzeroberfläche von meinem iPAD aus verwenden und die RSS-Feeds anpassen. Kann diese Funktion zur Web-Benutzeroberfläche hinzugefügt werden?
Vielen Dank
jdavis3980

Feature request Help wanted RSS WebUI

Hilfreichster Kommentar

Ich bin aus folgenden Gründen versucht, dieses Problem jetzt zu schließen:

  • Das Gespräch hat zu lange und zu wenig zum Thema geführt. Obwohl einige gute Dinge daraus entstanden sind, soll es bei diesem Ticket um RSS-Unterstützung in der offiziellen WebUI gehen. Es ist eine einfache und klare Feature-Anfrage, nicht der Ort für viele der Dinge, die hier sind.
  • Es gibt viele +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? Posts, die die gesamte Konversation überladen.
  • Da die von ihm angeforderte Funktionalität jetzt über alternative WebUIs verfügbar ist, ist es nur vernünftig, dies in der offiziellen Funktion zu unterstützen.

Wenn ich diesen schließe, öffne ich zwei neue Threads:

  • Eine, um die Implementierung dieser Funktion in der Haupt-WebUI zu verfolgen (und sich ausschließlich darauf zu konzentrieren). Keine Notwendigkeit für +1 Kommentare, wenn Sie nur sagen möchten "Ja, ich möchte das auch", verwenden Sie einfach Reaktionen.
  • Eine so genannte "Alternative WebUI-Entwicklungsdiskussion" oder ähnliches, damit Benutzer die alternative WebUI-Entwicklung an einem zentralen Ort frei diskutieren können.

Wenn jemand zusätzliche Bedenken hat, lass es mich wissen.

Alle 281 Kommentare

+1 Bitte fügen Sie qbittorrent-nox RSS-Funktionen hinzu, damit es Funktionsparität mit qBittorrent mit X-Fenstern aufweist.

+1

+1 unter Windows zu

+1

+1

+1

@buinsky Ich habe gesehen, dass Sie in der Weboberfläche gearbeitet haben. Es scheint, dass diese Funktion nützlich sein kann.

+1

Diese fehlende Funktion ist möglicherweise ein Deal Breaker für Personen, die von uTorrent migrieren. Alles andere ist großartig und noch besser.

Danke und mach weiter so :)

+1
Ich würde gerne sehen, dass dies geschieht.

+1

+1 Wie oben beschrieben, ist dies ein Deal Breaker für mich. Würde es gerne sehen.

+1
Aus diesem Grund muss ich mich an uTorrent Bloatware halten

+1 Bitte - bester kopfloser Client, den ich bisher gefunden habe, und dies würde es einfach vervollständigen.

+1

+1. Das wäre sehr nützlich.

Bitte! +1

Bitte fügen Sie diese Funktion hinzu! +1

+1 für diese Funktion

+1
Von Anfang an vermisst

+1
das wird mich von utorrent bewegen

+1
Ich stecke jetzt ohne das fest

+1

+1

+1

Ja, würde diese Funktion sehr gerne haben! Kann dann vom Augenpolster aus steuern :-). : +1:

+1 benötigen Web-UI mit RSS für Headless Server.

+1

+1

+1

+1

+1

+1

+1

+1

+1

Drei Jahre und immer noch keine Unterstützung für RSS-Feeds in der Headless-Version? Die Windows-Version ist zwar großartig, aber nur enttäuschend.

Vielleicht kann mir jemand Hinweise zum Bearbeiten der .conf geben? Ich bin dem auch nicht abgeneigt, aber ich würde trotzdem gerne sehen, wie die Benutzeroberfläche folgt.

Ich habe versucht, die Datei mit einigen verschiedenen Codierungen für die Speicherpfade zu bearbeiten, konnte sie jedoch nicht zum Laufen bringen. Ich musste stattdessen Flexget verwenden.

+1

+1

Ich würde gerne von dem uTorrent-Server weg migrieren, der Closed Source ist und nicht aktiv entwickelt zu sein scheint, aber dies ist das einzige, was mich aufhält

+1

+1

Nun, irgendwann habe ich mich für Flexget entschieden: Das kann kopflos ausgeführt werden und bietet dennoch die Funktionen, die ich benötige.

Dies würde die Möglichkeit ausschließen, automatisch auf Magnetverbindungen zu basieren.

+1

+1

+1 (und das Sortieren nach hinzugefügten und abgeschlossenen Daten konnte nicht schaden)

Am Samstag, 25. Juni 2016, 17:23 Uhr Rihards Skuja [email protected]
schrieb:

+1

- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -228571166,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe/AGbY-5ty-GOC3gqmyGctI5zjwX6cJMGhks5qPZw8gaJpZM4AdExq
.

Die Weiterleitung von SSH X11 funktioniert einwandfrei, aber diese Funktion in der WebUI wäre viel besser.

+1 benutze jetzt Flexget, aber RSS in qbittorrent-nox integriert zu haben, wäre fantastisch!

+1

und das Sortieren nach hinzugefügten und abgeschlossenen Daten konnte nicht schaden

Hinzugefügt in # 5547

+1

+1

+1

Hat niemand versucht, diese Funktion auf einer Gabel oder einem Patch zu implementieren? Es ist wirklich seltsam, dass es nach all dieser Zeit immer noch keine Implementierung dieser grundlegenden und wirklich benötigten Funktion gibt.

+1 dazu. Das Ausführen einer kopflosen Torrent / PleX-Box würde dies vervollständigen.

+1

+100!

Ja, +1 für mich.

Wow, ich habe eine Stunde lang nach dieser Option gesucht, um sie in der config / etc zu aktivieren, nur um herauszufinden, dass qbtorrent nox sie nicht unterstützt. Pfui. :enttäuscht:

Ich benutze jetzt Sonarr, das ziemlich voll ausgestattet ist, aber ich suchte nach etwas Leichtem und Integriertem

+1

+1

Überrascht ist, dass dies nach 4 Jahren noch nicht hinzugefügt wurde. Kein Wunder, dass jeder rTorrent verwendet.

+1 OMG das ist wirklich lächerlich, machen wir qBittorent zu einem wirklich guten Bittorent-Kunden

Eine Art RSS-bezogenes WebAPI kann (sollte) als Teil von # 6505 implementiert werden.

Ich begann, RSS-Unterstützung in WebUI zu implementieren. Aber ich kann diese Arbeit wegen der Antidepressiva, die ich nehme, nicht abschließen.

@ qbittorrent / webdev
Möglicherweise kann es jemandem helfen, die RSS-Unterstützung in der WebUI zu implementieren. Mein Code befindet sich hier:

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

+1

+1

+1

Noch eine Person, die nach vielen Jahren eine +1 hinzufügt.

+1

+1 wird wahrscheinlich etwas schreiben, um den RSS-Feed zu analysieren und die API selbst mit dieser Geschwindigkeit zu stupsen ...

@buinsky , kannst du deine Arbeit dazu noch nicht abschließen?

@glassez kann ich leider nicht.

Ich schätze @glassez sehr, dass er versucht hat, dieses Problem zu beheben. Gibt es einen groben Zeitplan für die Implementierung des Fixes und die Version von qBittorrent, die den Fix wahrscheinlich haben wird?

+1

+1

+1

+1

+1

+1 Es ist ärgerlich, für das eine, was benötigt wird, auf meinen Server zugreifen zu müssen ... RSS-Änderungen. ansonsten super Client!

+1 hatte nicht einmal bemerkt, dass dies keine Sache war. :( Würde es auf jeden Fall wollen!

Bitte implementieren Sie diese Funktion!

Leider hat das Projekt derzeit keinen aktiven Webentwickler ...

+1
Ich habe die qbittorrent-Homepage gesehen und bin sofort reingesprungen, um ohne Header zu installieren

  • Fernsteuerung über die mit AJAX geschriebene Web-Benutzeroberfläche
    - Fast identisch mit der regulären GUI

Dieser Text sagt nicht, dass Funktionen fehlen, nur dass die GUI nicht genau dieselbe ist.

Gibt es eine Anleitung, wie RSS über SSH in qbittorrent funktioniert?

+1

+1!
Wieso ist das noch nicht da?

Weil jeder, der sich darum kümmert, es noch nicht implementiert hat. Ich denke, Pull-Anfragen sind willkommen.

Nun, während die Leute warten, möchte ich darauf hinweisen, dass der Utorrent-Server für Linux 3.3_alpha eine RSS-Komponente in der WebUI hat

und mit der Community 0.83 Webui ist es voll funktionsfähig (dem Stock Webui fehlen ein paar Dinge)

Eine entsprechende Web-API befindet sich derzeit in der Entwicklung. Ich hoffe, es wird mit dem ersten Update des 4.0.x-Zweigs veröffentlicht.
Was die Web-Benutzeroberfläche betrifft, kann ich die Veröffentlichung nicht planen, da wir keinen aktiven Webentwickler haben.

Ich bin gerade zu einem Rockstor NAS gewechselt und habe festgestellt, dass meine RSS-Konfiguration nicht aus der Web-Benutzeroberfläche importiert werden kann. Autsch...

+1! Ich habe gerade ein Netgear NAS gekauft und diese Funktion wird in der Web-UI-Version wirklich benötigt!

+1

+1

+1

+1

Dies ist eine Art Lösung, wenn Sie eine Problemumgehung benötigen.
https://askubuntu.com/questions/498232/using-rss-in-qbittorrent

+1

qBittorrent v4.1 verfügt über eine experimentelle RSS-Verwaltungs-API. Siehe hier .

Werden wir bald sehen, dass dies unterstützt wird? Ich führe qbittorent als Dienst aus. Es ist wirklich ärgerlich, dass ich den Dienst herunterfahren und auf dem Desktop starten muss, um RSS-Downloads zu verwalten

Werden wir bald sehen, dass dies unterstützt wird?

Hast du meinen vorherigen Kommentar nicht bemerkt? Oder meinst du Web UI?

Ich meine Web-Benutzeroberfläche, aber ich arbeite daran, eine Ansicht dafür mit Tamper Monkey für Chrome einzufügen. Bleiben Sie dran

Hier ist also Tampermonkey für Chrome erforderlich. Es ist höchst ungetestet, beschuldigen Sie mich nicht, wenn es Ihre Regeln oder ähnliches überschreibt.

// ==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)
})();

Das Aufrufen von setRule mit bestimmten betroffenen URLs scheint qbitTorrent zu verwirren. Es speichert nicht den betroffenen Feed in der Regel, sondern aktiviert die Regel, obwohl ich dies nicht möchte.

URL (bearbeitete Weise peronale Daten)

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

Ich habe das obige Skript aktualisiert, um unerwartetes Verhalten / Fehler mit der aktuellen API zu berücksichtigen.
Renmae deine Feeds auch nicht, halte den Namen mit der URL synchron

Hallo! Zunächst einmal danke Anders für das Drehbuch. Aber ich habe es versucht und vielleicht habe ich etwas falsch gemacht, weil ich nur ein orangefarbenes "RSS" im oberen Menü sehe (siehe Screenshot). Wenn ich auf klicke, wird dieses Popup-Fenster angezeigt, in dem ich eigentlich nichts tun kann ... was sollen wir sehen und wo? Ich konnte nichts anderes finden. (Übrigens, wenn ich auf "Hinzufügen" klicke, passiert nichts und das Dropdown-Menü ist leer und kann nicht bearbeitet werden.)

Danke im Voraus!

image

Hallo @jadazul Danke.

Es sollte so aussehen,
Rss

Es wurde gegen v4.1.1 Web UI getestet

Möglicherweise muss ein Feed definiert sein, damit er funktioniert. Es ist nur eine Benutzeroberfläche für Regeln. Wenn Sie einen RSS-Feed haben, aber keine Regeln, müssen Sie auf Hinzufügen klicken, und Sie können Felder ausfüllen. Obwohl es in 4.1.1 einen Fehler gibt, können Sie keine Regeln speichern, die lange URL-Feeds enthalten, wie in meinem Beispiel im obigen Beitrag

Obwohl es in 4.1.1 einen Fehler gibt, können Sie keine Regeln speichern, die lange URL-Feeds enthalten, wie in meinem Beispiel im obigen Beitrag

Sind Sie sicher, dass Ihr Skript eine Feed-Feed-URL im selben Format sendet, das Sie beim Hinzufügen von Feeds in qBittorrent verwendet haben?

@glassez

Ich verwende die von zurückgegebene URL

api / v2 / rss / items

Nochmals vielen Dank

Da ich qBittorrent-nox auf einem kopflosen Ubuntu-Server installiert habe, konnte ich keinen einzigen RSS-Feed hinzufügen ... Ich habe das Wiki für die API gelesen, aber es gibt nicht viele Beispiele dafür ... Ich habe versucht, curl im ssh-Terminal zu verwenden, mich einzuloggen und mir ein Cookie zu geben, aber ohne / api / v2, das funktioniert nicht, erhalte ich jedes Mal einen 404-Fehler und konnte kein Beispiel dafür finden Mach es richtig, also habe ich aufgegeben und dein Skript ausprobiert (aber jetzt verstehe ich, dass es nur darum geht, vorhandene Feeds zu verwalten).

Gibt es eine Möglichkeit, den Feed hinzuzufügen, damit ich ihn später mit Ihrem Skript verwalten kann? Selbst wenn einige Konfigurationsdateien manuell geändert werden, muss ich nur einen Weg finden, dies zu tun ...

Danke noch einmal!

Ich kann es später untersuchen. Ich habe es nur gemacht, um meinen Anwendungsfall zu unterstützen, bei dem Regeln zu vorhandenen Feeds hinzugefügt werden

Bearbeiten: Haben Sie die Konsole auf Fehler überprüft?

Entschuldigung, ich habe gerade Ihre Bearbeitung gesehen, als ich dies überprüft habe.

Jedes Mal, wenn ich es mit Curl versuche, erhalte ich nur den 404-Fehler und nicht viele weitere Details ...

Bist du auf 4.1.1? Die RSS-API wurde in 4.1 hinzugefügt

Ja, ich habe qBittorrent-nox v4.1.1 auf einem kopflosen Ubuntu Server 18.04 installiert

Bearbeiten: Scratch das, ich habe es gerade überprüft und selbst ich dachte, ich hätte die letzte Version (weil ich apt-get von Ubuntu verwendet habe, nahm ich an, dass es die letzte Version war), habe ich stattdessen v4.0.3 installiert ... Mein schlechtes, ich Ich werde versuchen, bald die neueste Version zu installieren. Trotzdem danke für deine Hilfe!

setRule funktioniert in 4.1.2 immer noch nicht

+1

setRule funktioniert in 4.1.3 immer noch nicht. Hier ist ein Video, das ich erstellt habe. Sie können sehen, dass alles schief geht, wenn ich versuche, eine Feed-URL festzulegen

https://youtu.be/t_w9epoyxC8

@AndersMalmgren Denken Sie daran, dass Sie Ihre Server-Seite für Webui-Verbesserungen einfügen können, anstatt Tampermonkey über die Alt-WebUI https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage zu verwenden

setRule funktioniert in 4.1.3 immer noch nicht. Hier ist ein Video, das ich erstellt habe. Sie können sehen, dass alles schief geht, wenn ich versuche, eine Feed-URL festzulegen

https://youtu.be/t_w9epoyxC8

Das Protokoll wurde geändert. Ich kann mich nicht genau erinnern, welches ich vor einiger Zeit geändert habe. Bitte prüfen.

`

// ==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 hast du Änderungen an meinem Code vorgenommen, den du oben gepostet hast?

Ich habe mich daran erinnert, dass sich vor einiger Zeit etwas geändert hat. Es war das Format, in dem die URLs aufgelistet wurden, wenn ich mich richtig erinnere. Die setRules akzeptiert immer noch ein Array von URL-Zeichenfolgen.

@ rqi14 hast du Änderungen an meinem Code vorgenommen, den du oben gepostet hast?

Ich habe mich daran erinnert, dass sich vor einiger Zeit etwas geändert hat. Es war das Format, in dem die URLs aufgelistet wurden, wenn ich mich richtig erinnere. Die setRules akzeptiert immer noch ein Array von URL-Zeichenfolgen.

Ja, habe ich. Ich erinnere mich nicht, welche Änderung ich wie gesagt vorgenommen habe. Aber es funktioniert jetzt.

@ rqi14 Ich habe unsere beiden Versionen in einem Vergleichstool verglichen und ja, deine Änderung habe ich bereits vorgenommen. Sie haben das Format der von api / v2 / rss / items zurückgegebenen Feed-URLs geändert

Wenn ich VNC und die reguläre GUI verwende oder die Einstellungen einfach mit RSS-Feeds kopiere, die bereits von einem Computer eingerichtet wurden, auf dem die GUI ausgeführt wird, kann ich dann qbittorrent stoppen und qbittorrent-nox starten, und es wird das übernehmen? Mit anderen Worten: Fehlt nur die GUI oder der gesamte Funktionsumfang?

Wenn ich das richtig verstehe, müssen wir den RSS-Feed selbst hinzufügen und er wird nicht zum Webui hinzugefügt?

Wenn ich VNC und die reguläre GUI verwende oder die Einstellungen einfach mit RSS-Feeds kopiere, die bereits von einem Computer eingerichtet wurden, auf dem die GUI ausgeführt wird, kann ich dann qbittorrent stoppen und qbittorrent-nox starten, und es wird das übernehmen? Mit anderen Worten: Fehlt nur die GUI oder der gesamte Funktionsumfang?

Anscheinend fehlt nur die GUI. Ich habe zum Testen auf -nox gewechselt, bevor ein Torrent, auf den ich gewartet habe, veröffentlicht wurde, und er wurde erfolgreich automatisch heruntergeladen.

Haben Sie eine Idee, wann die GUI-Erweiterung angestrebt wird?

Hey Leute, hier ist meine neueste Version meiner RSS-Regel-Benutzeroberfläche.
Es werden jetzt Beiträge für alle Anforderungen verwendet, die Daten mutieren. Als Bonus funktioniert es mit allen Feed-URLs (es ist ein Fehler, wie qbittorrent Pfade von aktuellen Anfragen analysiert).
Diese Benutzeroberfläche unterstützt derzeit nur Regeln. Sie können keine Feeds usw. hinzufügen. Sie können sie jedoch auch selbst hinzufügen

// ==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)
})();

Ok Leute, ich habe qbittorrent gegabelt. Sie können jetzt meine Benutzeroberfläche für RSS-Regeln mithilfe der alternativen Webui-Methode hinzufügen. Hier ist mein Repo

https://github.com/AndersMalmgren/qBittorrent

Anweisungen für alternative Benutzeroberfläche
https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

@AndersMalmgren warum

@Piccirello Mehrere Gründe: Zuerst verwende ich eine MVVM-Engine namens Knockout. Ich bin mir nicht sicher, ob das Kernteam der Mischung eine weitere Engine hinzufügen möchte. Zweitens keine Sprachunterstützung. Drittens stimmt die Grafik nicht mit dem Rest der Benutzeroberfläche überein, und zuletzt muss ich sie bereinigen. : D.

Heute ist das 5-jährige Jubiläum dieser Feature-Anfrage hier auf Github.

Ist es möglich, Feedback zu den zukünftigen Plänen des Teams für RSS und das Webui zu erhalten?

Ist es möglich, Feedback zu den zukünftigen Plänen des Teams für RSS und das Webui zu erhalten?

Das Feedback hat sich in diesen 5 Jahren nicht geändert. Es wird implementiert, sobald es einen Webentwickler gibt, der dazu beitragen möchte.

In der Zwischenzeit erledigt meine alternative Benutzeroberfläche den Job :)

Ich bin ein Webentwickler und bereit, daran zu arbeiten (ich möchte diese Funktion sehr gerne selbst). Ich weiß nicht genau, wann / ob ich es tatsächlich beenden kann, da ich mit der Codebasis überhaupt nicht vertraut bin.

@alexiooo Wenn es um die RSS-Web-API-Methoden geht, können Sie in meinem Zweig

@alexiooo , auch Sie können @Piccirello kontaktieren. Er hat in letzter Zeit viel Arbeit in unserem Web-Client geleistet. Vielleicht hat er Erfahrung in der RSS-Implementierung. Zumindest kann er bei der Codebasis helfen.

+1

@Piccirello @glassez @ngosang @buinsky
Dies scheint eine langjährige und sehr beliebte Anfrage zu sein, wäre es möglich, sie einem Meilenstein hinzuzufügen.
Vielen Dank

Ich habe einfach nicht die Zeit, das jetzt anzunehmen. Ich hatte noch nicht einmal die Gelegenheit, die Kommentare zu meinen vorhandenen PRs anzusprechen.

Tatsache ist, dass wir nur einen Webentwickler haben. Wir brauchen mehr Unterstützung von der Community, um dies zu erreichen.

@alexiooo Wie @glassez bereits erwähnt hat, können Sie sich wenden , wenn Sie Fragen zur Webui / Webapi-Architektur oder zur Codebasis von qBittorrent haben. Ich habe keine Erfahrung mit RSS.

@Piccirello Gibt es Richtlinien zur Browserkompatibilität? Ich möchte einige ES6-Funktionen verwenden, insbesondere Klassen ( https://caniuse.com/#feat = es6-class).

Darüber müssen wir uns schon seit einiger Zeit entscheiden. Ich weiß, dass wir dieses Thema in anderen Ausgaben / Prs besprochen haben, kann mich aber nicht erinnern, wo.

Zum einen haben wir Mokka-Klassen, die wahrscheinlich alles erreichen, was Sie von ES6-Klassen benötigen. Auf der anderen Seite werden ES6-Klassen von allen Browsern unterstützt, die unsere Benutzer wahrscheinlich verwenden, außer IE11. Ich mag IE11 nicht so sehr wie die nächste Person, aber ich möchte den Support nicht ohne guten Grund einstellen. Das eigentliche Problem ist, dass wir keine Metriken haben, um zu wissen, welche Browser unsere Benutzer verwenden.

Edit: Ich habe diesen Beitrag von @ Chocobo1 gefunden , dem ich weitgehend zustimme.

Ich glaube nicht, dass viele Leute IE11 verwenden, selbst Microsoft sagt, dass es nicht verwendet werden soll. Https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/The-perils-of-using-Internet-Explorer- as-your-default-browser / ba-p / 331732

Wäre es möglich, Metriken zu aktivieren, die in den Einstellungen aktiviert werden können, und anonyme Statistiken für solche Dinge aufzuzeichnen?

Das ist ein fairer Punkt. Es scheint, dass der IE je nach Quelle immer noch zwischen 5 und 10% des Marktes für Desktop-Browser

Aber vielleicht ist 4.2.0 ein guter Zeitpunkt, um auf es6 umzusteigen. IE-Benutzer müssen entweder auf 4.1 bleiben oder einen modernen Browser verwenden. Ich möchte diese Entscheidung jedoch nicht alleine treffen. @ Chocobo1 was

Diese 10% würden auch ältere Benutzer einschließen, die nicht einmal wissen, was Torrenting ist. Ich denke, wenn es um die Benutzer von qBittorrent geht, wäre die Anzahl der Benutzer, die IE verwenden, weitaus geringer, aber es ist unmöglich, dies ohne Statistiken der Benutzer von qBittorrent zu sagen.

Viele qBittorrent-Benutzer sind aufgrund von Problemen mit uTorrent zu diesem Programm gewechselt. Wenn sie sich der Gefahren von uTorrent bewusst sind, um zu qBittorrent zu wechseln, gehen Sie in die Einstellungen und stellen Sie es so ein, dass es über ein Webgui zugänglich ist. Ich bezweifle, dass sie es immer noch sind Verwenden Sie IE.

Aber ich gehe nur davon aus, dass ich keine reellen Zahlen habe.

Das Hinzufügen von Metriken ist ein ziemlich großer Sprung, um kurzfristig zu erreichen (insbesondere in einer Post-GDPR-Welt). Vorausgesetzt, es gibt mindestens eine Version, bis Sie die Browserunterstützung einstellen, haben Sie die Möglichkeit, eine EOL-Warnung zu codieren. Auf diese Weise können Sie Nachrichten gezielt an die betroffenen Browser richten und den Benutzern einen Anstoß geben.

Angesichts der Tatsache, dass dieser Anstoß den Benutzern hilft, zu erkennen, dass ihre Browserauswahl weitreichendere Auswirkungen auf die Sicherheit hat als nur qB ... und die Warnung direkt vor ihnen liegt, welche Metriken und Nachrichtenbeiträge niemals angezeigt werden, ist dies möglicherweise ein besserer Ansatz.

aber ich möchte die Unterstützung nicht ohne guten Grund einstellen.

Ich denke, ist es so wichtig, ES6-Klassen zu haben, dass wir die IE11-Unterstützung wegwerfen möchten? Ich bin mir nicht ganz sicher ...
Auch wenn die Antwort positiv ist, IMO ist es noch zu früh, um den Wechsel in der v4.2.x-Serie vorzunehmen. Ich stimme https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -475126288 zu, dass wir sollten Habe vorher eine EOL-Warnung (zumindest für einige Releases). Wenn jemand es realisieren möchte, reichen Sie bitte ein anderes Problem (oder PR) ein und lassen Sie es dort diskutieren.

Alternativ können wir Babel für die Transpilation verwenden. Wir sind sowieso mit einem Kompilierungsschritt festgefahren, daher hat dies keine so großen Auswirkungen. Auf diese Weise können wir ES6 verwenden und gleichzeitig den IE unterstützen.

Typoskript kann verwendet werden. Es wird zu Standardprototypobjekten kompiliert

Typoskript ist möglich, ja, aber ich wollte nur einfaches ES6-Javascript in Javascript umwandeln, das im IE ausgeführt wird.

Ja, aber da Sie diesen zusätzlichen Build-Schritt benötigen, können Sie auch Typoskript verwenden und von der Typensicherheit profitieren

Wenn dies derzeit nicht möglich ist, wie wäre es mit einer "Client" -Option für die X-Server-Benutzeroberfläche, damit wir qbittorrent-nox und die Benutzeroberfläche getrennt ausführen können? Deluge macht ungefähr so: Die Hauptbenutzeroberfläche kann auch als Client für den Server fungieren, sodass Sie den Server auf einem Computer ohne Anzeige ausführen und ihn von einem anderen Computer aus fernsteuern können.

In der Zwischenzeit erledigt meine alternative Benutzeroberfläche den Job :)

@AndersMalmgren
Ich hätte gerne Anweisungen zum Bereitstellen Ihrer alternativen Benutzeroberfläche mit einer Windows-Installation von qBittorrent.
Dh XXX in einen Ordner herunterladen, qBittorrent "Benutzer alternative Web-Benutzeroberfläche" auf diesen Ordner verweisen.
Ich kann sehen, dass Sie das Skript in einem Kommentar oben gepostet und auch eine Abzweigung vorgenommen haben.
Kann ich das Skript aus Ihrem Beitrag kopieren, in einer Datei mit einem bestimmten Dateinamen speichern (bitte sagen Sie mir, wie es heißen soll!) Und dann die alternative Web-Benutzeroberfläche von qBittorrent auf den Ordner verweisen, der diese Datei enthält?
Vielen Dank, dass Sie dies der Community zur Verfügung gestellt haben.

@ Bakertony
Hallo, stelle zuerst sicher, dass du dich im 4.1.x-Zweig befindest.

src\webui\www Alle diese sollten in einen Ordner auf Ihrem lokalen Computer verschoben werden. Stellen Sie außerdem sicher, dass Sie src\icons nach src\webui\www\public\images kopieren

@ Bakertony
Hallo, stelle zuerst sicher, dass du dich im 4.1.x-Zweig befindest.

src\webui\www Alle diese sollten in einen Ordner auf Ihrem lokalen Computer verschoben werden. Stellen Sie außerdem sicher, dass Sie src\icons nach src\webui\www\public\images kopieren

Dank dafür!
Nur um es wirklich für andere zu formulieren:
1) Ich ging zu https://github.com/AndersMalmgren/qBittorrent
2) Ich habe heruntergeladen (klicken Sie auf "Klonen oder Herunterladen")
3) kopierte den Ordner "qBittorrent-mastersrc \ webui \ www" an einen Ort auf meinem Computer
4) Erstellt einen Bilderordner unter "www \ public" im kopierten Ordner auf meinem Computer
5) kopierte den Inhalt von "qBittorrent-mastersrc \ icons" nach "www \ public \ images"
6) In qBittorrent "Einstellungen -> Web-Benutzeroberfläche -> Alternative Web-Benutzeroberfläche verwenden" habe ich den Speicherort der Dateien als WWW-Ordner festgelegt und auf OK geklickt
7) Navigierte zu " http: // localhost : 8080", um die neue Benutzeroberfläche anzuzeigen

Ich kann sehen, dass es ein neues "RSS" -Symbol in der Symbolleiste gibt, mit dem ich die vorhandenen automatischen RSS-Downloads anzeigen kann.
Das ist sehr cool, danke dafür.
Leider hatte ich gehofft, den vollständigen RSS-Tab zu sehen, dh den Inhalt des RSS-Feeds zu sehen und bei Bedarf weitere Torrents herunterzuladen: - / Ich hoffe, dass eines Tages ein qBittorrent-Update verfügbar sein wird!

@bakertony Hallo, es scheint, dass api / v2 / rss / items? withData = true in der Lage sein sollte, Ihnen diese Daten zu geben. habe es aber nicht versucht.
https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation#get -all-items

Dann können Sie möglicherweise die Methode zum Hinzufügen eines Torrents verwenden, um einen Torrent hinzuzufügen

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

@ Bakertony Ich habe eine Benutzeroberfläche zum Herunterladen

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

Vielen Dank für das @AndersMalmgren. Es funktioniert jedoch nicht wie auf einer HTTPS-qb-Instanz, da Sie versuchen, zwei js-Bibliotheken aus einer HTTP-Quelle abzurufen. Dies wird vom Browser blockiert, da es sich um Cross-Origin handelt. Durch einfaches Ändern von http in https wird dies behoben. Idealerweise sollten die Bibliotheken mit der WebUI gepackt werden, denke ich.

Wenn die alternative Benutzeroberfläche ausgewählt ist, schlagen alle Anforderungen für Symbole / Bilder in der Benutzeroberfläche mit err 500 fehl. Sie wissen nicht warum, sie befinden sich alle am richtigen Speicherort im Dateisystem. Keine Fehler in qbittorrent oder nginx ... komisch.

Mein größtes Problem ist, dass ich keine neuen RSS-Feeds hinzufügen kann. Gibt es eine Möglichkeit, sie irgendwie in den qb config store einzufügen?

Könnten Sie diese Funktion bitte für die Version auswählen, die Raspberry Pi 2 unterstützt? Vielen Dank

@AndersMalmgren , ich habe Ihren v4_1_x-Zweig geklont, ihn kompiliert und die alternative Benutzeroberfläche gemäß den Anweisungen festgelegt. Ich habe den RSS-Button, aber er macht nichts. Wo könnte ich falsch liegen?

@AndersMalmgren , eigentlich war es nur ein NoScript-Addon, das das Javascript von Ihrem Repo und Ihren Knockoutjs blockierte. Nachdem ich sie zugelassen habe, funktioniert es.

@AndersMalmgren , unterstützt die API das Filtern von (intelligenten) Episoden noch nicht oder haben Sie sich einfach nicht die Mühe gemacht, sie

@Ingvix Nur diejenigen hinzugefügt, die ich selbst benutze.

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

@AndersMalmgren , okay, danke. Ich denke, ich werde versuchen zu sehen, ob ich es selbst schaffen kann.

Wie wird das noch nicht hinzugefügt? 6 Jahre alt ist diese Feature-Anfrage. Komm schon! Es ist ein wesentlicher Bestandteil eines jeden Bittorrent-Kunden.

Ja Owen! Mit so viel, wie wir dafür bezahlt haben, ist es empörend, dass Sie nicht bereits codiert und eingereicht haben !!
Wie setzt man einen << / Sarkasmus >>?

Ich habe bereits ein Plus gesetzt, aber ich bin auch froh, mein Geld dort zu platzieren, wo mein Mund ist, und würde zu einem Kopfgeld für dieses beitragen!

Meh, ich werde weiterhin Utorrent 3.3 für Linux von vor einigen Jahren verwenden, bis diese Funktion abgeschlossen ist.

Wow ... 6 Jahre

Ja, ich würde das Warten aufgeben, wenn ich du wäre.

+1

Es scheint irgendwie sinnlos, aber ich werde meine +1 zu dieser Anfrage hinzufügen ... dann benutze uTorrent weiter und überprüfe alle paar Jahre, ob es Fortschritte gibt. Trotzdem ist mir klar, dass es sich um ein kostenloses Produkt handelt, und ich weiß zu schätzen, dass es das tut, was es tut. Wenn es jedoch durch Werbung unterstützt wird, sollte es die Einnahmen erhöhen, wenn die Personen auf dieser Liste migrieren ...

@ WilliCJ wie um

Sorry @owenashurst Ich muss unklar gewesen sein, was ich damit gemeint habe war, dass es sinnlos ist, meine kleine "+1" -Anforderung zu einer Anfrage zu einem nicht aktivierten Thread hinzuzufügen, der bereits 6 Jahre alt ist. Ich muss mich allerdings entschuldigen, ich habe es offensichtlich an der falschen Stelle platziert, da ich nicht einmal bemerkt habe, dass es eine Rtorrent-App gibt. Empfehlen Sie es über uTorrent und qBittorrent?

@ WilliCJ haha ok, yeah Rtorrent ist eine Linux-basierte Anwendung, es hat eine Benutzeroberfläche namens Rutorrent und es gibt ein RSS-Plugin, das normalerweise standardmäßig installiert wird. Qbittorent ist plattformübergreifend, jedoch nicht sicher, ob Rtorrent crosskompiliert wurde.

Vielen Dank an @owenashurst , ich habe es gerade überprüft und es sieht so aus, als ob Rtorrent immer noch nur Linux ist. Da ich auf der von mir verwendeten Box eine Windows-Plattform verwende, funktioniert dies für mich nicht. Danke trotzdem! Angesichts dessen möchte ich trotzdem meine Hand heben, um die RSS-Feeds und Filteroptionen von qBittorrent über das Webui auf die Entwicklerliste zuzugreifen!

6 Jahre Wartezeit sind zu lang für ein Feature für mich.
Gibt es einen alternativen Torrent-Client mit Linux-, Docker-, RSS- und Webui-Unterstützung?

@ Haxy89 Wenn Sie die vorherigen Kommentare gelesen haben, habe ich Rtorrent erwähnt, einen Linux-basierten Bittorrent-Client, und die Web-Benutzeroberfläche (Rutorrent), die Sie separat installieren, verfügt über ein Plugin mit RSS-Unterstützung, das standardmäßig in allen Online-Tutorials enthalten ist. Es gibt auch einen Docker-Container, in dem sowieso alles enthalten ist.

@owenashurst @ Haxy89 @WilliCJ habt ihr die altWebUI-Implementierung von https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942 + https://github.com/qbittorrent/qBittorrent/issues/453# ausprobiert?

@ WolfganP Ich habe es noch nicht ausprobiert, nein, solange es RSS-Feeds wie beim Hinzufügen / Bearbeiten / Löschen verwalten kann, ist das ziemlich gut. Ich habe gesehen, dass Sie keine verlorenen Torrents aus dem RSS-Feed anzeigen / herunterladen können, aber das ist nicht wirklich wichtig.

@ WolfganP
Nur versucht, aber ...
obraz

Hier gibt es nichts zu tun...

Ich werde mit RTorrent kämpfen

@ Haxy89 Ja,

@ WolfganP
Nur versucht, aber ...
obraz

Hier gibt es nichts zu tun...

Was sagt die Konsole? Etwas ist nicht richtig eingerichtet. Stellen Sie sicher, dass Sie sich übrigens in der 4.1.x-Verzweigung befinden.

Bearbeiten: Derzeit müssen Sie Ihre Feeds über die Desktop-Benutzeroberfläche einrichten. Aber ich habe eine Version, die auch Feeds einrichten kann. Aber es ist ein bisschen fehlerhaft

@ WolfganP

Ich benutze keinen Desktop.
Es wäre großartig, die Möglichkeit zu haben, alles aus dem Web wie in RTorrent einzurichten

@ Haxy89 @AndersMalmgren Ich habe das gleiche Problem auf der Registerkarte "Feeds", das leer ist, auch wenn bereits ein Feed definiert ist, aber ich hatte keine Zeit für eine ordnungsgemäße Fehlerbehebung. Beispiel rss / feeds.json:

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

Da ich mit einem Master-Build arbeite, kann ein Problem darin bestehen, dass die altWebUI von @AndersMalmgren weit hinter dem aktuellen WebUI-Status zurückliegt. Vielleicht kann @Piccirello (auch bekannt als WebUI-Master :-) einen Weg vorschlagen, um vorwärts zu kommen und bei der Fehlerbehebung zu helfen.

@ Wolfganp Ich habe es nur auf 4.1.5 getestet wird auf 1.7 aktualisieren und sehen

@ WolfganP Funktioniert für mich mit 4.1.7

Übrigens gibt es keine API-Funktion, um einen RSS-Abruf zu erzwingen. Sie müssen Ihrem Feed also eine automatische Regel hinzufügen. Andernfalls ist die Registerkarte "Feeds" leer, sollte jedoch den Namen des Feeds unter der Registerkarte "Feeds" anzeigen.

Mein 4.1.x-Zweig wurde mit einer grundlegenden Benutzeroberfläche für die Feed-Verwaltung aktualisiert

image

@AndersMalmgren funktioniert jetzt für mich in Ordnung (nur Feed-Liste getestet, keine andere Funktionalität). Vielen Dank!

Übrigens müssen Sie in Zeile 39 von rss.js wahrscheinlich das Format des RSS-Symbols auf svg aktualisieren: src='images/qbt-theme/rss-config.svg'

@WolfganP Sie müssen die Symbole aus 4.1.x verwenden. Dort ist das Symbol ein PNG

@owenashurst @ Haxy89 @WilliCJ habt ihr die altWebUI-Implementierung von # 453 (Kommentar) + # 453 (Kommentar) ausprobiert?

@WolfganP habe ich jetzt und die Schaltfläche "RSS-Regeln" selbst wird nicht richtig

Überprüfen Sie die Konsole bitte auf Fehler

Überprüfen Sie die Konsole bitte auf Fehler

Entschuldigung @AndersMalmgren , ich kann keine Fehler sehen, die sich auf das Webui beziehen.

Meine ursprüngliche Installation von qBittorrent war einfach vom heruntergeladenen Installationsprogramm von der qBittorent.org-Site, aber ich habe jetzt den Klon / die Zip-Datei von github heruntergeladen und einige Dateien kopiert, die sich nicht im Ordner "qBittorrent-mastersrc \ icons" des " https://github.com/AndersMalmgren/qBittorrent " Klon / Zip. Das Symbol für die RSS-Feeds ist jetzt vorhanden.

Danke Anders und Owen!

... jetzt muss ich nur noch herausfinden, wie Filebot von qBittorrent aus funktioniert!

Übrigens gibt es keine API-Funktion, um einen RSS-Abruf zu erzwingen. Sie müssen Ihrem Feed also eine automatische Regel hinzufügen. Andernfalls ist die Registerkarte "Feeds" leer, sollte jedoch den Namen des Feeds unter der Registerkarte "Feeds" anzeigen.

@AndersMalmgren Nur laut nachdenken (und es nicht ausprobiert haben, da ich AFK bin): Vielleicht besteht eine Problemumgehung darin, eine Regel hinzuzufügen, die niemals einem Torrent entspricht, aber trotzdem das Feed-Update auslöst?

Ich weiß nicht, wovon ihr redet. Welche API vermissen Sie wirklich?

eine Regel hinzufügen, die niemals einem Torrent entspricht, aber trotzdem die Feed-Aktualisierung auslöst?

Das funktioniert so nicht.
Feeds werden in einem bestimmten Intervall aktualisiert. Wenn Feed-Aktualisierungsregeln darauf angewendet werden.

Wir müssen diese Einstellungen dem Benutzer zugänglich machen

image

Das kann mit der aktuellen API behoben werden. Die Funktion "Alle Feeds aktualisieren" ist in der API jedoch nicht vorhanden

image

Oder aktualisieren Sie den Singel-Feed

image

Ich habe der Registerkarte "Downlad-Einstellungen" in meinem 4.1.x-Zweig RSS-Feed-Einstellungen hinzugefügt

image

@AndersMalmgren
Irgendwelche Einstellungen für das automatische Herunterladen?
Wo werden Torrents automatisch heruntergeladen? Standard-Download-Ordner?
Filter zum automatischen Herunterladen nur ausgewählter Torrents usw.?

@ Haxy89 Waren das nicht die ersten Änderungen, die er an seinem Repo vorgenommen hat? Oder zumindest die in dieser Ausgabe angekündigten. Sie können den Download-Speicherort für jede Regel festlegen.

@ Haxy89 Diese wurden aufgenommen, wie @Ingvix sagt. Die oben genannten RSS-Einstellungen waren bisher nicht vorhanden.

Ich habe der Registerkarte "Downlad-Einstellungen" RSS-Feed-Einstellungen hinzugefügt

Können Sie Ihre Änderungen als Pull-Anfrage angeben?
Oder ist es nicht mit der in qBittorrent integrierten WebUI kompatibel?

Die Funktion "Alle Feeds aktualisieren" ist in der API jedoch nicht vorhanden

Wird sein.

Ich habe der Registerkarte "Downlad-Einstellungen" RSS-Feed-Einstellungen hinzugefügt

Können Sie Ihre Änderungen als Pull-Anfrage angeben?
Oder ist es nicht mit der in qBittorrent integrierten WebUI kompatibel?

Es fehlt nur noch die Übersetzung. Es ist vorerst fest codiert

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

Mir würde es auch mit fehlender Übersetzung gut gehen, zumindest werden wir es haben können!

Also habe ich es geschafft, es zumindest optisch zum Laufen zu bringen. Es wurden jedoch nie irgendwelche Torrents hinzugefügt. Ich gehe davon aus, dass das Einschließen / Nicht-Einschließen Regex unterstützt. soll ich es mit oder ohne Schrägstriche tippen? wenn nicht, weiß ich eigentlich nicht, wie es funktioniert. und würden Sie in Betracht ziehen, Regex zu unterstützen?

Auch nach dem Durcheinander mit den RSS-Einstellungen hat es einfach aufgehört, alle zusammen zu arbeiten. es gibt diesen Fehler aus:
Inakzeptabler Dateityp, nur reguläre Dateien sind zulässig

wenn ich zur URL gehe
Ich benutze den Debian 10 Qbittorrent aus den Repos. es ist 4.1.5-1

Wenn ich die Einstellungen im Download-Bereich ändere, wird die neue Benutzeroberfläche deaktiviert und ich muss sie wieder aktivieren (und beten, dass nicht alles kaputt geht).

Wie auch immer, ich möchte nur sagen, dass Sie die Arbeit des Herrn tun. Ich bin so dankbar, Zugriff auf RSS im Webui zu haben, auch wenn es ein bisschen fehlerhaft ist.

@xrishox Ich habe die Regex-Felder nicht

Wissen Sie, was dieser Fehler bedeutet? "Inakzeptabler Dateityp, nur reguläre Datei ist zulässig."

manchmal, wenn ich zu der Webui-URL gehe, die angezeigt wird. Es scheint nur durch Löschen der Datei qbittorrent.conf und erneutes Starten behoben werden zu können

bearbeiten 1:
Ich weiß nicht, ob dies ein spezifischer Fehler für meine Installation ist oder etwas, auf das auch andere Leute stoßen werden. Deshalb werde ich nur die Lösung veröffentlichen, die für mich funktioniert hat, falls jemand anderes das gleiche Problem hat.

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

"# 10485 hat die Anmeldeseite von login.html in index.html umbenannt. In Version 4.1.5 wird weiterhin nach login.html gesucht, aber Ihr öffentlicher Ordner enthält eine index.html. Versuchen Sie, diese Datei in login.html umzubenennen."

bearbeiten 2:

Jetzt habe ich dieses seltsame Problem, bei dem es ab und zu alternative Webui deaktiviert und ich es erneut aktivieren und den alternativen Pfad erneut eingeben muss. Es ist keine so große Sache, da es zumindest funktioniert, aber ich bin mir nicht sicher, warum es das tut. Ich bekomme auch seltsame UI-Fehler, die dazu führen, dass UI-Symbole nicht angezeigt werden und Text aus irgendeinem seltsamen Grund dupliziert wird. Ich bin mir nicht sicher, warum dies so ist, da ich alle Symbole nach / privat und / öffentlich kopiert habe. Es stört meine Fähigkeit, qbittorrent zu verwenden, nicht, daher bin ich nicht besonders besorgt darüber. nur der Vollständigkeit halber hier melden.

und hier ist ein Bild der seltsamen UI-Macken https://i.imgur.com/kkdGyzs.png

Ich hoffe wirklich, dass an dem Punkt, an dem sich herausstellt, dass dies stabil und robust ist, es zusammengeführt wird, da dies eine erstaunliche Funktion ist.

Die Funktion "Alle Feeds aktualisieren" ist in der API jedoch nicht vorhanden
Wird sein.

Danke @glassez ! https://github.com/qbittorrent/qBittorrent/pull/11055

Wissen Sie, was dieser Fehler bedeutet? "Inakzeptabler Dateityp, nur reguläre Datei ist zulässig."

Es tritt auf, wenn alt webUI unter * nix aktiviert ist und die angeforderte Datei keine "normale Datei" ist (ich bin nicht sicher, was es genau bedeutet). Auch wahrscheinlich, wenn keine solche Datei vorhanden ist, sodass ihr Typ nicht überprüft werden kann.

@xrishox Ich habe die Regex-Option

Ich habe der Registerkarte "Downlad-Einstellungen" in meinem 4.1.x-Zweig RSS-Feed-Einstellungen hinzugefügt

Ich portiere es in qBittorrent Master (# 11056).
Leider kann ich das mit anderem Code von @AndersMalmgren nicht machen, da er nicht mit unserer Codebasis kompatibel ist.

@glassez es ist zu alt für mich :)

Bearbeiten: und mein Code muss für eine offizielle Veröffentlichung bereinigt werden

@AndersMalmgren Hatten Sie die Möglichkeit, https://github.com/qbittorrent/qBittorrent/pull/11055 zu testen ? (Erlaube das Aktualisieren von RSS-Elementen über WebAPI)

Schön, ich habe den regulären Ausdruck aktiviert. Ich hatte noch kein Ereignis, bei dem es ausgelöst werden würde. Ich hoffe, dass es funktioniert.

Ich habe ein paar Vorschläge zur Lebensqualität, wenn Sie dafür offen sind. Beachten Sie, dass dies keine Anfragen oder Anforderungen sind, da es für meinen Anwendungsfall tatsächlich perfekt funktioniert, sondern ein paar Dinge, die Sie berücksichtigen könnten.

Wenn Sie auf der Seite "Automatischer Download" auf "Speichern" klicken, werden möglicherweise die Änderungen für alle von Ihnen geänderten automatischen Downloads gespeichert und nicht nur für die aktuell fokussierten. Oder fügen Sie alternativ eine Schaltfläche zum Speichern aller hinzu.

Eine weitere nützliche Funktion wäre, sie so zu haben, dass automatisch heruntergeladenes Material optional zu einer Kategorie / einem Tag hinzugefügt werden kann, wobei die Kategorie / das Tag der Name des automatisch heruntergeladenen Datums ist.

@ WolfganP Ich habe im Moment keine C ++ - Umgebung, habe seit Jahren nicht mehr damit gearbeitet, also

@xrishox Danke für das Feedback, ich kann eine Schaltfläche zum Speichern aller hinzufügen. Die Kategorie fühlt sich sehr subjektiv an und passt möglicherweise nicht. Ich kann das Kategoriefeld verfügbar machen, wenn Sie möchten.

@AndersMalmgren Wenn es hilft, können Sie meine Docker-Datei verwenden , um Ihren lokalen qBittorrent-Code einfach zu erstellen. Es wird auch Libtorrent 1.1 aus dem Quellcode erstellen. Es hat momentan ein paar Nachteile (Sie können die Konfiguration noch nicht übergeben, es unterstützt keine inkrementellen Builds), aber es macht es wirklich einfach, qBittorrent zu erstellen.

Docker-Build: docker build -t qbittorrent/qbittorrent .
Docker-Lauf: docker run --rm -it -p 8080:8080 qbittorrent/qbittorrent

@ Piccirello wann ist 4.2 geplant? Es gibt keinen Grund für mich, dies zu beheben, bis 4.2 kurz vor der Veröffentlichung steht

Zu diesem Zeitpunkt ist Ihre Vermutung so gut wie meine.

@ Piccirello wann ist 4.2 geplant? Es gibt keinen Grund für mich, dies zu beheben, bis 4.2 kurz vor der Veröffentlichung steht

Eine öffentliche Beta von 4.2.0 wird möglicherweise in den nächsten ein oder zwei Tagen / zwei gemäß # 10047 veröffentlicht
Es gibt einen 4.2.0 Alpha Build, der zuvor veröffentlicht wurde und den ich seit Ende Juni verwende.

Okay, wenn sich das RSS-Update in der Beta befindet, kann ich es in meinem Master implementieren

Ich hatte gerade einen RSS-Ereignisauslöser und Regex scheint nicht zu funktionieren. Ich habe es von Rutorrent genau dort kopiert, wo es funktioniert, und ich habe es mit und ohne Schrägstriche ausprobiert.

Jetzt ist die Aktion "refreshItem" in der Verzweigung v4.1.x verfügbar.

@glassez kann ich irgendwo eine Beta-Binärdatei bekommen? Vielen Dank

Ich kann es kaum erwarten, dass Sie die RSS-Benutzeroberfläche perfektionieren. @AndersMalmgren Können Sie eine Pull-Anfrage an den Master

@ caoli5288 Haben Sie versucht, die altWebUI-Methode gemäß https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942 zu verwenden? (https://github.com/AndersMalmgren/qBittorrent verwenden Sie den 4.1-Zweig gemäß https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment-483342384)

@ WolfganP Es funktioniert aber nicht sehr perfekt. Nicht wie in https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -519135601 gezeigt und schwer zu durchsuchende Inhalte.

图片

@ caoli5288 https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -519135601 ist nicht die webUI, sondern die QtUI. Diese Kommentare bezogen sich auf Feed-Updates, die nicht in der Web-API verfügbar sind und später von @glassez unter https://github.com/qbittorrent/qBittorrent/pull/11055 implementiert wurden

Wie geht's? Können wir diese Funktion in der nächsten Version sehen?

Wie geht's? Können wir diese Funktion in der nächsten Version sehen?

Sie können dies versuchen: https://github.com/miniers/qb-web
aber nur chinesisch haben

Wie geht's? Können wir diese Funktion in der nächsten Version sehen?

Sie können dies versuchen: https://github.com/miniers/qb-web
aber nur chinesisch haben

@miniers danke! Hast du es mit dem AltWebUI versucht? Ich öffne gerade die Ausgabe https://github.com/miniers/qb-web/issues/3 , um nach der Verwendung vorhandener Übersetzungszeichenfolgen zu fragen.

Ich bin +1 im RSS. Bedeutet dies, dass das grundlegende Herunterladen von RSS zu qbittorrent-nox kommt?

(Zweifel, dies wird ab 2013 ignoriert)

Gibt es Hoffnung, dies in 4.2 zu sehen? @ Chocobo1 Ich habe gesehen, dass du dich sehr verbessert hast und ich denke, das ist das Größte, was ich im Webui vermisse :(

+1 Ich benutze qbittorrent seit Jahren und suche aktiv nach einer anderen Torrent-Anwendung, da in qbittorrent keine RSS-Unterstützung für die Web-Benutzeroberfläche vorhanden ist.

@AndersMalmgren 4.2.0 Beta auf der qbittorrent-Website

wtf 9 Jahre später und noch keine Aktualisierung

@ikiddoi Du solltest wahrscheinlich über deinem Kommentar lesen und feststellen, dass es sich um eine Beta-Version von qbittorrent handelt.

Ref: https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -549786145

Mir fehlt etwas, ich sehe die Option in der WebUI nicht, die qbitorrent-nox von unstable verwendet (4.2.0 \ ~ 201911110018-6775-8711613 \ ~ ubuntu18.04.1).

Beachten Sie ganz sicher, aber es gab immer ein Problem mit der Feature-Parität zwischen nox und der Standardversion.

Ich habe die 4.2-Unterstützung in meiner Hauptniederlassung behoben

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

Es unterstützt jetzt auch Aktualisierungs-Feeds. Klicken Sie auf das kleine Aktualisierungssymbol neben dem Feednamen

Ich verstehe die Langsamkeit des offiziellen Teams im Umgang mit der Gemeinschaft nicht.
Schauen Sie sich diese Tausenden von offenen Fragen an!
Vielleicht ist es Zeit, einen Ersatz für qbittorrent zu finden.

Ich verstehe die Langsamkeit des offiziellen Teams im Umgang mit der Gemeinschaft nicht.
Schauen Sie sich diese Tausenden von offenen Fragen an!
Vielleicht ist es Zeit, einen Ersatz für qbittorrent zu finden.

Es ist, weil sie einen Mangel an Entwicklern haben. Sie sind herzlich eingeladen, Beiträge zu leisten und Lösungen für die offenen Probleme bereitzustellen, aber das interessiert Sie wahrscheinlich nicht, da es sich um unbezahlte Arbeit handelt.

Wie viel haben Sie gespendet, um die Funktionen und Korrekturen zu entwickeln? Die Entwickler arbeiten in ihrer Freizeit frei und selbst wenn es uns gefallen würde, wenn einige Dinge wie diese früher implementiert würden, sollten wir uns für die Arbeit und den Aufwand bedanken, den sie in das Projekt gesteckt haben, anstatt zu handeln Als ob es unser Recht wäre, kostenlos zu tun, was wir wollen, und wütend auf sie zu werden, wenn sie nicht mehr Zeit für uns opfern.

Zur Hölle, wenn ich einer der Entwickler wäre, würde ich überlegen, ob ich meine Zeit und Mühe in ein Projekt stecken möchte, wenn die Benutzer des Projekts so unglaublich undankbar sind.

Wow, der Anspruch in diesem Thread.

Das offizielle Team veröffentlichte eine offizielle Erklärung, dass dies einfach nicht der Fall war
Ich hatte die Zeit, mich mit dieser Funktion zu beschäftigen, war aber offen für Beiträge von
die Gemeinde. Seien Sie froh, dass es endlich soweit ist, oder tragen Sie selbst bei.

Am 14. November 2019 um 12:28:20 Uhr schrieb caoli5288 [email protected] :

Ich verstehe die Langsamkeit des offiziellen Teams im Umgang mit der Gemeinschaft nicht.
Schauen Sie sich diese Tausenden von offenen Fragen an!
Vielleicht ist es Zeit, einen Ersatz für qbittorrent zu finden.
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder melden Sie sich ab.

Wie viel haben Sie gespendet, um die Funktionen und Korrekturen zu entwickeln?

@ BradleyDS2 Das Hören auf die Community und das

Sie sind herzlich eingeladen, Beiträge zu leisten und Lösungen für die offenen Fragen bereitzustellen

Das ist eine arrogante Idee. Was können die meisten Benutzer tun, als sich zu beschweren? Schau dir dein Konto an. Sie haben zu keinem Projekt eine einzige Codezeile beigetragen. Liegt das daran, dass Sie mit einem Projekt zufrieden sind? Oder sollte Github die Seite mit den Problemen löschen und die Pull-Anfrage einfach beibehalten?

Open Source-Software verliert Benutzer, wenn sie nicht auf die Community hört. Es ist seltsam, dass ich beschuldigt werden sollte, nur eine Tatsache angegeben zu haben,

Was können die meisten Benutzer tun, als sich zu beschweren?

Spenden, Anfragen ziehen, konstruktives Feedback. Fragen Sie das Team, was Sie tun sollen, um einen Beitrag zu leisten.

Was etwas anderes betrifft, das Sie gesagt haben, werde ich als Antwort einige Ihrer eigenen Wörter zusammenfügen.

Wie sagt man
die Ethik von Open Source Software
Das ist eine arrogante Idee

Das Team arbeitet hart, nur weil das, was Sie speziell wollen, nicht getan wird, verringert sich nicht der Aufwand. Wenn Sie nicht konstruktiv sein wollen und nur hier sind, um sich zu beschweren, gehen Sie bitte. Niemand braucht diese Toxizität.

Sie hören der Community zu und priorisieren die Themen. Dieser dauerte so lange, weil sie buchstäblich niemanden hatten, der die meiste Zeit, in der er geöffnet war, daran arbeiten konnte.

Sie hören der Community zu und priorisieren die Themen

@ BradleyDS2 Also die 2000+ eröffneten Ausgaben?

Ich bin ein Open Source-Entwickler und habe zu Dutzenden von Open Source-Projekten beigetragen. Was hast du getan? Ich sehe nicht, dass Sie zu einigen Projekten beitragen. Mir scheint, Sie sprechen nur.

Ich habe nichts mit qbittorrent gemacht; Ich habe vor einigen Monaten eine Dockerfile-Anfrage gestartet, die abgelehnt wurde.

Sie hatten nur in einer Sache Recht. Ich gehe weg.

Sie hören der Community zu und priorisieren die Themen

@ BradleyDS2 Also die 2000+ eröffneten Ausgaben?

Ich beziehe mich auf die 6500+ geschlossen.

Ich bin ein Open Source-Entwickler und habe zu Dutzenden von Open Source-Projekten beigetragen. Was hast du getan? Ich sehe nicht, dass Sie irgendetwas zu einem Projekt beitragen, es scheint mir, dass Sie nur reden.

Dann muss Ihnen etwas fehlen, da ich definitiv schon Pull-Anfragen für Projekte gestellt habe, aber ich benutze hauptsächlich Gitlab.

Ich habe nichts mit qbittorrent gemacht; Ich habe vor einigen Monaten eine Dockerfile-Anfrage gestartet, die abgelehnt wurde.

Sie und ich wissen beide, warum es abgelehnt wurde. Es wurde so eingestellt, dass der rechtliche Hinweis automatisch akzeptiert wird, und die Entwickler sagten auch: "Ich glaube nicht, dass wir die Fähigkeit haben, ihn jetzt offiziell aufrechtzuerhalten."

Ein einziger Grund, warum es in all den Jahren immer noch nicht implementiert wurde, ist, dass das qBittorrent-Projekt keinen aktiven / permanenten Webentwickler in seinem Team hat . Dieser Grund wurde hier schon oft erwähnt, daher sollten diejenigen, die ihn nicht verstehen, ernsthaft über ihre geistigen Fähigkeiten nachdenken.

Ich habe die 4.2-Unterstützung in meiner Hauptniederlassung behoben

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

Es unterstützt jetzt auch Aktualisierungs-Feeds. Klicken Sie auf das kleine Aktualisierungssymbol neben dem Feednamen

Ich ging davon aus, dass die RSS-Autodownload-Funktion jetzt ohne die Notwendigkeit einer alternativen Benutzeroberfläche implementiert werden würde. Ist dies jedoch nicht der Fall? Zumindest kann ich nach dem Erstellen Ihres Hauptzweigs keine Möglichkeit finden, über die webUI auf meine Regeln für das automatische Herunterladen zuzugreifen.

Ich habe die 4.2-Unterstützung in meiner Hauptniederlassung behoben
https://github.com/AndersMalmgren/qBittorrent/tree/master
Es unterstützt jetzt auch Aktualisierungs-Feeds. Klicken Sie auf das kleine Aktualisierungssymbol neben dem Feednamen

Ich ging davon aus, dass die RSS-Autodownload-Funktion jetzt ohne die Notwendigkeit einer alternativen Benutzeroberfläche implementiert werden würde. Ist dies jedoch nicht der Fall? Zumindest kann ich nach dem Erstellen Ihres Hauptzweigs keine Möglichkeit finden, über die webUI auf meine Regeln für das automatische Herunterladen zuzugreifen.

Ich weiß nicht, wie der Build-Prozess von qbittorrent funktioniert, aber die Dateien sind da, also denke ich, dass sie in Build enthalten sein sollten.

Aber ich benutze die alternative UI-Methode

@AndersMalmgren Nun, ich habe noch einmal die Anweisungen unter https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -483063942 mit den Quellen ausgeführt, mit denen ich auch qbittorrent erstellt habe, und es zum Laufen gebracht. Komisch, dass die Änderungen nicht im Build selbst enthalten sind, obwohl sie im Quellcode enthalten sind.

@AndersMalmgren Nun, ich habe noch einmal die Anweisungen in # 453 (Kommentar) mit den Quellen gemacht, mit denen ich auch qbittorrent erstellt habe, und es zum Laufen gebracht. Komisch, dass die Änderungen nicht im Build selbst enthalten sind, obwohl sie im Quellcode enthalten sind.

Vielleicht gibt es irgendwo eine Liste, in der du auch rss.js hinzufügen musst, denke ich :)

@AndersMalmgren Nun, ich habe noch einmal die Anweisungen in # 453 (Kommentar) mit den Quellen gemacht, mit denen ich auch qbittorrent erstellt habe, und es zum Laufen gebracht. Komisch, dass die Änderungen nicht im Build selbst enthalten sind, obwohl sie im Quellcode enthalten sind.

Sie müssen nicht alles mit der @ AndersMalmgren- Gabel neu
Holen Sie sich einfach seinen Master-Quellcode als Zip, extrahieren Sie den Webordner und zeigen Sie auf die offiziellen qBt-Build-AltWebUI-Einstellungen für diesen Ordner. Es funktioniert alles.

@WolfganP Wenn ich @Ingvix richtig verstehe,

Aber Sie haben Recht, um meine Änderungen mit der Standard-Binärdatei zu verwenden, müssen Sie die alternative Web-UI-Methode verwenden.

Wenn Sie den Code durchsehen, sieht es so aus, als ob die API bereits erstellt wurde. Muss nur die Benutzeroberfläche geschrieben werden? https://github.com/qbittorrent/qBittorrent/blob/master/src/webui/api/rsscontroller.cpp

Ich kenne nicht viel C ++, aber ich kenne js und kann vielleicht etwas zusammenstellen

@ ljmerza Sie können meine Filiale

@ ljmerza Sie können meine Filiale

Welchen Zweig soll ich mit 4.2.1 verwenden?

@ ljmerza Sie können meine Filiale

Welchen Zweig soll ich mit 4.2.1 verwenden?

Der Zweig v4_2_x meines Repos wird aktualisiert, um 4.2.x zu unterstützen

@ ljmerza Sie können meine Filiale

Welchen Zweig soll ich mit 4.2.1 verwenden?

Der Zweig v4_2_x meines Repos wird aktualisiert, um 4.2.x zu unterstützen

Planen Sie eine Pull-Anfrage, um RSS-Webui-Unterstützung im Master zu erhalten?

@AndersMalmgren Können Sie eine Pull-Anfrage öffnen, um Ihre Änderungen in diesem Repo zusammenzuführen?

@AndersMalmgren Können Sie eine Pull-Anfrage öffnen, um Ihre Änderungen in diesem Repo zusammenzuführen?

Ich könnte, aber ich bin nicht sicher, ob das Team dies ziehen möchte, es funktioniert nicht wie der Rest der Benutzeroberfläche und ich habe keine allzu großartige Designarbeit für den Code geleistet, wollte nur, dass etwas schnell für meinen eigenen Gebrauch funktioniert :)

@AndersMalmgren Können Sie eine Pull-Anfrage öffnen, um Ihre Änderungen in diesem Repo zusammenzuführen?

Ich unterstütze diesen Antrag.
Ich habe keine Programmierkenntnisse (nur Kopieren und Einfügen) und wenn ich versuche, die alternative WUI zu verwenden, bricht sie immer und ich muss von Grund auf zurückkehren.
Wenn dies standardmäßig zur WUI wird, können Leute wie ich diese RSS-Funktion nutzen.

Es ist nicht erforderlich, Code zusammenzuführen und auf Releases für die WebUI-Funktionalität zu warten (wenn WebAPI nicht geändert wurde), da altWebUI implementiert wurde. Verwenden Sie vorhandene Tools, um @AndersMalmgren oder andere Entwickleränderungen an der WebUI zu erhalten, konfigurieren Sie das offizielle qBt und Sie können loslegen.

dh: Um nur einen Teil eines Quellbaums von github herunterzuladen, verwenden Sie https://minhaskamal.github.io/DownGit
Speziell zum Aktualisieren von @AndersMalmgren RSS-Mods -> https://minhaskamal.github.io/DownGit/#/home ? Url = https:% 2F% 2Fgithub.com% 2FAndersMalmgren% 2FqBittorrent% 2Ftree% 2Fmaster% 2Fswc% 2Fwbu Erweitern Sie dann die Zip-Datei in einem Ordner und verwenden Sie sie als altWebUI. Befolgen Sie dazu die Anweisungen unter https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

Ich weiß nicht, was ich falsch mache.

Der Link wird in Chrome angezeigt, wenn ich die Änderungen an den WebUI-Einstellungen vorgenommen habe
https://mega.nz/#!c9hTgYKa !

und dieser andere mein www-Ordner mit Symbolen
https://mega.nz/#!AtoFFKhJ!q8RiQQdV2oYBHMhbcqnpmiUZ3cQFSKYltUiDRZCGY0E

Dies ist meine WebUI-Konfiguration
WebUI \ Address = *
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 / Share / www /
WebUI \ ServerDomains = *
WebUI \ UseUPnP = true
WebUI \ Benutzername = xxxx

Kann mir jemand helfen?

@Piocas In diesem Problem-Thread wird die RSS-Verwaltung in der Web-Benutzeroberfläche besuchen Sie das

Dies wäre eine wunderbare Funktion zu haben.

Es ist traurig zu sehen, dass 7 Jahre vergangen sind und dies nicht umgesetzt wurde. Eigentlich ein bisschen verrückt.

Es ist nicht erforderlich, Code zusammenzuführen und auf Releases für die WebUI-Funktionalität zu warten (wenn WebAPI nicht geändert wurde), da altWebUI implementiert wurde. Verwenden Sie vorhandene Tools, um @AndersMalmgren oder andere Entwickleränderungen an der WebUI zu erhalten, konfigurieren Sie das offizielle qBt und Sie können loslegen.

dh: Um nur einen Teil eines Quellbaums von github herunterzuladen, verwenden Sie https://minhaskamal.github.io/DownGit
Speziell zum Aktualisieren von @AndersMalmgren RSS-Mods -> https://minhaskamal.github.io/DownGit/#/home ? Url = https:% 2F% 2Fgithub.com% 2FAndersMalmgren% 2FqBittorrent% 2Ftree% 2Fmaster% 2Fswc% 2Fwbu Erweitern Sie dann die Zip-Datei in einem Ordner und verwenden Sie sie als altWebUI. Befolgen Sie dazu die Anweisungen unter https://github.com/qbittorrent/qBittorrent/wiki/Alternate-WebUI-usage

Das hat bei mir funktioniert, obwohl mich der richtige Weg zuerst für eine kleine Schleife geworfen hat. Wie kann ich (oder irgendjemand) helfen, diese Änderungen vorgelagert zusammenzuführen, da dies bereits implementiert wurde?

Nur zur Bestätigung, nur die Steuerungs- / Bearbeitungsfunktion ist in der Benutzeroberfläche nicht verfügbar. Lösen die RSS-Feeds immer noch Downloads aus?

+1 Bitte fügen Sie qbittorrent-nox RSS-Funktionen hinzu, damit es Funktionsparität mit qBittorrent mit X-Fenstern aufweist.

qbittorrent-nox verfügt über RSS-Funktionen. Es ist das Web-Frontend, das keine Benutzeroberfläche dafür bietet.

Jetzt benötigen Sie eine Schnittstelle, um es zu verwalten.

Jetzt benötigen Sie eine Schnittstelle, um es zu verwalten.

Sie können es bereits mit HTTP-Anforderungen an die WebAPI steuern. Das macht die WebUI unter der Haube. Es sind nur ein paar Schaltflächen, die Anfragen stellen.

Bis die WebUI aktualisiert wird, um eine grafische Möglichkeit dafür zu bieten, können Sie immer nur Anfragen mit einem Skript oder etwas anderem stellen.

Oder installieren Sie es buchstäblich selbst https://github.com/qbittorrent/qBittorrent/issues/453#issuecomment -600877487

Eine weitere alternative WebUI, die RSS-Funktionalität implementiert: https://github.com/CzBiX/qb-web

Eine weitere alternative WebUI, die RSS-Funktionalität implementiert: https://github.com/CzBiX/qb-web

Ich wünschte, dies wäre die Standard-WebUI! Es ist viel besser als das Standard!

Eine weitere alternative WebUI, die RSS-Funktionalität implementiert: https://github.com/CzBiX/qb-web

Ich wünschte, dies wäre die Standard-WebUI! Es ist viel besser als das Standard!

Aus diesem Grund wurde die alte WebUI (und kürzlich das Material der Qt-UI-Vorlagen) implementiert, damit der Benutzer die UI-Funktionalität anpassen kann, ohne den Kern berühren zu müssen.
Denken Sie daran, dass Änderungen am Kerncode bedeuten, dass einige (Community-, nicht bezahlte) Entwickler ihn für immer beibehalten müssen ...

Ich bin aus folgenden Gründen versucht, dieses Problem jetzt zu schließen:

  • Das Gespräch hat zu lange und zu wenig zum Thema geführt. Obwohl einige gute Dinge daraus entstanden sind, soll es bei diesem Ticket um RSS-Unterstützung in der offiziellen WebUI gehen. Es ist eine einfache und klare Feature-Anfrage, nicht der Ort für viele der Dinge, die hier sind.
  • Es gibt viele +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? Posts, die die gesamte Konversation überladen.
  • Da die von ihm angeforderte Funktionalität jetzt über alternative WebUIs verfügbar ist, ist es nur vernünftig, dies in der offiziellen Funktion zu unterstützen.

Wenn ich diesen schließe, öffne ich zwei neue Threads:

  • Eine, um die Implementierung dieser Funktion in der Haupt-WebUI zu verfolgen (und sich ausschließlich darauf zu konzentrieren). Keine Notwendigkeit für +1 Kommentare, wenn Sie nur sagen möchten "Ja, ich möchte das auch", verwenden Sie einfach Reaktionen.
  • Eine so genannte "Alternative WebUI-Entwicklungsdiskussion" oder ähnliches, damit Benutzer die alternative WebUI-Entwicklung an einem zentralen Ort frei diskutieren können.

Wenn jemand zusätzliche Bedenken hat, lass es mich wissen.

Vielen Dank für das Feedback an alle.

Der Diskussionsthread zur Entwicklung ist aktiv: https://github.com/qbittorrent/qBittorrent/issues/12354.
Die Anfrage für Follow-up-Funktionen finden Sie auch unter https://github.com/qbittorrent/qBittorrent/issues/12355. Bitte spammen Sie es nicht, verwenden Sie Reaktionen, wenn Sie es nur "+1" wollen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen