Xtreamer e-TRAYz (Personal Storage)

Για δώσε φώτα! Τι παραπάνω κάνει από το Transmission ?

ταχύτερο, άψογο GUI (σχεδόν ίδιο με το μtorrent), graphs κτλ...
επιτέλους ένα client της προκοπής!


screenshots:

ss20100720215419.png


ss20100720215455.png


ss20100720215539.png


ss20100720215558.png


ss20100720215613.png
 
Πράγματι εντυπωσιακό!!

Επιτέλους ένα client εφάμιλλο του μtorrent!!!

Aν είχε και ένα remote gui της προκοπής, όπως το transmission θα ήταν με κλειστά μάτια το απόλυτο εργαλείο! Βρήκα βέβαια ένα script που στέλνει από τον browser κατευθείαν στo rutorrent του etrayz!! Αν δουλέψει, το άλλαξα στο πι και φι!
 
τι εννοείς remote gui ? εαν ανοίξεις την 8000 του etrayz στον router σου γίνεται όσο remote θες! :laugh:
 
τι εννοείς remote gui ? εαν ανοίξεις την 8000 του etrayz στον router σου γίνεται όσο remote θες! :laugh:

Εννοώ ένα πρόγραμμα το οποίο τρέχει ανεξάρτητα σε απομακρυσμένο υπολογιστή και επικοινωνεί με την http://your-etrayz-url:8000/rutorrent, αλλά με τη δυνατότητα να μπορείς να "στείλεις" αυτό (το πρόγραμμα remote gui), το αρχείο με κατάλληξη .torrent από την σελίδα του browser σου, προκειμένω αυτό (το πρόγραμμα remote gui) με τη σειρά του να "στείλει" στο torrent client του etrayz την εντολή για κατέβασμα του torrent. H διαδικασία είναι αυτόματη και λειτουργεί όπως ακριβώς σε pc torrent client (βλ μtorrent) δηλαδή δε χρειάζεται να εισαγάγεις χειροκίνητα καμία διεύθυνση στο browser gui του rutorrent!

Το transmission για παράδειγμα έχει δύο ανεξάρτητα remote gui προγράμματα με τα οποία έχεις απόλυτο έλεγχο και μερικές φορές και περισσότερες ρυθμίσεις από το απλό browser gui του.

Το script που παραθέτω αφορά στην αυτόματη μεταφορά του λινκ ενός αρχείου για κατέβασμα με κατάλληξη .torrent από τον firefox απ'ευθείας στο rutorrent του etrayz στο σπίτι σου! Μιλάμε για πολύ τεμπελιά -bye-
 
Last edited:
δεν το κατάφερα να παίξει τo script... θεωρητικα σου δημιουργεί ένα νεο link που το στέλνει στο rutorrent.

πάντως μπορείς να βάλεις τα cookies απο τα τορεντάδικα σου στις ρυθμίσεις του rutorrent και όταν κάνεις add torrent μπορείς να βάζεις κατευθειαν το url του .torrent

πχ:

hdbits.org|pass=w9345ygidnrgt3847ny68duyt;uid=45663448;


Δοκιμασμένο με hdbits ;)
 
δεν το κατάφερα να παίξει τo script... θεωρητικα σου δημιουργεί ένα νεο link που το στέλνει στο rutorrent.

Κάτι πρέπει να γίνεται με το username και το password (αλήθεια σε ποιο αρχείο τα αλλάζουμε γιατί με τα default έχουμε θέμα ασφαλείας?) γιατί με την ρύθμιση του script δεν σου ζητά να εισαγάγεις άρα λογικά δε θα πρέπει να σου επιτρέπει να στείλεις εντολή. Το ψάχνω!
 
Κάτι πρέπει να γίνεται με το username και το password (αλήθεια σε ποιο αρχείο τα αλλάζουμε γιατί με τα default έχουμε θέμα ασφαλείας?) γιατί με την ρύθμιση του script δεν σου ζητά να εισαγάγεις άρα λογικά δε θα πρέπει να σου επιτρέπει να στείλεις εντολή. Το ψάχνω!

για αλλαγή password

htpasswd -b -m /home/sysadmin/WWW/rutorrent/.htpasswd admin NEWPASSWORD

βρήκες τίποτα με το script?
 
για αλλαγή password



βρήκες τίποτα με το script?

