Quantcast
Channel: AsusForum.NET -- WL500g
Viewing all articles
Browse latest Browse all 1548

[HowTo]Aria2 Torrent, FTP, HTTP downloader with Webinterface

$
0
0
This howto describes howto install an excellent Linux-downloader with Torrent, FTP and HTTP capabilities and worldwide remote access.
Sometimes I missed a good downloadmanager for my router. Therefore I installed many different tools & apps in order to download different files. All of them worked fine, but they all have too much restrictions.
Then I found ARIA2 in our optware repository and some php-code called aria2web for a remote control of aria2.
There is some other code for a remote control out there, but far too complicated and too slow for a RT-N16.
A big advantage of aria2 is the very low needed cpu-resource and memory used for downloads. And it's ultrafast....
Disadvantages: You need Firefox on your Computer, with IE you have to tweak the php-code.
For IE, there are some suggestions for instance here: http://forum.synology.com/enu/viewto...p?f=38&t=26662

Tested with Webbrowser: Firefox, Iceweasel, Epiphany

Let's start........
Preconditions: RT-N16 or better (will run on a Wl500gP too, but slow)
Installation according Wengi's HowTo
Installed and running lighttpd and PHP according WPTE's HowTo
installed unzip on your router (or do a 'ipkg install unzip')
WinSCP

Aria2 is very easy to install, just adjust the line below with your download-folder as you like:
Код:

ipkg update
ipkg install aria2
mkdir -p /opt/var/log/aria2
mkdir -p /opt/etc/aria2
mkdir -p /tmp/mnt/disca_3/Downloads
touch /opt/etc/aria2/aria2.conf

vi /opt/etc/aria2/aria2.conf  ###SWITCH TO INSERT MODE WITH 'i' ######
daemon=true
enable-rpc=true
rpc-listen-port=6800
rpc-listen-all=true
####### your download folder, ensure that this folder exist! ##########
dir=/tmp/mnt/disca_3/Downloads
#where is your logfile located
log=/opt/var/log/aria2/aria2.log
log-level=warn
dht-listen-port=6801
auto-save-interval=30
#seed ratio and seed time in minutes
seed-ratio=1.0
seed-time=1460
max-upload-limit=20K
event-poll=select
####end of file aria2.conf####
### Enter 'ESC' and ':wq' to store and leave vi ###

Consider, there are so many options - you can use much more when needed.
Here you can read more: http://linux.die.net/man/1/aria2c

Now we start aria2 at every startup
Код:

touch /opt/etc/init.d/S85aria2
vi /opt/etc/init.d/S85aria2
###SWITCH TO INSERT MODE WITH 'i' ######
# For Olegs & Ily's FW for Asus Routers
# store this script in /opt/etc/init.d if you've installed optware

# Prgmname=/full_path/Prgmname
prgmname1="/opt/bin/aria2c"
shortname="aria2c"

#one option
options="--conf-path="

# configfile=/full_path/configfile
configfile="/opt/etc/aria2/aria2.conf"

start() {
        # Code here to start the program
        logger -t ARIA2C "Starting aria2c daemon "
        ${prgmname1} ${options}${configfile}
        sleep 5
        return 0
}

stop() {
        # Code here to stop the program and check it's dead
        if [ -n "`pidof $shortname`" ]; then
          logger -t ARIA2C "Shutting down aria2c daemon "
            /usr/bin/killall $shortname
          sleep 5
        fi
        return 0
}
##########################start here##########################
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        logger -t ARIA2C "$shortname restart, executed from $(whoami)"
        stop
        sleep 2
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac
sleep 1
exit
#### end of file S85aria2 ####
### Enter 'ESC' and ':wq' to store and leave vi ###

chmod 755 /opt/etc/init.d/S85aria2
reboot

Well, if there is no command 'whoami' on your router, just remove the part above 'executed from $(whoami)'
Consider, when you change something of your /opt/etc/aria2/aria2.conf file you must enter a:
Код:

/opt/etc/init.d/S85aria2 restart
Now we install the webinterface-part: (assumed, that your webservers document root is /opt/share/www)
Код:

