diff --git a/scripts/3proxy-linux-install.sh b/scripts/3proxy-linux-install.sh new file mode 100644 index 0000000..a01d18e --- /dev/null +++ b/scripts/3proxy-linux-install.sh @@ -0,0 +1,980 @@ +#!/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 '/ "${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 diff --git a/scripts/3proxy.cfg b/scripts/3proxy.cfg new file mode 100644 index 0000000..56393d0 --- /dev/null +++ b/scripts/3proxy.cfg @@ -0,0 +1,30 @@ +#!/usr/local/etc/3proxy/bin/3proxy +daemon +pidfile /usr/local/etc/3proxy/3proxy.pid +nscache 65536 +nserver 127.0.0.1 + +config /usr/local/etc/3proxy/3proxy.cfg +monitor /usr/local/etc/3proxy/3proxy.cfg +monitor /usr/local/etc/3proxy/counters +monitor /usr/local/etc/3proxy/passwd +monitor /usr/local/etc/3proxy/bandlimiters + +log /usr/local/etc/3proxy/log/log D +rotate 60 +counter /usr/local/etc/3proxy/3proxy.3cf + +users $/usr/local/etc/3proxy/passwd + +include /usr/local/etc/3proxy/counters +include /usr/local/etc/3proxy/bandlimiters + +auth strong +deny * * 127.0.0.1 +allow * +proxy -n +socks +flush +allow admin + +admin -p8080 diff --git a/scripts/add3proxyuser.sh b/scripts/add3proxyuser.sh new file mode 100644 index 0000000..d77b750 --- /dev/null +++ b/scripts/add3proxyuser.sh @@ -0,0 +1,11 @@ +#!/bin/sh +if [ $4 ]; then + echo $1:`/usr/local/etc/3proxy/bin/mycrypt $$ $2` >> /usr/local/etc/3proxy/passwd + echo countin \"`wc -l /usr/local/etc/3proxy/counters|awk '{print $1}'`/$1\" D $3 $1 >> /usr/local/etc/3proxy/counters + echo bandlimin $4 $1 >> /usr/local/etc/3proxy/bandlimiters +else + echo usage: $0 username password day_limit bandwidth + echo " "day_limit - traffic limit in MB per day + echo " "bandwidth - bandwith in bits per second 1048576 = 1Mbps +fi + diff --git a/scripts/install-unix.sh b/scripts/install-unix.sh new file mode 100644 index 0000000..9fc5d42 --- /dev/null +++ b/scripts/install-unix.sh @@ -0,0 +1,22 @@ +#!/bin/sh +cd .. +cp Makefile.unix Makefile +make +if [ ! -d /usr/local/etc/3proxy/bin ]; then mkdir -p /usr/local/etc/3proxy/bin/; fi +install src/3proxy /usr/local/etc/3proxy/bin/3proxy +install src/mycrypt /usr/local/etc/3proxy/bin/mycrypt +install scripts/rc.d/proxy.sh /usr/local/etc/rc.d/proxy.sh +install scripts/add3proxyuser.sh /usr/local/etc/3proxy/bin/ +if [ -s /usr/local/etc/3proxy/3proxy.cfg ]; then + echo /usr/local/etc/3proxy/3proxy.cfg already exists +else + install scripts/3proxy.cfg /usr/local/etc/3proxy/ + if [ ! -d /var/log/3proxy/ ]; then + mkdir /var/log/3proxy/ + fi + touch /usr/local/etc/3proxy/passwd + touch /usr/local/etc/3proxy/counters + touch /usr/local/etc/3proxy/bandlimiters + echo Run /usr/local/etc/3proxy/bin/add3proxyuser.sh to add \'admin\' user +fi + diff --git a/scripts/rc.d/proxy.sh b/scripts/rc.d/proxy.sh new file mode 100644 index 0000000..af51475 --- /dev/null +++ b/scripts/rc.d/proxy.sh @@ -0,0 +1,49 @@ +#!/bin/sh +# +# chkconfig: 2345 20 80 +# description: 3proxy tiny proxy server +# +# +# +# + +case "$1" in + start) + echo Starting 3Proxy + + /usr/local/etc/3proxy/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg + + RETVAL=$? + echo + [ $RETVAL ] + ;; + + stop) + echo Stopping 3Proxy + if [ -f /usr/local/etc/3proxy/3proxy.pid ]; then + /bin/kill `cat /usr/local/etc/3proxy/3proxy.pid` + else + /usr/bin/killall 3proxy + fi + + RETVAL=$? + echo + [ $RETVAL ] + ;; + + restart|reload) + echo Reloading 3Proxy + if [ -f /usr/local/etc/3proxy/3proxy.pid ]; then + /bin/kill -s USR1 `cat /usr/local/etc/3proxy/3proxy.pid` + else + /usr/bin/killall -s USR1 3proxy + fi + ;; + + + *) + echo Usage: $0 "{start|stop|restart}" + exit 1 +esac +exit 0 +