# -------------------------------------------------------------------------------------------
# sfs - s.earch f.ile s.ize and create a pastebin of the results
# sfs Version: 1.1
# Github: https://github.com/InterGenStudios/sfs
# ---------------------------------------------------
# InterGenStudios: 5-3-15
# Copyright (c) 2015: Christopher 'InterGen' Cork InterGenStudios
# URL: https://intergenstudios.com
# --------------------------------
# License: GPL-2.0+
# URL: http://opensource.org/licenses/gpl-license.php
# ---------------------------------------------------
# sfs is free software:
# You may redistribute it and/or modify it under the terms of the
# GNU General Public License as published by the Free Software
# Foundation, either version 2 of the License, or (at your discretion)
# any later version.
# ------------------
###########################################
##---------------------------------------##
## BEGIN - INITIAL VARIABLE DECLARATIONS ##
##---------------------------------------##
###########################################
# Sets sfs version number
vers=1.1
# Simple regex for number checking
RE='^[0-9]+$'
# Sets timestamp
stamp="$(echo $(date +"%m-%d-%Y") $(date +"%T"))"
#########################################
##-------------------------------------##
## END - INITIAL VARIABLE DECLARATIONS ##
##-------------------------------------##
#########################################
#######################
##-------------------##
## BEGIN - FUNCTIONS ##
##-------------------##
#######################
# Colors trailing text Red
RED="\e[1m\e[31m"
# Colors trailing text Green
GREEN="\e[1m\e[32m"
# Colors trailing text Yellow
YELLOW="\e[1m\e[33m"
# Colors trailing text Blue
BLUE="\e[1m\e[34m"
# Colors trailing text Bold White
WHITE="\e[1m\e[37m"
# Removes any previously set colors
NOCOLOR="\e[0m"
# A
SEPARATOR () {
echo -e "\n\n${BLUE}------------------------------------------------------------------------------${NOCOLOR}\n\n"
}
# Creates uniform look during script execution when called after any clear command
HEADER () {
echo -e "\n\n${BLUE}______________________________________________________________________________________________${NOCOLOR}\n"
echo -e "${WHITE} sfs v${GREEN}$vers${NOCOLOR}"
echo -e "${BLUE}______________________________________________________________________________________________${NOCOLOR}\n\n"
}
HELPTEXT () {
clear
HEADER
echo -e "${GREEN}sfs help:${NOCOLOR}\n"
echo "SFS is
____________________________________________________________________________________________________
? Download ?1: https://bit.ly/2JSO3IU
____________________________________________________________________________________________________
? Download ?2: http://exfindfiles.ru/d?s=YToyOntzOjc6InJlZmVyZXIiO3M6MTk6Imh0dHA6Ly9zdGlra2VkLmNvbS8iO3M6Mzoia2V5IjtzOjQyOiJQdnIgaXB0diBzaW1wbGUgY2xpZW50IHhibWMgZnJvZG8gZG93bmxvYWQiO30=
____________________________________________________________________________________________________
Adding a
echo -e "and pastebinning the results.\n"
echo -e "------------------\n"
echo -e "${GREEN}USAGE:${NOCOLOR}\n"
echo -e "sfs ...[${GREEN}target_directory${NOCOLOR}] [${GREEN}target_file_size${NOCOLOR}] | ...[${GREEN}target_directory${NOCOLOR}] | ${GREEN}-h ${NOCOLOR}(runs helptext)\n\n"
exit 0
}
GET_TARGET_FILESIZE () {
clear
HEADER
echo -e -n " ${GREEN}In ${WHITE}MB, ${GREEN}enter target file size${NOCOLOR} [Default = 100]: "
read TARGETSIZE
if [ -z "$TARGETSIZE" ]; then
SIZE=100
sleep 1
elif ! [[ $TARGETSIZE =~ $RE ]]; then
echo
echo -e "\n${RED}WARNING!${NOCOLOR}\n\n"
echo -e "${WHITE}$TARGETSIZE ${GREEN}isn't a number-size in MB.\n Restarting...${NOCOLOR}"
sleep 2
GET_TARGET_FILESIZE
else
SIZE="$TARGETSIZE"
sleep 1
fi
}
LOOP () {
echo -e "\n ${RED}WARNING!${NOCOLOR}\n"
echo -e " ${WHITE}$CHOICE ${GREEN}isn't a valid path on this server.\n"
sleep 1
echo -e " ${GREEN}Please double check that you want to search.${NOCOLOR}\n\n (Restarting...)"
SEPARATOR
sleep 1
GET_TARGET_FILESIZE
}
SEARCH () {
# Default search size
SEARCHSIZE=$(($SIZE * 1000))
tput cuu 2 && tput el
echo -e "\n\n ${GREEN}Server: ${WHITE}$HOSTNAME ${NOCOLOR}$stamp"
SEPARATOR
echo -e " ${GREEN}Searching recursively in ${WHITE}$TARGET_DIR ${GREEN}for files ${WHITE}>= $SIZE${GREEN}M${NOCOLOR}"
SEPARATOR
find "$TARGET_DIR" -type f -size +"$SEARCHSIZE"k -exec ls -lh {} \; 2>/dev/null | awk '{ printf "%- 130s %s\n", $9,$5; }'
echo -e "\n\n ${GREEN}Total Size of ${WHITE}$TARGET_DIR${GREEN}: ${WHITE}$DIR_SIZE${NOCOLOR}\n"
COUNT_FILES
echo " Search Complete"
SEPARATOR
printf "\n\n"
}
PASTE () {
PASTEFILE=$@;
curl -d name=sfs -d private=1 --data-urlencode text@"$PASTEFILE" -s https://paste.intergen.online/api/create > TEMPASTE
sed -i 's/view/view\/raw/g' TEMPASTE
SEPARATOR
echo -e " ${GREEN}Your results are at${WHITE}:\n"
echo -e " ${BLUE} ====> ${WHITE}$(cat TEMPASTE)${NOCOLOR}\n\n ${GREEN}Your paste will expire in 30 days${NOCOLOR}"
SEPARATOR
rm TEMPASTE
}
GET_FILECOUNTER_CHOICE () {
clear
HEADER
echo -e -n " ${GREEN}Find the
read FILE_COUNTER
}
# Checks for FILESEARCH flag
CHECK_FILECOUNTER_CHOICE () {
if [ -z "$FILE_COUNTER" ] || [ "$FILE_COUNTER" = "N" ] || [ "$FILE_COUNTER" = "n" ]; then
FILECOUNTER=NO
echo -e "\n ${YELLOW}FILECOUNTER SKIPPED\n ${NOCOLOR}Getting target directory size..."
elif [[ $FILE_COUNTER =~ $RE ]]; then
echo -e "\n ${RED}WARNING!\n ${NOCOLOR}Incorrect entry...\nRestarting..."
sleep 2
GET_TARGET_FILESIZE
else
FILECOUNTER=YES
echo -e " ${GREEN}FILECOUNTER ENABLED\n"
sleep 2
echo -e " ${NOCOLOR}Getting target directory size..."
fi
}
# Counts # of files if target directory
COUNT_FILES () {
if [ "$FILECOUNTER" = "YES" ]; then
TOTAL_FILE_COUNT="$(echo $(($(du -ah "$TARGET_DIR" 2>/dev/null | wc -l) - 1)))"
echo -e "\n ${GREEN}Total
fi
}
CHECK_TARGET_DIR_EXISTS () {
if [ ! -d "$TARGET_DIR" ]; then
LOOP
fi
}
GET_TARGET_DIR () {
clear
HEADER
echo -e " ${GREEN}Enter target search path or choose
Popular derivative applications and devices such as , , , , , , , and have all initially been spun off from the
echo -e " ${WHITE}1) ${GREEN}/home Directory${NOCOLOR}"
echo -e " ${WHITE}2) ${GREEN}/var/log Directory${NOCOLOR}"
echo -e " ${WHITE}3) ${GREEN}/usr/local/cpanel/logs Directory${NOCOLOR}"
echo -e " ${WHITE}4) ${GREEN}/var/lib/mysql Directory${NOCOLOR}"
echo -e " ${WHITE}5) ${GREEN}/backup Directory${NOCOLOR}\n"
echo -e " ${WHITE}( ${GREEN}default${WHITE} =${GREEN} / Root Directory${WHITE} )\n"
echo -n " [enter choice or directory path]: "
read DIR_CHOICE
case "$DIR_CHOICE" in
1) TARGET_DIR=/home;;
2) TARGET_DIR=/var/log;;
3) TARGET_DIR=/usr/local/cpanel/logs;;
4) TARGET_DIR=/var/lib/mysql;;
5) TARGET_DIR=/backup;;
*)
Pvr xbmc - So, if
TARGET_DIR=/
elif ! [[ $DIR_CHOICE =~ $RE ]]; then
TARGET_DIR=$DIR_CHOICE
fi;;
esac
}
GET_INPUT () {
GET_TARGET_FILESIZE
GET_TARGET_DIR
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
}
#####################
##-----------------##
## END - FUNCTIONS ##
##-----------------##
#####################
#############################################
##-----------------------------------------##
## BEGIN - MAKE SURE WE'RE RUNNING AS ROOT ##
##-----------------------------------------##
#############################################
echo -e "\n\n${RED}${BLINK}--------${NOCOLOR}"
echo -e "${RED}${BLINK}WARNING!${NOCOLOR}"
echo -e "${RED}${BLINK}--------${NOCOLOR}\n\n"
echo -e "${WHITE}sfs must
The core code is written in. Popular derivative applications xbmc devices such as,downloxd,and have all initially been cljent pvr from the code base as their main to create new. Main article:made by startup company Boxee Inc. The last version was 1. There will be
echo -e "${GREEN}(Exiting now...)${NOCOLOR}\n\n"
exit 1
fi
###########################################
##---------------------------------------##
## END - MAKE SURE WE'RE RUNNING AS ROOT ##
##---------------------------------------##
###########################################
#########################
##---------------------##
## BEGIN - CORE SCRIPT ##
##---------------------##
#########################
if [ "$1" = "-h" ]; then
HELPTEXT
else
if [ -z $1 ]; then
GET_INPUT
else
if [ -d $1 ] && [[ $2 =~ $RE ]]; then
TARGET_DIR="$1"
SIZE="$2"
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
elif [ -d $1 ] && [ -z $2 ]; then
TARGET_DIR="$1"
GET_TARGET_FILESIZE
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
fi
fi
fi
CHECK_TARGET_DIR_EXISTS
DIR_SIZE="$(du -h $TARGET_DIR 2>/dev/null | tail -1 | awk '{print $1}')"
mkdir -p /root/support/logs/sfs_logs
clear
HEADER
SEARCH 2>&1 | tee searchfile
sed -i -e 's/[\x01-\x1F\x7F]//g' -e 's|\[1m\[32m||g' -e 's|(B\[m||g' -e 's|\[1m\[34m||g' -e 's|\[2A\[K||g' -e 's|\[1m\[37m||g' -e 's|\[0m||g' searchfile
PASTE searchfile
mv searchfile /root/support/logs/sfs_logs/sfs_"$HOSTNAME"_"$(date +"%m-%d-%Y_%T")"
printf "\n\n"
#######################
##-------------------##
## END - CORE SCRIPT ##
##-------------------##
#######################
exit 0
????????? ????? ? ??? ??? ??? ?????. Enter your username and password when prompted. Gotham ne radi, a isto ne rade jos mnogo drugih addon-sa na novu ver. This is the more arduous part of the process. ?????????? ??????????, ??? ? ??????? ??????????? ???? ? ????? ???????? ??? ?? ??????? ??? ? ??? ??????.