{"id":870,"date":"2018-05-14T01:57:37","date_gmt":"2018-05-13T18:57:37","guid":{"rendered":"https:\/\/trichev.com\/blog\/?p=870"},"modified":"2018-05-14T02:01:26","modified_gmt":"2018-05-13T19:01:26","slug":"flood-web-interface-for-rtorrent-on-centos-7","status":"publish","type":"post","link":"https:\/\/trichev.com\/blog\/2018\/05\/14\/flood-web-interface-for-rtorrent-on-centos-7\/","title":{"rendered":"Flood (web interface for rtorrent) on CentOS 7"},"content":{"rendered":"<p><strong>Install rTorrent<\/strong><br \/>\n<code>install rtorrent screen<br \/>\nadduser rtorrent<\/code><\/p>\n<p><strong>Confgure rTorrent<\/strong><\/p>\n<pre><code>vi \/home\/rtorrent\/.rtorrent.rc\r\n    # Where rTorrent saves the downloaded files\r\n    directory = \/srv\/torrent\/downloads\r\n\r\n    # Where rTorrent saves the session\r\n    session = \/srv\/torrent\/.session\r\n\r\n    # Which ports rTorrent can use (Make sure to open them in your router)\r\n    port_range = 50000-50000\r\n    port_random = no\r\n\r\n    # Check the hash after the end of the download\r\n    check_hash = yes\r\n\r\n    # Enable DHT (for torrents without trackers)\r\n    dht = auto\r\n    dht_port = 6881\r\n    peer_exchange = yes\r\n\r\n    # Authorize UDP trackers\r\n    use_udp_trackers = yes\r\n\r\n    # Enable encryption when possible\r\n    encryption = allow_incoming,try_outgoing,enable_retry\r\n\r\n    # SCGI port, used to communicate with Flood\r\n    scgi_port = 127.0.0.1:5000<\/code><\/pre>\n<p><code>mkdir \/srv\/torrent<br \/>\nmkdir \/srv\/torrent\/downloads<br \/>\nmkdir \/srv\/torrent\/.session<br \/>\nchmod 775 -R \/srv\/torrent<br \/>\nchown rtorrent:rtorrent -R \/srv\/torrent<br \/>\nchown rtorrent:rtorrent \/home\/rtorrent\/.rtorrent.rc<\/code><\/p>\n<pre><code>vi \/etc\/systemd\/system\/rtorrent.service\r\n    [Unit]\r\n    Description=rTorrent\r\n    After=network.target\r\n\r\n    [Service]\r\n    User=rtorrent\r\n    Type=forking\r\n    KillMode=none\r\n    ExecStart=\/usr\/bin\/screen -d -m -fa -S rtorrent \/usr\/bin\/rtorrent\r\n    ExecStop=\/usr\/bin\/killall -w -s 2 \/usr\/bin\/rtorrent\r\n    WorkingDirectory=%h\r\n\r\n    [Install]\r\n    WantedBy=default.target<\/code><\/pre>\n<p><code>systemctl enable rtorrent.service<br \/>\nsystemctl start rtorrent<\/code><\/p>\n<p><strong>Install Flood<\/strong><br \/>\n<code>yum install gcc-c++ make curl git -y<br \/>\ncurl -sL https:\/\/rpm.nodesource.com\/setup_8.x | bash -<br \/>\nyum install -y nodejs<\/code><\/p>\n<p><code>cd \/srv\/torrent<br \/>\ngit clone https:\/\/github.com\/jfurrow\/flood.git<br \/>\ncd flood<br \/>\ncp config.template.js config.js<\/code><\/p>\n<p>To access flood remotely<br \/>\n<code>vi config.js<br \/>\nfloodServerHost: '0.0.0.0'<\/code><\/p>\n<p><code>npm install<\/code><\/p>\n<p>If no error, continue with:<\/p>\n<p><code>npm install -g node-gyp<br \/>\nnpm run build<\/code><\/p>\n<p><strong>Start Flood<\/strong><br \/>\n<code>adduser flood<br \/>\nchown -R flood:flood \/srv\/torrent\/flood\/<\/code><\/p>\n<pre><code>vi \/etc\/systemd\/system\/flood.service\r\n    [Service]\r\n    WorkingDirectory=\/srv\/torrent\/flood\r\n    ExecStart=\/usr\/bin\/npm start\r\n    Restart=always\r\n    StandardOutput=syslog\r\n    StandardError=syslog\r\n    SyslogIdentifier=notell\r\n    User=flood\r\n    Group=flood\r\n    Environment=NODE_ENV=production\r\n\r\n    [Install]\r\n    WantedBy=multi-user.target<\/code><\/pre>\n<p><code>systemctl enable flood<br \/>\nsystemctl start flood<\/code><\/p>\n<p>Flood should be available via http:\/\/IP:3000. You need to create a new user and you&#8217;re all set.<\/p>\n<p>Links:<br \/>\n<a href=\"https:\/\/github.com\/jfurrow\/flood\">https:\/\/github.com\/jfurrow\/flood<\/a><br \/>\n<a href=\"https:\/\/freedif.org\/flood-modern-web-ui-for-rtorrent\">https:\/\/freedif.org\/flood-modern-web-ui-for-rtorrent<\/a><br \/>\n<a href=\"https:\/\/github.com\/nodesource\/distributions\">https:\/\/github.com\/nodesource\/distributions<\/a><br \/>\n<a href=\"https:\/\/wiki.archlinux.org\/index.php\/RTorrent\">https:\/\/wiki.archlinux.org\/index.php\/RTorrent<\/a><br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/BitTorrent_protocol_encryption\">https:\/\/en.wikipedia.org\/wiki\/BitTorrent_protocol_encryption<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Install rTorrent install rtorrent screen adduser rtorrent Confgure rTorrent vi \/home\/rtorrent\/.rtorrent.rc # Where rTorrent saves the downloaded files directory = \/srv\/torrent\/downloads # Where rTorrent saves the session session = \/srv\/torrent\/.session # Which ports rTorrent can use (Make sure to open them in your router) port_range = 50000-50000 port_random = no # Check the hash after [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[231],"tags":[212,271,32,269,270,14,11],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/870"}],"collection":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/comments?post=870"}],"version-history":[{"count":4,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/870\/revisions"}],"predecessor-version":[{"id":874,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/870\/revisions\/874"}],"wp:attachment":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/media?parent=870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/categories?post=870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/tags?post=870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}