| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980 |
- #!/bin/bash
- # 3proxy build and install script for Debian Linux
- # Release 2.0 at 29.12.2016
- # (с) Evgeniy Solovyev
- # mail-to: eugen-soloviov@yandex.ru
- ScriptPath=""
- Src3proxyDirPath=""
- ScriptName=""
- ScriptFullName=""
- SourceRoot=""
- ResourcesData=""
- ProxyVersion=""
- LasestProxyVersion=""
- LasestProxyVersionLink=""
- UseSudo=0
- PacketFiles=""
- NeedSourceUpdate=0
- main()
- {
- local msgNewVersion
- local msgInsertYorN
-
- VarsInit
- LoadResources
- CheckRunConditions
-
- if [ $UseSudo == 1 ]
- then
- sudo bash "${0}"
- exit $?
- fi
-
- CheckLocation
- GetLasestVersionInfo
-
- SourceDownloadOrUpdate
-
- cd "${SourceRoot}"
-
- Build3Proxy
- BinInstall
- ManInstall
- CreateLogDir
- CopyConfig
- SetInit
- Pack3proxyFiles
- }
- VarsInit()
- {
- cd `dirname $0`
- ScriptPath="${PWD}"
- ScriptName=`basename $0`
- ScriptFullName="${ScriptPath}/${ScriptName}"
- }
- CheckLocation()
- {
- Src3proxyDirPath="${ScriptPath}"
-
- if echo ${ScriptPath} | grep -e "/scripts$"
- then
- if [ -e "../src/version.h" ]
- then
- ProxyVersion=`cat "../src/version.h" | awk '/VERSION/ { gsub("\"", "\n"); print; exit }' | grep "3proxy"`
- cd ../
- SourceRoot="${PWD}"
- cd ../
- Src3proxyDirPath="${PWD}"
- cd "${ScriptPath}"
- fi
- fi
- }
- GetLasestVersionInfo()
- {
- local Githublink
- local msg
-
- Githublink=`wget https://github.com/z3APA3A/3proxy/releases/latest -O /dev/stdout |
- awk '/<a.+href=.+\.tar\.gz/ { gsub("\"", "\n"); print; exit }' |
- grep -e ".tar.gz"`
- if [ $? != 0 ]
- then
- msg=`GetResource "msgInternetConnectionError"`
- echo -e "${msg}"
- exit 255
- fi
-
- LasestProxyVersionLink="https://github.com${Githublink}"
- LasestProxyVersion=`basename "${Githublink}" | awk 'gsub(".tar.gz", "") { print "3proxy-" $0 }'`
- }
- CheckRunConditions()
- {
- local UserName
- local answer
- local msg
- local msgContinueWork
- local msgInsertYorN
-
- UserName=`whoami`
-
- if [ $UID != 0 ]
- then
- if [ `CheckPacketInstall "sudo"` == 0 ]
- then
- msg=`GetResource "msgSudoNotInstalled"`
- echo -e "${msg}"
- exit 255
- fi
-
- UseSudo=1
-
- if [ -z `cat /etc/group | grep -e "^sudo" | grep "${UserName}"` ]
- then
- msg=`GetResource "msgUserNotMemberOfSudoGroup"`
- echo -e "${msg}"
- exit 255
- fi
-
- if [ `env | grep -e ^http_proxy` != "" ]
- then
- msg=`GetResource "msgSystemUseProxy"`
- echo -e "${msg}"
-
- msgContinueWork=`GetResource "msgDoYouWishContinue"`
- msgInsertYorN=`GetResource "msgPleaseInsertYorN"`
-
- while true; do
- read -s -n1 -p "${msgContinueWork}" answer
- case $answer in
- [Yy]* ) echo -ne "\n";break;;
- [Nn]* ) echo -ne "\n"; sleep 0; exit 0;;
- * ) echo -e "${msgInsertYorN}";;
- esac
- done
-
- fi
- fi
-
- }
- DonwnloadSource()
- {
- if [ ! -e "${Src3proxyDirPath}/${LasestProxyVersion}.tar.gz" ]
- then
- wget "${LasestProxyVersionLink}" -O "${Src3proxyDirPath}/${LasestProxyVersion}.tar.gz"
- fi
-
- ProxyVersion="${LasestProxyVersion}"
- }
- UnpackSource()
- {
- if [ ! -d "${Src3proxyDirPath}/${LasestProxyVersion}" ]
- then
- tar -xvf "${Src3proxyDirPath}/${LasestProxyVersion}.tar.gz" -C "${Src3proxyDirPath}"
- fi
-
- SourceRoot="${Src3proxyDirPath}/${LasestProxyVersion}"
- }
- SourceDownloadOrUpdate()
- {
- if [ -z "${ProxyVersion}" ]
- then
- NeedSourceUpdate=1
- else
- if [ "${ProxyVersion}" != "${LasestProxyVersion}" ]
- then
- msgNewVersion=`GetResource "msgNewVersion"`
- msgInsertYorN=`GetResource "msgPleaseInsertYorN"`
-
- echo -ne "\a"
-
- while true; do
- read -s -n1 -p "${msgNewVersion}" answer
- case $answer in
- [Yy]* ) echo -ne "\n"; NeedSourceUpdate=1; sleep 0; break;;
- [Nn]* ) echo -ne "\n"; NeedSourceUpdate=0; sleep 0; break;;
- * ) echo -e "${msgInsertYorN}";;
- esac
- done
- fi
- fi
-
- if [ $NeedSourceUpdate == 1 ]
- then
- DonwnloadSource
- UnpackSource
- fi
- }
- Build3Proxy()
- {
- local msg
-
- if [ `CheckPacketInstall "build-essential"` == 0 ]
- then
- apt-get -y install build-essential
- fi
-
- if [ `CheckPacketInstall "build-essential"` == 0 ]
- then
- msg=`GetResource "msgBuildEssentialNotInstalled"`
- echo -e "${msg}"
-
- exit 255
- fi
-
- make -f Makefile.Linux
- }
- BinInstall()
- {
- local binlist
- local liblist
-
- cd src
-
- binlist=`ls -l --time-style="+%d.%m.%Y %H:%m" | awk '$1 ~ /x$/ && $1 ~ /^[^d]/ && $8 !~ /\.so$/ { print $8 }'`
-
- for file in $binlist
- do
- cp -vf "${file}" /usr/bin
- PacketFiles=`echo -e "${PacketFiles}\n/usr/bin/${file}"`
- done
-
- liblist=`ls -l --time-style="+%d.%m.%Y %H:%m" | awk '$1 ~ /x$/ && $1 ~ /^[^d]/ && $8 ~ /\.so$/ { print $8 }'`
- for file in $liblist
- do
- cp -vf "${file}" /usr/lib
- PacketFiles=`echo -e "${PacketFiles}\n/usr/lib/${file}"`
- done
- cd ..
- }
- ManInstall()
- {
- local man3list
- local man8list
-
- cd man
-
- man3list=`ls -l --time-style="+%d.%m.%Y %H:%m" | awk '$8 ~ /\.3$/ { print $8 }'`
- gzip -vfk $man3list
-
- man3list=`echo "${man3list}" | awk '{ print $1 ".gz" }'`
-
- for file in $man3list
- do
- mv -vf "${file}" /usr/share/man/man3
- PacketFiles="${PacketFiles}\n/usr/share/man/man3/${file}"
- done
-
- man8list=`ls -l --time-style="+%d.%m.%Y %H:%m" | awk '$8 ~ /\.8$/ { print $8 }'`
-
- gzip -vfk $man8list
-
- man8list=`echo "${man8list}" | awk '{ print $1 ".gz" }'`
-
- for file in $man8list
- do
- mv -vf "${file}" /usr/share/man/man8
- PacketFiles=`echo -e "${PacketFiles}\n/usr/share/man/man8/${file}"`
- done
-
- cd ..
- }
- CreateLogDir()
- {
- local LogDir
- LogDir="/var/log/3proxy"
-
- if [ ! -d "${LogDir}" ]
- then
- mkdir "${LogDir}"
- fi
-
- chown nobody:nogroup "${LogDir}"
- chmod 775 "${LogDir}"
- PacketFiles="${PacketFiles}\n${LogDir}"
- }
- CopyConfig()
- {
- local ConfigDir
- ConfigDir="/etc/3proxy"
-
- if [ ! -d "${ConfigDir}" ]
- then
- mkdir "${ConfigDir}"
- fi
-
- LoadGlobalResource "ConfigFile" > "${ConfigDir}/3proxy.cfg"
- PacketFiles=`echo -e "${PacketFiles}\n${ConfigDir}/3proxy.cfg"`
- }
- SetInit()
- {
- LoadGlobalResource "InitScript" > "/etc/init.d/3proxy"
- chown root:root "/etc/init.d/3proxy"
- chmod 755 "/etc/init.d/3proxy"
-
- PacketFiles=`echo -e "${PacketFiles}\n/etc/init.d/3proxy"`
- update-rc.d 3proxy defaults
- }
- Pack3proxyFiles()
- {
- local CPU_Arc
- CPU_Arc=`uname -m`
- cd ../
- tar -czPpvf "${ProxyVersion}-${CPU_Arc}.tar.gz" $PacketFiles
- }
- LoadResources()
- {
- local StartRow
- local EndRow
- local LngLabel
- local msgResourceErr="\aError! Script could not find resources!"
-
- if env | grep -q 'LANG=ru_RU.UTF-8'
- then
- LngLabel="RU"
- #LngLabel="EN"
- else
- LngLabel="EN"
- fi
-
- StartRow=`cat "${ScriptFullName}" | awk "/^#Resources_${LngLabel}/ { print NR; exit}"`
-
- if [ -z "${StartRow}" ]
- then
- echo -e "${msgResourceErr}"
- exit 255
- fi
-
- EndRow=`cat "${ScriptFullName}" | awk "NR > ${StartRow} && /^#Resources_${LngLabel}_end/ { print NR; exit}"`
-
- if [ -z "${EndRow}" ]
- then
- echo -e "${msgResourceErr}"
- exit 255
- fi
-
- ResourcesData=`cat "${ScriptFullName}" | awk -v StartRow="${StartRow}" -v EndRow="${EndRow}" 'NR > StartRow && NR < EndRow { print $0 }'`
- }
- # $1 - Name of Resource
- GetResource()
- {
- local StartRow
- local EndRow
- local msgResourceErr="\aError! Script could not find resource \"${1}\"!"
-
- StartRow=`echo "${ResourcesData}" | awk "/^#Resource=${1}/ { print NR; exit}"`
-
- if [ -z "${StartRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- EndRow=`echo "${ResourcesData}" | awk "NR > ${StartRow} && /^#endResource=${1}/ { print NR; exit}"`
-
- if [ -z "${EndRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- echo "${ResourcesData}" | awk -v StartRow="${StartRow}" -v EndRow="${EndRow}" 'NR > StartRow && NR < EndRow { print $0 }'
- }
- # $1 - Name of Resource
- LoadGlobalResource()
- {
- local StartRow
- local EndRow
- local LngLabel
- local msgResourceErr="\aError! Script could not find resource \"${1}\"!"
-
-
- StartRow=`cat "${ScriptFullName}" | awk "/^#Resource=${1}/ { print NR; exit}"`
-
- if [ -z "${StartRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- EndRow=`cat "${ScriptFullName}" | awk "NR > ${StartRow} && /^#endResource=${1}/ { print NR; exit}"`
-
- if [ -z "${EndRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- cat "${ScriptFullName}" | awk -v StartRow="${StartRow}" -v EndRow="${EndRow}" 'NR > StartRow && NR < EndRow { print $0 }'
- }
- CheckPacketInstall()
- {
- if [ `dpkg -l ${1} 2>&1 | wc -l` -le 1 ]
- then
- echo 0
- return
- fi
- if [ `dpkg -l ${1} | grep -e ^un | wc -l` == 1 ]
- then
- echo 0
- return
- fi
-
- echo 1
- }
- main
- exit 0
- #Resources_EN
- #Resource=msgSudoNotInstalled
- \aThe script is running under the account a non-privileged user.
- "Sudo" package is not installed in the system.
- The script can not continue, as the execution of operations,
- requiring rights "root" - is not possible!
- Please run the script under the account "root",
- or install and configure "sudo" package!
- #endResource=msgSudoNotInstalled
- #Resource=msgUserNotMemberOfSudoGroup
- \aThe script is running under account a non-privileged user.
- The account of the current user is not included in the "sudo" group!
- The script can not continue, as the execution of operations,
- requiring rights "root" - is not possible!
- Please run the script under the account "root",
- or configure "sudo" package!
- #endResource=msgUserNotMemberOfSudoGroup
- #Resource=msgSystemUseProxy
- \aAttention! The operating system uses proxy-server.
- For correctly work of package manager "apt"
- in the file "/etc/sudoers" should be present line:
- Defaults env_keep = "http_proxy https_proxy"
- #endResource=msgSystemUseProxy
- #Resource=msgDoYouWishContinue
- Do you wish to the script continued executing? (y/n):
- #endResource=msgDoYouWishContinue
- #Resource=msgPleaseInsertYorN
- \a\nPlease insert "y" or "n"!
- #endResource=msgPleaseInsertYorN
- #Resource=msgInternetConnectionError
- \aError downloading "https://github.com/z3APA3A/3proxy/releases/latest"!
- Please check the settings of the Internet connection.
- #endResource=msgInternetConnectionError
- #Resource=msgNewVersion
- The new version of "3proxy" detected, do you want download it?
- #endResource=msgNewVersion
- #Resource=msgBuildEssentialNotInstalled
- \aPackage "build-essential" was not installed.
- The installation can not be continued!
- #endResource=msgBuildEssentialNotInstalled
- #Resources_EN_end
- #Resources_RU
- #Resource=msgSudoNotInstalled
- \aСкрипт запущен под учётной записью обычного пользователя.
- В системе не установлен пакет "sudo".
- Скрипт не может продолжить работу, так как выполнение операций,
- требующих прав "root" - не представляется возможным!
- Пожалуйста, запустите скрипт под учётной записью "root",
- либо установите и настройте пакет "sudo"!
- #endResource=msgSudoNotInstalled
- #Resource=msgUserNotMemberOfSudoGroup
- \aСкрипт запущен под учётной записью обычного пользователя.
- Учётная запись текущего пользователя не включена в группу "sudo"!
- Скрипт не может продолжить работу, так как выполнение операций,
- требующих прав "root" - не представляется возможным!
- Пожалуйста, запустите скрипт под учётной записью "root",
- либо настройте пакет "sudo"!
- #endResource=msgUserNotMemberOfSudoGroup
- #Resource=msgSystemUseProxy
- \aВнимание! В системе используется прокси-сервер.
- Чтобы менеджер пакетов "apt" работал корректно,
- в файле "/etc/sudoers" должна присутствовать строка:
- Defaults env_keep = "http_proxy https_proxy"
- #endResource=msgSystemUseProxy
- #Resource=msgDoYouWishContinue
- Хотите чтобы скрипт дальше продолжил работу? (y/n):
- #endResource=msgDoYouWishContinue
- #Resource=msgPleaseInsertYorN
- \a\nПожалуйста введите "y" или "n"!
- #endResource=msgPleaseInsertYorN
- #Resource=msgInternetConnectionError
- \aОшибка закачки "https://github.com/z3APA3A/3proxy/releases/latest"!
- Пожалуйста, проверьте настройки интернет соединения.
- #endResource=msgInternetConnectionError
- #Resource=msgNewVersion
- Обнаружена новая версия "3proxy", скачать её (y/n)?
- #endResource=msgNewVersion
- #Resource=msgBuildEssentialNotInstalled
- \aПакет "build-essential" не был установлен.
- Дальнейшая установка не может быть продолжена!
- #endResource=msgBuildEssentialNotInstalled
- #Resources_RU_end
- #Resource=ConfigFile
- noconfig
- # If in this file have line "noconfig", then 3proxy not to be runned!
- # For usung this configuration file 3proxy you must to delete
- # or comment out the line with "noconfig".
- daemon
- # Parameter "daemon" - means run 3proxy as daemon
- pidfile /tmp/3proxy.pid
- # PID file location
- # This parameter must have the same value as
- # the variable "PidFile" in the script "/etc/init.d/3proxy"
- # Configuration file location
- config /etc/3proxy/3proxy.cfg
- internal 127.0.0.1
- # Internal is address of interface proxy will listen for incoming requests
- # 127.0.0.1 means only localhost will be able to use this proxy. This is
- # address you should specify for clients as proxy IP.
- # You MAY use 0.0.0.0 but you shouldn't, because it's a chance for you to
- # have open proxy in your network in this case.
- external 192.168.0.1
- # External is address 3proxy uses for outgoing connections. 0.0.0.0 means any
- # interface. Using 0.0.0.0 is not good because it allows to connect to 127.0.0.1
- # DNS IP addresses
- nserver 8.8.8.8
- nserver 8.8.4.4
- # DNS cache size
- nscache 65536
- # Timeouts settings
- timeouts 1 5 30 60 180 1800 15 60
- # log file location
- log /var/log/3proxy/3proxy.log D
- # log file format
- logformat "L%C - %U [%d-%o-%Y %H:%M:%S %z] ""%T"" %E %I %O %N/%R:%r"
- archiver gz /usr/bin/gzip %F
- # If archiver specified log file will be compressed after closing.
- # you should specify extension, path to archiver and command line, %A will be
- # substituted with archive file name, %f - with original file name.
- # Original file will not be removed, so archiver should care about it.
- rotate 30
- # We will keep last 30 log files
- proxy -p3128
- # Run http/https proxy on port 3128
- auth none
- # No authentication is requires
- setgid 65534
- setuid 65534
- # Run 3proxy under account "nobody" with group "nobody"
- #endResource=ConfigFile
- #Resource=InitScript
- #!/bin/sh
- #
- # 3proxy daemon control script
- #
- ### BEGIN INIT INFO
- # Provides: 3proxy
- # Required-Start: $network $remote_fs $syslog
- # Required-Stop: $network $remote_fs $syslog
- # Should-Start: $named
- # Should-Stop: $named
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: 3proxy HTTP Proxy
- ### END INIT INFO
- ScriptName="3proxy"
- ScriptFullName="/etc/init.d/3proxy"
- ConfigFile="/etc/3proxy/3proxy.cfg"
- LogDir="/var/log/3proxy"
- PidFile="/tmp/3proxy.pid"
- ResourcesData=""
- main()
- {
- LoadResources
-
- if [ ! -d "${LogDir}" ]
- then
- mkdir -p "${LogDir}";
- fi
-
- case "$1" in
- start) Start ;;
- stop) Stop ;;
- restart) Stop; Start ;;
- status) Status ;;
- *) ShowHelp;;
- esac
- }
- Start()
- {
- local msg
- local ProxyPID
-
- if [ ! -f "${ConfigFile}" ]
- then
- msg=`GetResource "msgConfigFileNotFound"`
- printf "${msg}" "${ConfigFile}"
- return
- fi
-
- if cat "${ConfigFile}" | grep -qe "^noconfig"
- then
- msg=`GetResource "msgNoconfigDetected"`
- printf "${msg}" "${ConfigFile}"
- return
- fi
-
- ProxyPID=`Get3proxyPID`
-
- if [ ! -z "${ProxyPID}" ]
- then
- msg=`GetResource "msg3proxyAlreadyRunning"`
- printf "${msg}" "${ProxyPID}"
- return
- fi
-
- 3proxy "${ConfigFile}"
- sleep 1
-
- ProxyPID=`Get3proxyPID`
-
- if [ ! -f "${PidFile}" ]
- then
- msg=`GetResource "msg3proxyStartProblems"`
- printf "${msg}"
- return
- fi
-
- if [ `cat "${PidFile}"` != "${ProxyPID}" ]
- then
- msg=`GetResource "msg3proxyStartProblems"`
- printf "${msg}"
- return
- fi
-
- msg=`GetResource "msg3proxyStartedSuccessfully"`
- printf "${msg}" `date +%d-%m-%Y" "%H:%M:%S` "${ProxyPID}"
- }
- Stop()
- {
- local msg
- local ProxyPID
-
- ProxyPID=`Get3proxyPID`
-
- if [ -f "${PidFile}" ]
- then
- if [ `cat "${PidFile}"` = "${ProxyPID}" ]
- then
- kill -9 "${ProxyPID}"
- rm -f "${PidFile}"
-
- msg=`GetResource "msg3proxyStoppedSuccessfully"`
- printf "${msg}" `date +%d-%m-%Y" "%H:%M:%S`
-
- return
- fi
- fi
-
- if [ -z "${ProxyPID}" ]
- then
- msg=`GetResource "msg3proxyProxyNotDetected"`
- printf "${msg}"
-
- return
- fi
-
- pkill -o 3proxy
-
- msg=`GetResource "msg3proxyStoppedByKillall"`
- printf "${msg}" `date +%d-%m-%Y" "%H:%M:%S` "${PidFile}"
-
- }
- Status()
- {
- local msg
- local ProxyPID
-
- if [ -f "${PidFile}" ]
- then
- msg=`GetResource "msgPidFileExists"`
- printf "${msg}" "${PidFile}" `cat "${PidFile}"`
- else
- msg=`GetResource "msgPidFileNotExists"`
- printf "${msg}" "${PidFile}"
- fi
-
- ProxyPID=`Get3proxyPID`
-
- if [ ! -z "${ProxyPID}" ]
- then
- msg=`GetResource "msg3proxyProcessDetected"`
- printf "${msg}"
- ps -ef | awk '$8 ~ /^3proxy/ { print "User: " $1 "\tPID: " $2 }'
- else
- msg=`GetResource "msg3proxyProcessNotDetected"`
- printf "${msg}"
- fi
- }
- ShowHelp()
- {
- local msg
-
- msg=`GetResource "msg3proxyHelp"`
- printf "${msg}" "${ScriptFullName}" "${ScriptName}"
- }
- Get3proxyPID()
- {
- ps -ef | awk '$8 ~ /^3proxy/ { print $2; exit }'
- }
- LoadResources()
- {
- local StartRow
- local EndRow
- local LngLabel
- local msgResourceErr="\aError! Script could not find resources!"
-
- if env | grep -q 'LANG=ru_RU.UTF-8'
- then
- LngLabel="RU"
- else
- LngLabel="EN"
- fi
-
- StartRow=`cat "${ScriptFullName}" | awk "/^#Resources_${LngLabel}/ { print NR; exit}"`
-
- if [ -z "${StartRow}" ]
- then
- echo -e "${msgResourceErr}"
- exit 255
- fi
-
- EndRow=`cat "${ScriptFullName}" | awk "NR > ${StartRow} && /^#Resources_${LngLabel}_end/ { print NR; exit}"`
-
- if [ -z "${EndRow}" ]
- then
- echo -e "${msgResourceErr}"
- exit 255
- fi
-
- ResourcesData=`cat "${ScriptFullName}" | awk -v StartRow="${StartRow}" -v EndRow="${EndRow}" 'NR > StartRow && NR < EndRow { print $0 }'`
- }
- # $1 - Name of Resource
- GetResource()
- {
- local StartRow
- local EndRow
- local msgResourceErr="\aError! Script could not find resource \"${1}\"!"
-
- StartRow=`echo "${ResourcesData}" | awk "/^#Resource=${1}/ { print NR; exit}"`
-
- if [ -z "${StartRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- EndRow=`echo "${ResourcesData}" | awk "NR > ${StartRow} && /^#endResource=${1}/ { print NR; exit}"`
-
- if [ -z "${EndRow}" ]
- then
- echo -e "${msgResourceErr}" > /dev/stderr
- exit 255
- fi
-
- echo "${ResourcesData}" | awk -v StartRow="${StartRow}" -v EndRow="${EndRow}" 'NR > StartRow && NR < EndRow { print $0 }'
- }
- main $@
- exit 0;
- #Resources_EN
- #Resource=msg3proxyHelp
- Usage:
- \t%s {start|stop|restart}
- or
- \tservice %s {start|stop|restart|status}\\n
- #endResource=msg3proxyHelp
- #Resource=msgConfigFileNotFound
- \a3proxy configuration file - "%s" is not found!\\n
- #endResource=msgConfigFileNotFound
- #Resource=msgNoconfigDetected
- Parameter "noconfig" found in 3proxy configuration file -
- "% s" !
- To run 3proxy this parameter should be disabled.\\n
- #endResource=msgNoconfigDetected
- #Resource=msg3proxyAlreadyRunning
- \a3proxy already running PID: %s\\n
- #endResource=msg3proxyAlreadyRunning
- #Resource=msg3proxyStartProblems
- With the start of 3proxy, something is wrong!
- Use: service 3proxy status\\n
- #endResource=msg3proxyStartProblems
- #Resource=msg3proxyStartedSuccessfully
- [ %s %s ] 3proxy started successfully! PID: %s\\n
- #endResource=msg3proxyStartedSuccessfully
- #Resource=msg3proxyStoppedSuccessfully
- [ %s %s ] 3proxy stopped successfully!\\n
- #endResource=msg3proxyStoppedSuccessfully
- #Resource=msg3proxyProxyNotDetected
- Process "3proxy" is not detected!\\n
- #endResource=msg3proxyProxyNotDetected
- #Resource=msg3proxyStoppedByKillall
- [ %s %s ] Command "pkill -o 3proxy" was executed,
- because process number was not stored in "%s",
- but in fact 3proxy was runned!\\n
- #endResource=msg3proxyStoppedByKillall
- #Resource=msgPidFileExists
- File "%s" exists. It contains the PID: %s\\n
- #endResource=msgPidFileExists
- #Resource=msgPidFileNotExists
- File "%s" not found, that is, PID 3proxy was not stored!\\n
- #endResource=msgPidFileNotExists
- #Resource=msg3proxyProcessDetected
- Process 3proxy detected:\\n
- #endResource=msg3proxyProcessDetected
- #Resource=msg3proxyProcessNotDetected
- Processes of 3proxy is not found!\\n
- #endResource=msg3proxyProcessNotDetected
- #Resources_EN_end
- #Resources_RU
- #Resource=msg3proxyHelp
- Используйте:
- \t%s {start|stop|restart}
- или
- \tservice %s {start|stop|restart|status}\\n
- #endResource=msg3proxyHelp
- #Resource=msgConfigFileNotFound
- \aФайл конфигурации 3proxy - "%s", не найден!\\n
- #endResource=msgConfigFileNotFound
- #Resource=msgNoconfigDetected
- \aОбнаружен параметр "noconfig" в файле конфигурации 3proxy -
- "%s" !
- Для запуска 3proxy этот параметр нужно отключить.\\n
- #endResource=msgNoconfigDetected
- #Resource=msg3proxyAlreadyRunning
- \a3proxy уже запущен PID: %s\\n
- #endResource=msg3proxyAlreadyRunning
- #Resource=msg3proxyStartProblems
- \aСо стартом 3proxy, что-то не так!
- Используйте: service 3proxy status\\n
- #endResource=msg3proxyStartProblems
- #Resource=msg3proxyStartedSuccessfully
- [ %s %s ] 3proxy успешно стартовал! PID: %s\\n
- #endResource=msg3proxyStartedSuccessfully
- #Resource=msg3proxyStoppedSuccessfully
- [ %s %s ] 3proxy успешно остановлен!\\n
- #endResource=msg3proxyStoppedSuccessfully
- #Resource=msg3proxyProxyNotDetected
- Процесс "3proxy" не обнаружен!\\n
- #endResource=msg3proxyProxyNotDetected
- #Resource=msg3proxyStoppedByKillall
- [ %s %s ] Выполнена команда "pkill -o 3proxy",
- т.к. номер процесса не записан в "%s",
- но по факту 3proxy рабатал!\\n
- #endResource=msg3proxyStoppedByKillall
- #Resource=msgPidFileExists
- Файл "%s" есть. Он содержит PID: %s\\n
- #endResource=msgPidFileExists
- #Resource=msgPidFileNotExists
- Файл "%s" не найден, т.е. PID 3proxy не был сохранён!\\n
- #endResource=msgPidFileNotExists
- #Resource=msg3proxyProcessDetected
- Обнаружен процесс 3proxy:\\n
- #endResource=msg3proxyProcessDetected
- #Resource=msg3proxyProcessNotDetected
- Процессов 3proxy не обнаружено!\\n
- #endResource=msg3proxyProcessNotDetected
- #Resources_RU_end
- #endResource=InitScript
|