Compare commits

..
10 Commits
Author SHA1 Message Date
arakasi72 64e998b2de Update rtletsencrypt 2019-09-18 14:22:04 +01:00
arakasi72 bfee5f27fe Merge pull request #432 from V33m/patch-1
Fixes issues #246 and #431
2019-09-12 21:44:33 +01:00
V33m 2f7ad34e5b [arm64] Fixes "WARNING: Unable to start rtorrent"
If the package libxmlrpc-core-c3-dev is not installed on an arm64 system, rTorrent won't be able to run and you'll get the following error - WARNING: Unable to start rtorrent

Fixes the issue: https://github.com/arakasi72/rtinst/issues/246
2019-09-11 11:45:37 +02:00
V33m 0652fe19eb Adds fallback to lsb_release if output is empty
As (lsb_release -si) or (lsb_release -sr | cut -d. -f1) might not return any name or value, one should add a fallback to prevent the script from not finding the proper OS name or version ID. 

Fixes the issue: https://github.com/arakasi72/rtinst/issues/431
2019-09-11 11:36:02 +02:00
arakasi72 90072e5226 Update rtinst 2019-09-09 00:50:10 +01:00
arakasi72 ab34ec9fd4 Update nginxsite 2019-09-02 22:26:14 +01:00
arakasi72 4ca8cbc9a4 Update rtinst 2019-08-12 22:38:59 +01:00
arakasi72 2dd915d800 Update README.md 2019-08-10 00:30:31 +01:00
arakasi72 2ecf699e9d Update rtwebmin 2019-08-08 08:43:44 +01:00
arakasi72 3b2b6789a2 Develop (#424)
* Update rtinst

* Update rtinst

* Update rtinst

* Update rtorrent.rc

* Update rtadduser

* Update rtadduser

* Update rtadduser

* Update rtadduser

* Update rtadduser

* Update rtadduser

* Update rtadduser

* Update rtletsencrypt
2019-08-07 19:00:54 +01:00
7 changed files with 133 additions and 57 deletions
+6 -6
View File
@@ -25,16 +25,16 @@ It takes about 10 minutes to run, depending on your server setup. After you have
It has been tested with clean installs of:
Ubuntu 12 (unsupported)
Ubuntu 13 (unsupported)
Ubuntu 14 (unsupported)
Ubuntu 15 (unsupported)
Ubuntu 12 (old release)
Ubuntu 13 (old release)
Ubuntu 14 (old release)
Ubuntu 15 (old release)
Ubuntu 16
Ubuntu 17
Ubuntu 18
Ubuntu 19
Debian 7 "Wheezy" (unsupported)
Debian 8 "Jessie" (unsupported)
Debian 7 "Wheezy" (old release)
Debian 8 "Jessie" (old release)
Debian 9 "Stretch"
Debian 10 "Buster"
+1 -5
View File
@@ -14,7 +14,7 @@ server {
deny all;
location @denied {
return 301 https://$server_name$request_uri;
return 301 https://$host$request_uri;
}
location / {
@@ -46,10 +46,6 @@ server {
client_max_body_size 40m;
if ($host != $server_name) {
return 301 https://$server_name$request_uri;
}
ssl_certificate /etc/ssl/ruweb.crt;
ssl_certificate_key /etc/ssl/private/ruweb.key;
ssl_session_timeout 5m;
+2
View File
@@ -15,6 +15,8 @@ directory.default.set = (cat,(cfg.basedir),"download")
schedule = watch_directory,5,5,((load.start,(cat,(cfg.watch),"*.torrent")))
#system.umask.set = 0000
### BitTorrent
# Global upload and download rate in KiB, `0` for unlimited
throttle.global_down.max_rate.set = 0
+56 -29
View File
@@ -22,8 +22,9 @@ sshport=$(grep 'Port ' /etc/ssh/sshd_config | sed 's/[^0-9]*//g')
ftpport=$(grep 'listen_port=' /etc/vsftpd.conf | sed 's/[^0-9]*//g')
cronline1="@reboot sleep 10; /usr/local/bin/rtcheck irssi rtorrent"
cronline2="*/10 * * * * /usr/local/bin/rtcheck irssi rtorrent"
serverip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $NF}')
serverip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $7}')
check_ssh=1
rtdstatus=$(rtdload)
#get user list
cd /var/www/rutorrent/conf/users
@@ -33,6 +34,28 @@ user_list=*
### FUNCTIONS ###
###############################
#function to determin if unix user name is valid
valid_name(){
until [[ $user =~ ^[a-z][-a-z0-9_]{2,31}$ ]]
do
echo "Enter user name (lowercase, numbers, dash and underscore):"
read user
done
}
# function to ask user for y/n response
ask_user(){
local answer
while true
do
read answer
case $answer in [Yy]* ) return 0 ;;
[Nn]* ) return 1 ;;
* ) echo "Enter y or n";;
esac
done
}
genpasswd() {
local genln=$1
[ -z "$genln" ] && genln=8
@@ -183,34 +206,39 @@ fi
###############################
if [ -z "$user" ]; then
echo "Enter the name of the user to add"
echo "Enter the name of the user"
echo "It can be an existing user or a new user"
echo
confirm_name=1
while [ $confirm_name = 1 ]
do
read -p "Enter user name: " answer
addname=$answer
check_name=1
if [ "$addname" = "root" ]; then
echo "Cannot create root"
exit
valid_name
echo -n "Confirm that user name is $user y/n? "
if ask_user; then
confirm_name=0
else
user=''
fi
while [ $check_name = 1 ]
do
read -p "Is $addname correct? " answer
case $answer in [Yy]* ) confirm_name=0 && check_name=0 ;;
[Nn]* ) confirm_name=1 && check_name=0 ;;
* ) echo "Enter y or n";;
esac
done
done
user=$addname
else
if ! [[ $user =~ ^[a-z][-a-z0-9_]{2,31}$ ]]; then
echo "$user is not a valid user name please enter again"
confirm_name=1
while [ $confirm_name = 1 ]
do
valid_name
echo -n "Confirm that user name is $user y/n? "
if ask_user; then
confirm_name=0
else
user=''
fi
done
fi
fi
echo "User name is $user"
if id -u $user >/dev/null 2>&1; then
echo "$user already exists"
else
@@ -220,6 +248,13 @@ else
adduser --gecos "" $user --disabled-password
echo "$user:$unixpass" | sudo chpasswd
fi
if id -u $user >/dev/null 2>&1; then
echo "$user successfully created"
else
echo "create user failed - exiting process"
exit 1
fi
fi
home=$(eval echo "~$user")
@@ -363,14 +398,6 @@ fi
su $user -c '/usr/local/bin/rt restart'
su $user -c '/usr/local/bin/rt -i restart'
dload_line=$(grep "include /etc/nginx/conf.d/rtdload;" /etc/nginx/sites-available/default)
dload_hash=$(echo $dload_line | sed 's/[^#]*//g')
if [ ! -z "$dload_line" -a -z "$dload_hash" ]; then
dload_flag=0
else
dload_flag=1
fi
echo "$user setup complete"
echo "SCGI Port: $newscgi"
echo "RPC Mount: $newrpc"
@@ -391,7 +418,7 @@ echo
fi
echo "ftp client should be set to explicit ftp over tls using port $ftpport" | tee -a $home/rtinst.info
echo
if [ $dload_flag = 0 ]; then
if [ "$rtdstatus" = "enabled" ]; then
echo "https downloads can be accessed at https://$serverip/download/$user" | tee -a $home/rtinst.info
echo
fi
+64 -14
View File
@@ -35,13 +35,24 @@ fullrel=$(lsb_release -sd)
osname=$(lsb_release -si)
relno=$(lsb_release -sr | cut -d. -f1)
# Fallback if lsb_release -si returns nothing
if [ "$osname" = "" ]; then
osname=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"')
osname=${osname^}
fi
# Fallback if lsb_release -sr returns nothing
if [ "$relno" = "" ]; then
relno=$(grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"')
fi
if [ "$relno" = "16" ] || [ "$relno" = "17" ] || [ "$relno" = "9" ]; then
phpver=php7.0
phploc=/etc/php/7.0
libcver=libcurl3
fi
if [ $(lsb_release -sr) = "17.10" ]; then
if [ "$(lsb_release -sr)" = "17.10" ]; then
phpver=php7.1
phploc=/etc/php/7.1
libcver=libcurl3
@@ -133,6 +144,18 @@ else
fi
}
#function to determin if unix user name is valid
valid_name(){
until [[ $user =~ ^[a-z][-a-z0-9_]{2,31}$ ]]
do
echo "Enter user name (lowercase, numbers, dash and underscore):"
read user
done
}
#function to generate random password
genpasswd() {
local genln=$1
@@ -379,25 +402,39 @@ if [ -z "$user" ]; then
echo "This will be your primary user"
echo "It can be an existing user or a new user"
echo
confirm_name=1
while [ $confirm_name = 1 ]
do
read -p "Enter user name: " answer
addname=$answer
echo -n "Confirm that user name is $answer y/n? "
valid_name
echo -n "Confirm that user name is $user y/n? "
if ask_user; then
confirm_name=0
else
user=''
fi
done
user=$addname
else
user=$SUDO_USER
fi
else
if ! [[ $user =~ ^[a-z][-a-z0-9_]{2,31}$ ]]; then
echo "$user is not a valid user name please enter again"
confirm_name=1
while [ $confirm_name = 1 ]
do
valid_name
echo -n "Confirm that user name is $user y/n? "
if ask_user; then
confirm_name=0
else
user=''
fi
done
fi
fi
echo "User name is $user"
if id -u $user >/dev/null 2>&1; then
echo "$user already exists"
else
@@ -407,6 +444,14 @@ else
adduser --gecos "" $user --disabled-password
echo "$user:$unixpass" | chpasswd
fi
if id -u $user >/dev/null 2>&1; then
echo "$user successfully created"
else
echo "create user failed - exiting process"
exit 1
fi
fi
home=$(eval echo "~$user")
@@ -511,6 +556,11 @@ for package_name in $package_list
fi
done
# Installs a package needed to prevent arm64 architectures from "WARNING: Unable to start rtorrent"
if [ "$(uname --m)" == "aarch64" ] || [ "$(dpkg --print-architecture)" == "arm64" ] ; then
sudo apt-get install libxmlrpc-core-c3-dev
fi
test -z "$install_list" || apt-get -qq install $install_list >> $logfile 2>&1
if ! [ $? = 0 ]; then
echo "Problem installing packages. Check log and rerun once it is resolved" && exit
@@ -529,13 +579,13 @@ if [ $osname = "Debian" ] && ! installed unrar; then
do
attempts=$(( $attempts + 1 ))
if [ "$(uname -m)" = "x86_64" ]; then
wget http://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz >> $logfile 2>&1
tar xvzf rarlinux-x64-5.5.0.tar.gz >> $logfile 2>&1
rm rarlinux-x64-5.5.0.tar.gz
wget http://www.rarlab.com/rar/rarlinux-x64-5.7.1.tar.gz >> $logfile 2>&1
tar xvzf rarlinux-x64-5.7.1.tar.gz >> $logfile 2>&1
rm rarlinux-x64-5.7.1.tar.gz
elif [ "$(uname -m)" = "x86_32" ]; then
wget http://www.rarlab.com/rar/rarlinux-5.5.0.tar.gz >> $logfile 2>&1
tar xvzf rarlinux-5.5.0.tar.gz >> $logfile 2>&1
rm rarlinux-5.5.0.tar.gz
wget http://www.rarlab.com/rar/rarlinux-5.7.1.tar.gz >> $logfile 2>&1
tar xvzf rarlinux-5.7.1.tar.gz >> $logfile 2>&1
rm rarlinux-5.7.1.tar.gz
fi
done
if [ -d rar ]; then
+3 -2
View File
@@ -62,9 +62,10 @@ if [ $(dpkg-query -W -f='${Status}' "certbot" 2>/dev/null | grep -c "ok installe
apt-get -q update >> $logfile 2>&1
apt-get install -y certbot python-certbot-nginx >> $logfile 2>&1
else
grep "^deb http\:\/\/deb\.debian\.org\/debian stretch-backports main" /etc/apt/sources.list > /dev/null || echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list
deb_name=$(lsb_release --codename --short)
grep "^deb http\:\/\/deb\.debian\.org\/debian $deb_name-backports main" /etc/apt/sources.list > /dev/null || echo "deb http://deb.debian.org/debian $deb_name-backports main" >> /etc/apt/sources.list
apt-get -q update >> $logfile 2>&1
apt-get install -y certbot python-certbot-nginx -t stretch-backports >> $logfile 2>&1
apt-get install -y certbot python-certbot-nginx -t $deb_name-backports >> $logfile 2>&1
fi
else
echo "certbot already installed"
+1 -1
View File
@@ -9,7 +9,7 @@
######################################################################
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin
serverip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $NF}')
serverip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $7}')
if [ "$(id -u)" != "0" ]; then
echo "Must be run as root, directly or with sudo"