3proxy: различия между версиями

Материал из support.qbpro.ru
imported>Vix
(Новая страница: «Прокси сервер который умеет HTTP\HTTPS, ознакомится можно [https://ru.wikipedia.org/wiki/3proxy тут]. <hr> Для ус…»)
 
imported>Vix
Нет описания правки
Строка 14: Строка 14:
   
   
и вносим содержимое:
и вносим содержимое:
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: 3Proxy
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Initialize 3proxy server
# Description: starts 3proxy
### END INIT INFO
case "$1" in
start)
echo Starting 3Proxy
/usr/bin/3proxy /etc/3proxy/3proxy.cfg
;;
stop)
echo Stopping 3Proxy
/usr/bin/killall 3proxy
;;
restart|reload)
echo Reloading 3Proxy
/usr/bin/killall -s USR1 3proxy
;;
*)
echo Usage: \$0 "{start|stop|restart}"
exit 1
esac
exit 0'>/etc/init.d/3proxyinit;
chmod 0644 /etc/init.d/3proxyinit;
chmod +x /etc/init.d/3proxyinit;
if [[ $deb_release < 8 ]];
    then
    update-rc.d -n 3proxyinit defaults;
    else
    echo -e '    [Unit]
    SourcePath=/etc/3proxy
    Description=proxy
    After=network-online.target
    Wants=network-online.target
    Conflicts=shutdown.target
    [Service]
    User=proxy3
    Group=proxy3
    GuessMainPID=no
    Type=notify
    NotifyAccess=all
    RemainAfterExit=yes
    WorkingDirectory=/etc/3proxy/
    ExecStart=/etc/init.d/3proxyinit start
    ExecStop=/etc/init.d/3proxyinit stop
    ExecReload=/etc/init.d/3proxyinit restart
    TimeoutSec=5min
    [Install]
    WantedBy=multi-user.target
'>/lib/systemd/system/3proxy.service;
    systemctl daemon-reload
