#!/bin/bash # # Initial script for Live operating system # This script are launching before starting init from linux-live script. # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" SYSCONF="${ROOTFS}/${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null ## Установка системных прокси для HTTP,HTTPS,FTP,SOCKS,RSYNC и адреса исключений EXCLUDE ## Для применения требуется перелогиниться ## PROXY_SYSTEM[%PROTOCOL%]=%SERVER% ## Проверить текущий IP: curl icanhazip.com | curl https://httpbin.org/ip exec_proxy_system(){ FILE_SH_PROXY=${ROOTFS}/etc/profile.d/proxy_ubconfig.sh FILE_CSH_PROXY=${ROOTFS}/etc/profile.d/proxy_ubconfig.csh if [[ ${PROXY_SYSTEM[0],,} == @(n|no|none|disable) ]]; then rm -f ${FILE_SH_PROXY} 2>/dev/null rm -f ${FILE_CSH_PROXY} 2>/dev/null elif [[ -n ${PROXY_SYSTEM[@]} ]]; then true > ${FILE_SH_PROXY} true > ${FILE_CSH_PROXY} chmod 755 ${FILE_SH_PROXY} ${FILE_CSH_PROXY} for PROTOCOL in http https ftp socks rsync all exclude; do if [[ ${PROXY_SYSTEM[${PROTOCOL}],,} == @(n|no|none|disable) ]]; then [[ ${PROTOCOL,,} == "exclude" ]] && PROTOCOL_PREFIX="no" || PROTOCOL_PREFIX="${PROTOCOL,,}" sed "/^${PROTOCOL_PREFIX}_proxy=/d; /^export ${PROTOCOL_PREFIX}_proxy/d" -i ${FILE_SH_PROXY} sed "/^setenv ${PROTOCOL_PREFIX}_proxy/d" -i ${FILE_CSH_PROXY} elif [[ -n ${PROXY_SYSTEM[${PROTOCOL}]} ]]; then [[ ${PROTOCOL,,} == "exclude" ]] && PROTOCOL_PREFIX="no" || PROTOCOL_PREFIX="${PROTOCOL,,}" echo -e "${PROTOCOL_PREFIX}_proxy=${PROXY_SYSTEM[${PROTOCOL}]}\nexport ${PROTOCOL_PREFIX}_proxy" >> ${FILE_SH_PROXY} echo "setenv ${PROTOCOL_PREFIX}_proxy ${PROXY_SYSTEM[${PROTOCOL}]}" >> ${FILE_CSH_PROXY} fi done fi } ################ ##### MAIN ##### ################ exec_proxy_system $@