Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some suggestions for your code #58

Open
wants to merge 43 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8c41bde
Massiv cleaning
MarkusLange Jan 31, 2023
c656c19
correct leftover misc
MarkusLange Jan 31, 2023
c377e04
Remove FASTMODE
MarkusLange Jan 31, 2023
94ccb7b
moving some lines around
MarkusLange Mar 4, 2023
ae09744
Update README.md
MarkusLange Mar 4, 2023
35d12e5
Update Rt-Install-minimal
MarkusLange Oct 10, 2023
854c90f
Update Rt-Install-minimal
MarkusLange Oct 11, 2023
80f00db
Update Rt-Install-minimal
MarkusLange Oct 13, 2023
3a0c6c4
Update Rt-Install-minimal
MarkusLange Oct 14, 2023
c80333f
Update Rt-Install-minimal
MarkusLange Oct 14, 2023
0874572
Update Rt-Install-minimal
MarkusLange Oct 16, 2023
3a49650
Update Rt-Install-minimal
MarkusLange Oct 18, 2023
e5234d0
Update Rt-Install-minimal
MarkusLange Oct 19, 2023
13a92ef
Update Rt-Install-minimal
MarkusLange Oct 23, 2023
5243dd0
Update Rt-Install-minimal
MarkusLange Oct 23, 2023
4d88787
Update Rt-Install-minimal
MarkusLange Oct 26, 2023
462c293
Update Rt-Install-minimal
MarkusLange Dec 3, 2023
a459235
Update README.md
MarkusLange Feb 12, 2024
302a9d9
Massive changes
MarkusLange Feb 14, 2024
aae5b48
little corrections
MarkusLange Feb 14, 2024
3fd6908
some little fixes
MarkusLange Feb 14, 2024
f2b1c23
some fixes
MarkusLange Feb 16, 2024
8824738
Update README.md
MarkusLange Feb 16, 2024
efea41c
add ngnix and lighttpd as webserver to the script
MarkusLange Feb 21, 2024
3431117
Update README.md
MarkusLange Feb 21, 2024
a1cb4af
rewrite to rpc.socket
MarkusLange Feb 27, 2024
37e0b70
Update README.md
MarkusLange Feb 27, 2024
91345ec
Update README.md
MarkusLange Feb 27, 2024
331fec2
Update README.md
MarkusLange Feb 27, 2024
9e5c5c6
eddit some parts
MarkusLange Mar 1, 2024
1b41a69
Update Rt-Install-minimal-apache2_ngnix_lighttpd_prc-socket.bash
MarkusLange Mar 1, 2024
4cd5d33
quick update
MarkusLange Mar 12, 2024
7556c25
Remove unused function
MarkusLange Mar 12, 2024
b8ffce5
Update README.md
MarkusLange Mar 12, 2024
65be4ed
Merge branch 'master' of https://github.com/MarkusLange/rt-auto-install
MarkusLange Mar 12, 2024
16f8d24
fix missing php-xml
MarkusLange May 15, 2024
6ff4338
Update to Version 3.0
MarkusLange Dec 16, 2024
9c793c6
Update to V2.5
MarkusLange Dec 18, 2024
4b39e61
refactor To-Do and Changelog
MarkusLange Dec 18, 2024
d463c7a
Refactor ToDo List
MarkusLange Dec 18, 2024
13a6670
Rename TODO to ToDo
MarkusLange Dec 18, 2024
171b0e1
Update Rt-Install-minimal-apache2_ngnix_lighttpd_prc-socket_choose_br…
MarkusLange Dec 18, 2024
7952ec1
small typo fix
MarkusLange Dec 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
Files/
*.deb
Files/
*.deb
.rtorrent.rc
Rt-Install-minimal-ngnix.bash
*.png
162 changes: 35 additions & 127 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,129 +1,37 @@
taken after Version 1.7 done so far:
* always use of the latest ruTorrent
* no need to care about the distro version
* remove unnecessary stuff
* add support for arm* systems (scgi)
* correcting external ipv4
* deactivate not supportet plugins
* redirect http to https
* correct terminal colors
* add autodl-irssi plugin (Rt-Install-minimal-new.bash)
* update .rtorrent.rc to the new commands
* fix changelog and todo view
* put functions together for more order
* make pre-installation packages fully silent
* and a little bit there and there
* now choose between apache2, nginx and lighttpd as webserver
(Rt-Install-minimal-apache2_ngnix_lighttpd.bash)
* create htaccess passwords now with openssl
* remove ToDo-List from the Menu
* move from SCGIMount to rpc.socket
* hardening the webserver basend on
https://raymii.org/s/tutorials/Strong_SSL_Security_On_*.html
* reintegrade To-Do List
* putting rtorrent and rutorrent user determination inside the menu and prevent
installation to start without
* add function to update ruTorrent
* reactivate plugins screenshots, spectrogram
* some corrections
* adopt the actual ruTorrent branches (v4 & v5) since autodl is brocken in v5
* transfer naming from Bercik to me for less confusion
* redirect Todo and Changelog