Ευχαριστώ για την πληροφορία. Όσο για το script είμαι σίγουρος πως κάπου πρέπει να προστεθεί το username και το password. Δεν είναι δυνατό να στέλνει εντολή χωρίς login! Θα το ψάξω σε καμιά 10αρία μέρες! Βλέπεις πάω για τα... μπάνια του λαού!!! -bye-

Υ.Γ.
Δοκίμασε αν θές, να απενεργοποιήσεις το user και pass (για δοκιμή μόνο) και να χρησιμοποιήσεις το script! Αν συμβαίνει αυτό που υποψιάζομαι λογικά θα δεχθεί την εντολή! Μη ξεχάσεις να επαναφέρεις τους κωδικούς γιατί ζούμε σε ύποπτους καιρούς! LOL
 
Ευχαριστώ για την πληροφορία. Όσο για το script είμαι σίγουρος πως κάπου πρέπει να προστεθεί το username και το password. Δεν είναι δυνατό να στέλνει εντολή χωρίς login! Θα το ψάξω σε καμιά 10αρία μέρες! Βλέπεις πάω για τα... μπάνια του λαού!!! -bye-

Υ.Γ.
Δοκίμασε αν θές, να απενεργοποιήσεις το user και pass (για δοκιμή μόνο) και να χρησιμοποιήσεις το script! Αν συμβαίνει αυτό που υποψιάζομαι λογικά θα δεχθεί την εντολή! Μη ξεχάσεις να επαναφέρεις τους κωδικούς γιατί ζούμε σε ύποπτους καιρούς! LOL


για να μην κάνουμε μισές δουλειές, έκατσα και άλλαξα το script

1. ζητάει username / password και στο rutorrent
2. προσθέθηκε και δεύτερο search array, ώστε να δουλεύει και σε 2ο site

είναι έτοιμο να παίξει σε hdbits και what ...plug'n'play ;)

PHP:
// ==UserScript==
// @name           Send torrent to (u/ru/w)Torrent WebUI
// @namespace      idkwhattoputhere
// @include        *
// ==/UserScript==

// Frag.Mine.Nu :: Send torrent to uTorrent WebUI by Rain724 (modified by sfortis)

// Adding custom site instructions:
// Ok, the system I programed is kind of hard to explain, although it seems like the best way to
// manage mutipal sites with different codebases.
// On to the instructions: 
// The format of siteArray is:
// 1 - Name of site. (If the torrent site you are trying to add is: thetorrentsite.org, the name would be "thetorrentsite" w/o the .org)
// 2 - Strip SSL. (If the site is using an unsinged SSL certificate uTorrent might not like it. If so, set this to "1" for that site. ruTorrent and wTorrent auto-overide this to accept SSL)
// 3 - Use cookies. (Some site require cookies to download torrents, if so, set this to "1")
// 4 - Search String 1 (String of text in every download url, like "action=download" or "download.php")
// 5 - Search String 2 (A string of text that is NOT in every download url.** EXPLAINED BELOW **)
// 6 - Link text (By defualt, "?T " is used on What, although some sites " Send to wUI" looks better. This can be any string of text though)
// 7 - Separation text (Text that will show up before the Link text, if no Separation text is needed, set it to "")
// 8 - set to 1 if you want "Search String 1" to only search the very end of the url for your word.
//
// ** SEARCH STRING 2 **
// Some sites have a .torrent download link AND a .zip or .txt download link. If this is the case, set this to ".zip", ".txt", or some other string of text that comes up in every .zip/.txt link.
// If the site you are trying to add to the script DOES NOT have a 2nd download link for .zip/.txt, set Search String 2 to "?"
var siteArray     =         [];       // << DO NOT EDIT THIS LINE
var siteArray1     =         [];     // << DO NOT EDIT THIS LINE
siteArray[0]        =         ["hdbits", "0", "0", "download.php","details", "ruTorrent", " Send To -> ", "0"];
siteArray1[0]     =         ["what", "0", "0", "action=download","details", "ruTorrent", " Send To -> ", "0"];

/////////////////////////////////
// DO NOT EDIT BELOW THIS POINT//
/////////////////////////////////