/bin/systemctl enable 3proxy.service;
fi
#
reports[${#reports[@]}]="3proxy install susseful";
writeToLog;
printInfo;
}
function uninstall() {
    if [[ $deb_release < 8 ]];
    then
    /etc/init.d/3proxyinit stop;
    update-rc.d -n 3proxyinit remove;
    else
    /bin/systemctl stop 3proxy.service;
    /bin/systemctl disable 3proxy.service;
    rm /lib/systemd/system/3proxy.service;
    systemctl daemon-reload;
    fi
    rm -f /etc/3proxy/3proxy.cfg;
    rm -f /usr/bin/3proxy;
    rm -rf /etc/3proxy;
    deluser proxy3;
reports[${#reports[@]}]="3proxy uninstall susseful";
writeToLog;
printInfo;
}
##--@F executor
function executor() {
if [[ ${#execute_func[@]} -eq 0 ]]
    then echo "exit";
        exit 0;
fi
for ((ex_index=0; ex_index != ${#execute_func[@]}; ex_index++))
do
    ## !! debug operation...
    ##echo "execution: function ${execute_func[ex_index]}"
${execute_func[ex_index]};
done
}
##- Begin zramraid
case "$option" in
## install zramraid
"--install" | "--install" )
execute_func=( ${operation_install[@]} );
executor;
exit 0
;;
## uninstall zramraid
"--uninstall" | "--uninstall" )
execute_func=( ${operation_uninstall[@]} );
executor;
exit 0
;;
## help
"--help" | "--help" )
execute_func=( ${operation_help[@]} );
executor;
exit 0
;;
* )
# selecting defaults.
execute_func=( ${operation_help[@]} );
executor;
exit 1
;;
esac
3. даем права на запуск
chmod +x debinstall.sh
4. запускаем скрипт, он может потребовать доустановить пакеты - соглашаемся.
5. после установки правим конфигурационный файл /etc/3proxy/3proxy.cfg
Примеры можно посмотреть в папке с исходным кодом: ../3Proxy/cfg

Версия от 15:04, 24 декабря 2018

Прокси сервер который умеет HTTP\HTTPS, ознакомится можно тут.


Для установки необходимо сделать сдледующее:

1. скачать архив последней версии тут:

* - через git:
git clone https://github.com/z3APA3A/3proxy.git
* - скачиваем архивом
wget -c https://github.com/z3APA3A/3proxy/releases

2. если копия сделана через git то просто создаем в папке 3proxy файл debinstall.sh

cd 3proxy
touch debinstall.sh

и вносим содержимое:

#!/bin/sh # ### BEGIN INIT INFO # Provides: 3Proxy # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Initialize 3proxy server # Description: starts 3proxy ### END INIT INFO

case "$1" in start) echo Starting 3Proxy

/usr/bin/3proxy /etc/3proxy/3proxy.cfg  ;;

stop) echo Stopping 3Proxy /usr/bin/killall 3proxy  ;;

restart|reload) echo Reloading 3Proxy /usr/bin/killall -s USR1 3proxy  ;; *) echo Usage: \$0 "{start|stop|restart}" exit 1 esac exit 0'>/etc/init.d/3proxyinit; chmod 0644 /etc/init.d/3proxyinit; chmod +x /etc/init.d/3proxyinit;

if [[ $deb_release < 8 ]]; then update-rc.d -n 3proxyinit defaults; else echo -e ' [Unit] SourcePath=/etc/3proxy Description=proxy After=network-online.target Wants=network-online.target Conflicts=shutdown.target

[Service] User=proxy3 Group=proxy3 GuessMainPID=no Type=notify NotifyAccess=all RemainAfterExit=yes WorkingDirectory=/etc/3proxy/ ExecStart=/etc/init.d/3proxyinit start ExecStop=/etc/init.d/3proxyinit stop ExecReload=/etc/init.d/3proxyinit restart TimeoutSec=5min

[Install] WantedBy=multi-user.target

'>/lib/systemd/system/3proxy.service; systemctl daemon-reload /bin/systemctl enable 3proxy.service; fi # reports[${#reports[@]}]="3proxy install susseful"; writeToLog; printInfo;

}

function uninstall() { if [[ $deb_release < 8 ]]; then /etc/init.d/3proxyinit stop; update-rc.d -n 3proxyinit remove; else /bin/systemctl stop 3proxy.service; /bin/systemctl disable 3proxy.service; rm /lib/systemd/system/3proxy.service; systemctl daemon-reload; fi rm -f /etc/3proxy/3proxy.cfg; rm -f /usr/bin/3proxy; rm -rf /etc/3proxy; deluser proxy3; reports[${#reports[@]}]="3proxy uninstall susseful"; writeToLog; printInfo; }

##--@F executor function executor() { if [[ ${#execute_func[@]} -eq 0 ]] then echo "exit"; exit 0; fi for ((ex_index=0; ex_index != ${#execute_func[@]}; ex_index++)) do ## !! debug operation... ##echo "execution: function ${execute_func[ex_index]}" ${execute_func[ex_index]}; done }


##- Begin zramraid case "$option" in

## install zramraid "--install" | "--install" ) execute_func=( ${operation_install[@]} ); executor; exit 0 ;;

## uninstall zramraid "--uninstall" | "--uninstall" ) execute_func=( ${operation_uninstall[@]} ); executor; exit 0 ;;

## help "--help" | "--help" ) execute_func=( ${operation_help[@]} ); executor; exit 0 ;;

* ) # selecting defaults. execute_func=( ${operation_help[@]} ); executor; exit 1 ;; esac


3. даем права на запуск

chmod +x debinstall.sh

4. запускаем скрипт, он может потребовать доустановить пакеты - соглашаемся. 5. после установки правим конфигурационный файл /etc/3proxy/3proxy.cfg

Примеры можно посмотреть в папке с исходным кодом: ../3Proxy/cfg