--------------------------------------------------------------------------------
VERSION 1.7 2022-10-15
* Added self signed SSL cert generation for HTTPS (thx @tbennett6421)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.6 2022-08-05
* Added support for Linux Mint 21 (Vanessa)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.5 2022-07-24
* Added support for Linux Mint 19.1 (Tessa)
* Added support for Linux Mint 19.2 (Tina)
* Added support for Linux Mint 19.3 (Tricia)
* Added support for Linux Mint 20.1 (Ulyssa)
* Added support for Linux Mint 20.2 (Uma)
* Added support for Linux Mint 20.3 (Una)
* Add function EOL
* Remove support for all EOL systems

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.4 2022-06-19
* Added support for LMDE 5 (Elsie)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.3 2022-05-15
* Added support for Ubutnu 22.04 (Jammy Jellyfish)
* Disabled rehash after download

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.2 2022-01-16
* Fixed #19 Fixed rare case if wget is missing
* Added support for Ubuntu 21.10 (Impish Indri)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.1 2021-11-20
* Fixed #15 error if usergroup is not the same as username

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 1.0 2021-06-17
* Added support for Ubuntu 21.04 Hirsute Hippo
* Added support for Linux Mint 20 Ulyana
* Added support for Linux Mint 20.1 Ulyssa
* Wow! v1.0 at last

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 0.9 2020-12-16
* Added support for Ubuntu 20.10 Groovy Gorilla
* Tmux stop function has been set to send-keys so it now tries to gracefully close rt instead of killing it

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 0.8 2020-09-04
* Added support for Ubuntu 20.04 Focal Fossa
* Added support for Debian 11 Bullseye
* New function INSTALL_SCGI
* Cleanup of few old comments
* Cleanup of tabbing and spacing in DISTRO section

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 0.7 2020-01-01
* Added support for Ubuntu 19.10 Eoan Ermine
* Files/ folder removed, everything merged into single file now! You can literally wget entire thing.
* Fix display custom port for http connection. When [ch] option used, script didn't show proper link in summary for local IP.
* Removed obsolete rtorrent-init file

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

VERSION 0.6 2019-10-14
* Added support for Debian 11 Bullseye
* Added option cr - change rTorrent port
* Added option ch - change http rutorrent port
* Added functions SET_RT_PORT and SET_HTTP_PORT
* Virtualhost file is no longer dynamically created
* Created 001-default-rutorrent.conf and ports.conf in Files/
* Removed rutorrent plugins from main menu

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VERSION 0.5 2019-08-01
* Added -h --help, -d --demo, -f --fast CLI parameters.
* Changed display method of TODO and Changelog to show only 15 newest lines.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VERSION 0.4 2019-07-22
* Added Raspberry support (Raspbian buster)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VERSION 0.3 2019-06-28
* Script merged into _single_ file. Now maintanance will be easier.
* Added DETECTOS function.
* Added OSDETAILS function.
* Added INSTALL_RTORRENT_APT_R96 and INSTALL_RTORRENT_APT_R97 functions.
* Main menu shows rt/libt versions based on OS you run.
* Added few return codes (3,4).
* Filename changed to Rt-Install-minimal, no version numbers or OS names.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VERSION 0.2 2019-06-16
* Removed plugin selection section.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VERSION 0.1 2019-04-20
Updated packages:
* xmlrpc-c-1.51.03
* libtorrent-0.13.7
* rtorrent-0.9.7
* rutorrent-3.7

