mirror of
https://github.com/elisspace/rtinst.git
synced 2026-10-06 17:16:22 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b2b6789a2 | ||
|
|
bb7e6bf87b | ||
|
|
2d2d1dff59 | ||
|
|
1f2a1b1f29 | ||
|
|
334659eb40 | ||
|
|
6a8bbafe95 | ||
|
|
78d70f57cd | ||
|
|
060a4b7660 |
+11
-3
@@ -1,5 +1,6 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
#server_name <Domain Name>;
|
||||
root /var/www;
|
||||
|
||||
@@ -13,7 +14,7 @@ server {
|
||||
deny all;
|
||||
|
||||
location @denied {
|
||||
return 301 https://$host$request_uri;
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
||||
|
||||
location / {
|
||||
@@ -35,13 +36,20 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
#server_name <Domain Name>;
|
||||
listen 443 ssl http2 default_server;
|
||||
listen [::]:443 ssl http2 default_server;
|
||||
|
||||
#server_name <Domain Name>;
|
||||
|
||||
root /var/www;
|
||||
index index.html index.php index.htm;
|
||||
|
||||
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;
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
+56
-9
@@ -133,6 +133,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 +391,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 +433,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")
|
||||
@@ -757,6 +791,8 @@ if [ $leflag = 0 ]; then
|
||||
sed -i "/^\(\s\|#\)*server_name/ c\ server_name $serverdn;" /etc/nginx/sites-available/default
|
||||
sed -i "/ssl_certificate / c\ ssl_certificate /etc/letsencrypt/live/$serverdn/fullchain.pem;" /etc/nginx/sites-available/default
|
||||
sed -i "/ssl_certificate_key / c\ ssl_certificate_key /etc/letsencrypt/live/$serverdn/privkey.pem;" /etc/nginx/sites-available/default
|
||||
else
|
||||
sed -i "/^\(\s\|#\)*server_name/ c\ server_name $serverip;" /etc/nginx/sites-available/default
|
||||
fi
|
||||
|
||||
service nginx restart && service $phpver-fpm restart
|
||||
@@ -976,7 +1012,13 @@ if [ -z $ru_current ]; then
|
||||
echo " RuTorrent was not installed" | tee -a $home/rtinst.info
|
||||
else
|
||||
echo " RuTorrent $ru_current installed" | tee -a $home/rtinst.info
|
||||
echo " rutorrent can be accessed at https://$serverdn/rutorrent" | tee -a $home/rtinst.info
|
||||
|
||||
if [ $leflag = 0 ]; then
|
||||
echo " rutorrent can be accessed at https://$serverdn/rutorrent" | tee -a $home/rtinst.info
|
||||
else
|
||||
echo " rutorrent can be accessed at https://$serverip/rutorrent" | tee -a $home/rtinst.info
|
||||
fi
|
||||
|
||||
if [ $passflag = 1 ]; then
|
||||
echo " rutorrent password set to $webpass" | tee -a $home/rtinst.info
|
||||
elif [ $passflag = 2 ]; then
|
||||
@@ -986,7 +1028,12 @@ else
|
||||
fi
|
||||
echo " to change rutorrent password enter: rtpass" | tee -a $home/rtinst.info
|
||||
echo | tee -a $home/rtinst.info
|
||||
echo " If enabled, access https downloads at https://$serverdn/download/$user" | tee -a $home/rtinst.info
|
||||
|
||||
if [ $leflag = 0 ]; then
|
||||
echo " If enabled, access https downloads at https://$serverdn/download/$user" | tee -a $home/rtinst.info
|
||||
else
|
||||
echo " If enabled, access https downloads at https://$serverip/download/$user" | tee -a $home/rtinst.info
|
||||
fi
|
||||
fi
|
||||
|
||||
echo | tee -a $home/rtinst.info
|
||||
|
||||
@@ -62,7 +62,8 @@ 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
|
||||
fi
|
||||
|
||||
@@ -59,6 +59,7 @@ fi
|
||||
if [ -f /etc/nginx/sites-available/default ]; then
|
||||
sed -i '/ssl_certificate / c\ ssl_certificate \/etc\/ssl\/ruweb\.crt;' /etc/nginx/sites-available/default
|
||||
sed -i '/ssl_certificate_key/ c\ ssl_certificate_key \/etc\/ssl\/private\/ruweb\.key;' /etc/nginx/sites-available/default
|
||||
sed -i "/^\(\s\|#\)*server_name/ c\ server_name $serverip;" /etc/nginx/sites-available/default
|
||||
service nginx restart >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user