//Mode changing:
//Set up "User Script Command"
GM_registerMenuCommand("Setup webUI", function() {    
    var webUIPrompt = window.prompt('What webUI are you using?\n\n1) uTorrent\n2) ruTorrent\n3) wTorrent\n\n(Type 1,2, or 3 below)');
    if (webUIPrompt == "1" || webUIPrompt == "2" || webUIPrompt == "3")
    {
        GM_setValue('custom_webUI', webUIPrompt);
        if(webUIPrompt == "3")
        {
            var wTorrent_hostname = window.prompt('What is your wTorrent hostname or ip address? (ex: "1.2.3.4" or "user.seedboxservice.com")');
            var wTorrent_port = window.prompt('What port is your wTorrent running on?');
            var wTorrent_username = window.prompt('What is your wTorrent username?');
            var wTorrent_password = window.prompt('What is your wTorrent password?');
            var wTorrent_ssl = window.prompt('Is your wTorrent running on an ssl encrypted server?\n"1" for yes, "2" for no');
            var wTorrent_pvtAdd = window.prompt('Do you want torrents to be added to wTorrent as private?\n"1" for yes, "2" for no');
            var wTorrent_autostart = window.prompt('Do you want downloaded torrents to autostart?\n"1" for yes, "2" for no');
            var wTorrent_isCorrect = window.prompt('Is this information correct? (Type "Correct" or "Incorrect")\nNote: all of this information has to be correct for the script to work!\n\nHostname: '+wTorrent_hostname+'\nPort: '+wTorrent_port+'\nUsername: '+wTorrent_username+'\nPassword: '+wTorrent_password+'\nSSL: '+wTorrent_ssl+' (1 is yes, 2 is no)\nAutostart: '+wTorrent_autostart+' (1 is yes, 2 is no)');
            if (wTorrent_isCorrect == "Correct")
            {
                GM_setValue('custom_wTorrent_hostname', wTorrent_hostname);
                GM_setValue('custom_wTorrent_port', wTorrent_port);
                GM_setValue('custom_wTorrent_username', wTorrent_username);
                GM_setValue('custom_wTorrent_password', wTorrent_password);
                GM_setValue('custom_wTorrent_ssl', wTorrent_ssl);
                GM_setValue('custom_wTorrent_pvtAdd', wTorrent_pvtAdd);
                GM_setValue('custom_wTorrent_autostart', wTorrent_autostart);
                alert("wTorrent Settings Saved!");
            }
            else {
                alert("Please try entering the information in again.");
            }
        }
        else {
            var ruTorrent_username = window.prompt('What is your ruTorrent username?');
            var ruTorrent_password = window.prompt('What is your ruTorrent password?');
            var setWebIP = window.prompt('What is your hostname and port to the webUI?\n(Format: "1.2.3.4:5678" or "user.seedboxservice.com" \nmake sure if you use rutorrent you put the entire path to the webUI ;D)');
            if (setWebIP != '')
            {
                GM_setValue('custom_webIP', setWebIP);
                GM_setValue('custom_ruTorrent_username', ruTorrent_username);
                GM_setValue('custom_ruTorrent_password', ruTorrent_password);
                alert(setWebIP + " has now been set as your hostname:port");
            }
            else {
                alert("You should try typing in the box next time... (Meaning: Please try again.)");
            }
        }
        location.reload();
    }
    else {
    alert("Malformed entry, please try again.");
}});
//Set webUI mode:
var webUIType = GM_getValue('custom_webUI', "0");
var webIP = GM_getValue('custom_webIP', '');
if (webUIType == "0")
{
    alert('You must run the setup script before using this script.\nTo do this, please right click the Greasemonkey icon > User Script Commands... > Setup WebUI');
}
//if wTorrent
var wtorrent_connect_string;
if (webUIType == "3")
{
    var wHost = GM_getValue('custom_wTorrent_hostname', '');
    var wPort = GM_getValue('custom_wTorrent_port', '');
    var wUser = GM_getValue('custom_wTorrent_username', '');
    var wPass = GM_getValue('custom_wTorrent_password', '');
    var wPvtAdd = GM_getValue('custom_wTorrent_pvtAdd', '');
    var wSSL = GM_getValue('custom_wTorrent_ssl', '');
    var wStart = GM_getValue('custom_wTorrent_autostart', '');
    if (wSSL == "1") { wtorrent_connect_string = 'https://'+wHost+':'+wPort+'/'; } else { wtorrent_connect_string = 'http://'+wHost+':'+wPort+'/'; }
    post(wtorrent_connect_string,'userf='+wUser+'&passwdf='+wPass+'&user_login=Login', function(info) { var isLoggedIn = true });
}