Misc:
* Added TODO and Changelog
* Added more colors
* Added new options in menu (Changelog and TODO)
* Introducing new types of installation: minimal(from repo), sources(build from source)
* Dropped support for old Debian versions <10
* changed apache2 rutorrent path from /var/www/html/rutorrent -> /var/www/rutorrent
* installer uses package names WITHOUT version numbers for instance: php-geoip instead php5-geoip
* changed name structure for installer:
Rtorrent-Auto-Install-<version>-<OS_release>-<OS_codename>-<type>
eg: Rtorrent-Auto-Install-0.1-Debian10-Buster-minimal
OS release includes numeric value because sometimes it's hard to remember Toy Story characters
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


--------------------------------------------------------------------------------
176 changes: 76 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,100 +1,76 @@

# Rtorrent + Rutorrent Auto Install Script by Bercik
### Modern script for automatic rtorrent, rutorrent installation under Linux.
Makes your system seedbox ready in minutes!


![Logo](https://i.imgur.com/KtvJriL.jpg)

## News

**Current version** v1.7 released 2022/10/15

Added self signed SSL cert generation for HTTPS (thx @tbennett6421)

For details, always go to Changelog.

## Features ##

* This script performs automatic installation of rTorrent (BitTorrent client) and ruTorrent(web based GUI).
* It detects your OS and uses most recent version of rT available in repository of your Linux distribution.
* Uses SINGLE file for all supported operating systems.
* Gives menu-driven guidance when creating username.
* It's actively developed and I'm not planning to drop it like others did :P

## Supported operating systems ##

* **Debian 11 Bullseye**
* **Debian 10 Buster**
* **Raspbian 10 Buster**
* **Ubuntu 22.04 Jammy Jellyfish**
* ~~Ubuntu 21.10 Impish Indri~~
* ~~Ubuntu 21.04 Hirsute Hippo~~
* ~~Ubuntu 20.10 Groovy Gorilla~~
* **Ubuntu 20.04 Focal Fossa**
* ~~Ubuntu 19.10 Eoan Ermine~~
* ~~Ubuntu 19.04 Disco Dingo~~
* ~~Ubuntu 18.10 Cosmic Cuttlefish~~
* **Ubuntu 18.04 Bionic Beaver**
* **Mint 21 Vanessa**
* **Mint 20.3 Una**
* **Mint 20.2 Uma**
* **Mint 20.1 Ulyssa**
* **Mint 20 Ulyana**
* **Mint 19.3 Tricia**
* **Mint 19.2 Tina**
* **Mint 19.1 Tessa**
* **Mint 19 Tara**
* **LMDE 5 Elsie**

More to come, see TODO.

## What the scripts does ##
In the installation process you have to choose a system user to run rtorrent.
Also you will get the opportunity of installing a total of 46 plugins. See list further down.
The script add a init script that makes rtorrent start, at a possible reboot, in the
given username's screen/tmux session. Use "service rtorrent-init start" and
"service rtorrent-init stop" to start and stop rtorrent respectively.

Promo
------------

[![rt-auto-install promo](https://img.youtube.com/vi/F0MvYg7bAqk/0.jpg)](https://youtu.be/F0MvYg7bAqk)

Screenshoot
------------

![Screenshot1](https://i.ibb.co/5R1YWtN/rt-main-menu.png)
![Screenshot2](https://i.ibb.co/GvB8Tdq/rt-complete.png)


Installation
------------

**Installation video**

[![rt-auto-install script youtube](https://img.youtube.com/vi/uBxfSg0blPM/0.jpg)](https://www.youtube.com/watch?v=uBxfSg0blPM)



Run the script with sudo or as root

git clone https://github.com/Bercik1337/rt-auto-install.git
cd rt-auto-install
sudo ./Rt-Install-minimal

or now you can simply wget https://raw.githubusercontent.com/Bercik1337/rt-auto-install/master/Rt-Install-minimal

FAQ
------------
### But _WHY_ if we have Docker version?
I took over abandoned installation script because author didn't want to develop it anymore. Excuse was that everything moved to Docker.

In my personal opinion that's a **bad move**, and no one else fixed script - so I did. Docker itself is not a bad idea, but I would like to see it in dynamic, scalable environments where it grows and shrinks depending on workload.

That's certainly NOT the case here. rtorrent is ran usually 24/7, does not work in cluster solutions or anything close to that. So sticking it into Docker is 1. waste of resources (CPU, disk) 2. Security risk (everything you'd normally have PLUS Docker problems).
I might be the only person using this script - so be it. No containers for this app.


### Support for more OSes?
See TODO

# Rtorrent + Rutorrent Auto Install Script by me, a modified version of Bercik's scipt what is a modified version of Kerwood's script
### Modern script for automatic rtorrent, rutorrent installation under Linux.
Makes your system seedbox ready in minutes!

![Logo](https://i.imgur.com/KtvJriL.jpg)

## News

**Current version** v2.5 released 2024/12/18

* always use of the latest ruTorrent
* no need to care about the distro version
* remove unnecessary stuff
* add support for arm* systems (scgi)
* correcting external ipv4
* deactivate not supportet plugins
* redirect http to https
* correct terminal colors
* add autodl-irssi plugin (Rt-Install-minimal-new.bash)
* update .rtorrent.rc to the new commands
* fix changelog and todo view
* put functions together for more order
* make pre-installation packages fully silent
* and a little bit there and there
* now choose between apache2, nginx and lighttpd as webserver (Rt-Install-minimal-apache2_ngnix_lighttpd.bash)
* create htaccess passwords now with openssl
* remove ToDo-List from the Menu
* move from SCGIMount to rpc.socket
* hardening the webserver basend on https://raymii.org/s/tutorials/Strong_SSL_Security_On_*.html
* reintegrade To-Do List
* putting rtorrent and rutorrent user determination inside the menu and prevent installation to start without
* add function to update ruTorrent
* reactivate plugins screenshots, spectrogram
* some corrections
* adopt the actual ruTorrent branches (v4 & v5) since autodl is brocken in v5

## Features ##

* This script performs automatic installation of rTorrent (BitTorrent client) and ruTorrent (web based GUI).
* It detects your OS and uses most recent version of rT available in repository of your Linux distribution.
* Gives menu-driven guidance when creating username.
* This script is minimal inversiv to files and operating system
* Free choose between apache2, ngnix or lighttpd as webserver

## Supported operating systems ##

* **Debian**
* **Raspbian**
* **Ubuntu**
* **Mint**
* **LMDE**

## What the scripts does ##
In the installation process you have to choose a system user to run rtorrent. The script add a service that
makes rtorrent start, at a possible reboot, in the given username's tmux session. Use "systemctl rtorrent start"
and "systemctl rtorrent stop" to start and stop rtorrent respectively.

Run the script with sudo or as root

git clone https://github.com/MarkusLange/rt-auto-install.git
cd rt-auto-install
sudo ./Rt-Install-minimal-apache2_ngnix_lighttpd_prc-socket_choose_branche.bash

with autodl-irssi, rpc.socket (no SCGIMount anymore) and update function for ruTorrent and options to choose the ruTorrent branche
wget https://raw.githubusercontent.com/MarkusLange/rt-auto-install/master/Rt-Install-minimal-apache2_ngnix_lighttpd_prc-socket_choose_branche.bash

## To-Do ##
* Add Wiki to explain what is, and why something is done (only someone is interested)
* ~~remove the SCGI code from the scrip is atm. deactivated~~
* ~~remove other commented out parts from the script to clean it update~~
* put some effort in a wider testbase rewriting was done on debian 12.5 only (with countless VMs)
* ~~may transfer naming and links to this fork so there is less confusion for users~~
* ~~also transfer changelog and To-Do~~
* working out with Bercik when he is less busy what he liked to merged
* remove/deactivate webserver default pages
Loading