wget http://sourceforge.net/projects/aria2web/files/latest/download
mkdir -p /opt/share/www/aria2web
unzip Aria2Web_0.1.zip -d /opt/share/www/aria2web
rm /opt/share/www/aria2web/config.php
touch /opt/share/www/aria2web/config.php
vi /opt/share/www/aria2web/config.php  ###SWITCH TO INSERT MODE WITH 'i' ######
<?php
/**
* @version                $Id: config.php 8 2010-01-21 16:05:04Z soeren_nb $
* @package        aria2web
* @copyright        Copyright (C) 2010 soeren. All rights reserved.
* @license                GNU/GPL, see LICENSE.php
* Aria2Web is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* http://sourceforge.net/projects/aria2web/
*/
defined( '_ARIA2WEB' ) or die();
// to run Aria2web in "local" mode means it's installed on the same machine as aria2, so we can start the aria2c executable through PHP
// when Aria2web is run in "web" mode, it's assumed that it's installed on a different machine and won't (be able to) start the aria2c executable
$aria2_mode = 'web';
$aria2_xmlrpc_host = 'localhost';
$aria2_xmlrpc_uripath = '/rpc';

$aria2_executable = '/opt/bin/aria2c'; // Location of the aria2c executable
$aria2_parameters = array();

// If aria2web is in local mode, it will try to start aria2c in XMl-RPC mode using the following additional parameters
$aria2_parameters['xml_rpc_listen_port'] = 6800;
$aria2_parameters['xml_rpc_username'] = '';
$aria2_parameters['xml_rpc_password'] = '';
$aria2_parameters['xml_rpc_listen_all'] = 'true';
$aria2_parameters['dir'] = '/tmp/mnt/disca_3/Downloads'; // The directory to store the downloaded file.
$aria2_parameters['log'] = '/opt/var/log/aria2/aria2.log'; // The location of the log file.
$aria2_parameters['http_user']= ''; //Set HTTP user. This affects all URLs.
$aria2_parameters['http_passwd']= '';//Set HTTP password. This affects all URLs.
$aria2_parameters['load_cookies']= ''; //Load Cookies from FILE using the Firefox3 format (SQLite3) and the Mozilla/Firefox(1.x/2.x)/Netscape format.
$aria2_parameters['user_agent']= ''; //Set user agent for HTTP(S) downloads. Default: aria2/$VERSION, $VERSION is replaced by package version.

?>

Enter 'ESC' and ':wq' to store and leave vi

Well, that's it - start your Firefox-browser and enter: http://ip.of.your.asus/aria2web
When you can see your aria2web-interface, you can configure your firewall
Now the firewall: (open the ports below)
The port numbers that aria2 uses by default are 6881-6999 for TCP and UDP and port 6800 for xml_rpc

Now the last step - we have to protect directory 'aria2web' of your webservers document root.
Код:

touch /opt/etc/htpassw

vi /opt/etc/htpassw  ###SWITCH TO INSERT MODE WITH 'i' ######
myusername:mypassword

Enter 'ESC' and ':wq' to store and leave vi

Now only one thing remains, we have to tell lighhtpd to use a password for your aria2web directory.

Код:

vi /opt/etc/lighttpd/lighttpd.conf
and activate the "mod_auth" by removing the comment sign '#'
Further, at the end of the lighttpd.conf you have to insert this:
Код:

##################################authentification for directories####################################
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/opt/etc/htpassw"
  auth.require = (
      "/aria2web/"  =>  ("method" => "basic", "realm" => "Password protected area of aria2", "require" => "user=myusername")
  )
#########################################################################################################

# Configuration from other optware packages
include_shell "cat /opt/etc/lighttpd/conf.d/*.conf"

Enter 'ESC' and ':wq' to store and leave vi
Restart your webserver:
[/opt/etc/init.d/S80lighttpd restart[/code]

References:
http://aria2.sourceforge.net/README.html
http://aria2.sourceforge.net/aria2c.1.html
http://sourceforge.net/apps/trac/ari...i/UsageExample
https://github.com/tomhennigan/arial
http://martin-achern.de/wgetgui/aria2gui.html

Well, thats all so far - enjoy!!
Below you can find a screenshot.....
Any kind of improvements, suggestions aso. are greatly appreciated.
Newbiefan

Изображения
 

Viewing all articles
Browse latest Browse all 1548

Latest Images

Trending Articles



Latest Images