if (webUIType == "2")
{
    var wUser = GM_getValue('custom_ruTorrent_username', '');
    var wPass = GM_getValue('custom_ruTorrent_password', '');
}



//Rest of script
var useCookie = "0";
var innerSep = "";
var isWhat = "";
var stripssl = "";
if(webUIType == "1" || webUIType == "2")
{
    var ifEventListener = false;
    var iframe = document.createElement('iframe');
    document.body.appendChild(iframe);
    iframe.style.display = "none";
}

start();
function start()
{
    var links = getLinks();
    for (var i=0, link; link = links[i++]; )
    {
        if (match(link.href))
        {
            if (stripssl == "1")
            {
                link.href = link.href.replace(/http?s/, "http");
                if (isWhat == "1")
                {
                    link.href = link.href.replace(/ssl/, "www");
                }
            }
            var uTorrentLink = makeUTorrentLink(link);
            link.parentNode.insertBefore(uTorrentLink, link.nextSibling);
            var separator = makeSep();
            link.parentNode.insertBefore(separator, link.nextSibling);
        }
    }
}

function makeUTorrentLink(link) {
    
    var uTorrentLink  = document.createElement('a');
    var theCookie = setCookie();
    var uTorrentFrameSrc = makeWebUILink(webIP, link.href, theCookie);
    var wTorrentTorrentURL = link.href;
    uTorrentLink.href = uTorrentFrameSrc;
    if (webUIType == "1" || webUIType == "2")
    {
        uTorrentLink.addEventListener("click", 
                    function(e) {
                    iframe.setAttribute("src", uTorrentFrameSrc);
                    if(!ifEventListener) {
                        iframe.addEventListener("load", function() {
                        window.alert("Torrent added!");
                        }, false);
                          ifEventListener = true;
                    }
                    e.preventDefault();
                }, false);
    }
    if (webUIType == "3")
    {
        var wTorrentRequestURL = 'torrenturl='+encodeURIComponent(wTorrentTorrentURL);
        if (wPvtAdd == "1")
        {
            wTorrentRequestURL = wTorrentRequestURL+'&private=on';
        }
        if (wStart == "1")
        {
            wTorrentRequestURL = wTorrentRequestURL+'&start_now=on';
        }
        uTorrentLink.id = wTorrentRequestURL;
        uTorrentLink.addEventListener("click", function(e) { e.preventDefault(); wTorrentClick(e)}, false);
    }
    uTorrentLink.innerHTML = linkText;
    return uTorrentLink;
}
function makeWebUILink(webIPforLink, linkhref, cookie)
{
    if (webUIType == "1")
    {
        return "http://"+webIPforLink+"/gui/?action=add-url&s="+escape(linkhref)+cookie;
    }
    if (webUIType == "2")
    {
        return "http://"+wUser+":"+wPass+"@"+webIPforLink+"/php/addtorrent.php?url="+escape(linkhref)+cookie;
    }
    if (webUIType == "3")
    {
        return 'wtorrent:'+linkhref;
    }
}

function makeSep() {
    var separatorText = document.createElement("text");
    separatorText.innerHTML = innerSep;
    return separatorText;
}

function wTorrentClick(sent)
{
    sent = sent.target.id;
    post(wtorrent_connect_string+'index.php?cls=AddT', sent, function(addedResponce) {
            var match_added = /Torrent added correctly/gmi;
            var already_exists = /Error: File already exists in torrent directory, can't create .torrent/gmi;
            if (addedResponce.match(match_added)) {
                    alert('Torrent Successfully Added wTorrent!');
                }
            else if (addedResponce.match(already_exists)) {
                alert('Torrent has already been added to wTorrent!');
            }
            else {
                alert('Something is broken! Verify that you entered your wTorrent details/information correctly!');
            }
         })
}

function post(url, data, func) {
        GM_xmlhttpRequest({
            method: "POST",
            url: url,
            headers:{'Content-type':'application/x-www-form-urlencoded'},
            data: data,
            onload: function(xhr) { func(xhr.responseText); }
            });
        }

function setCookie() {
    if (useCookie == "1")
    {
        return escape(":COOKIE:") + escape(document.cookie.replace(" ", ""));
    }
    return "";
}

function getLinks()
{
   var doc_links = document.links;
   var links = [];
   for (var i=0, link; link = doc_links[i++];) {
       links.push(link);
   }
   return links;
}

function match(url) {
    for (var i=0;i<siteArray.length;i++)
    {
        if((siteArray[i][7]=="1") && url.match(siteArray[i][0]) && (url.lastIndexOf(siteArray[i][3])==(url.length-siteArray[i][3].length)) && !url.match(siteArray[i][4]))
        {
            if(siteArray[i][1] == "1" && webUIType != "2" && webUIType != "3") { stripssl = "1"; }
            if(siteArray[i][2] == "1") { useCookie = "1"; }
            if(url.match("ssl.what.cd")) { isWhat = "1"; }
            if(siteArray[i][6] != "") { innerSep = siteArray[i][6]; }
            if(siteArray[i][5] != "") { linkText = siteArray[i][5]; }
            return 1;
        }
        else if((siteArray[i][7]=="0") && url.match(siteArray[i][0]) && url.match(siteArray[i][3]) && !url.match(siteArray[i][4]))
        {
            if(siteArray[i][1] == "1" && webUIType != "2" && webUIType != "3") { stripssl = "1"; }
            if(siteArray[i][2] == "1") { useCookie = "1"; }
            if(url.match("ssl.what.cd")) { isWhat = "1"; }
            if(siteArray[i][6] != "") { innerSep = siteArray[i][6]; }
            if(siteArray[i][5] != "") { linkText = siteArray[i][5]; }
            return 1;
        }
    }

for (var i=0;i<siteArray1.length;i++)
    {
        if((siteArray1[i][7]=="1") && url.match(siteArray1[i][0]) && (url.lastIndexOf(siteArray1[i][3])==(url.length-siteArray1[i][3].length)) && !url.match(siteArray1[i][4]))
        {
            if(siteArray1[i][1] == "1" && webUIType != "2" && webUIType != "3") { stripssl = "1"; }
            if(siteArray1[i][2] == "1") { useCookie = "1"; }
            if(url.match("ssl.what.cd")) { isWhat = "1"; }
            if(siteArray1[i][6] != "") { innerSep = siteArray1[i][6]; }
            if(siteArray1[i][5] != "") { linkText = siteArray1[i][5]; }
            return 1;
        }
        else if((siteArray1[i][7]=="0") && url.match(siteArray1[i][0]) && url.match(siteArray1[i][3]) && !url.match(siteArray1[i][4]))
        {
            if(siteArray1[i][1] == "1" && webUIType != "2" && webUIType != "3") { stripssl = "1"; }
            if(siteArray1[i][2] == "1") { useCookie = "1"; }
            if(url.match("ssl.what.cd")) { isWhat = "1"; }
            if(siteArray1[i][6] != "") { innerSep = siteArray1[i][6]; }
            if(siteArray1[i][5] != "") { linkText = siteArray1[i][5]; }
            return 1;
        }
    }    
    
}
 
To LAN του ρε παιδια ειναι τελικά gigabit η οχι ; Χτες το ειδα σε ενα φιλο που το αποκτησε προσφατα (90 Ευρώ απο το Multirama κατοπιν δικης μου παραινεσης και ελπιζω να μην τον πηρα στο λαιμο μου) αλλά το πορτακι στο switch (Netgear gigabit switch) του φιλου που ηταν συνδεδεμενο με το το Etrayz αναβε πορτοκαλι υποδεικνυνοντας 100Mbit συνδεση..

Ελεγξαμε τα παντα, ολες οι αλλες συνδεσεις στο switch κανονικα 1000αρες (πρασινη ενδειξη), το καλωδιο CAT6 το δοκιμασαμε σε laptop και επαιζε σωστά αλλά στο Etrayz oχι. Τι μπορει να φταιει ;
 
και το δικό μου κλειδώνει στα 1000mbit χωρίς πρόβλημα με το netgear switch (prosafe gs105)

δοκίμασε πάντως κάποιο άλλο καλώδιο!
 
ένα ελαφρύ θρόισμα του ανεμιστήρα . Αν το δωμάτιό σου έχει απόλυτη ησυχία, θα ακούγεται.
 
ένα ελαφρύ θρόισμα του ανεμιστήρα . Αν το δωμάτιό σου έχει απόλυτη ησυχία, θα ακούγεται.

οπότε τον χάνω τον ύπνο μου ε? χχαχα!μαλίστα λες να μπορεί να αλλάξει ο ανεμιστηρας?