From 77bd950c6d27bea903db3227b21477c791afdeaa Mon Sep 17 00:00:00 2001 From: ljm42 Date: Mon, 18 Mar 2024 14:22:57 -0700 Subject: [PATCH] remove proxy.ini, use environment variables instead --- emhttp/plugins/dynamix/include/Helpers.php | 16 ++++------ sbin/set_proxy | 37 +++++++--------------- 2 files changed, 18 insertions(+), 35 deletions(-) diff --git a/emhttp/plugins/dynamix/include/Helpers.php b/emhttp/plugins/dynamix/include/Helpers.php index 2a91ff7fb..f5eb6aac4 100644 --- a/emhttp/plugins/dynamix/include/Helpers.php +++ b/emhttp/plugins/dynamix/include/Helpers.php @@ -292,14 +292,13 @@ function my_mkdir($dirname,$permissions = 0777,$recursive = false) { } } // use when calling file_get_contents, fopen, or similar on a url -// reads proxy.ini and determines whether to proxy the request +// reads environment variables and determines whether to proxy the request // example usage: file_get_contents($url, false, getProxyStreamContext($url)); function getProxyStreamContext($url, $streamContextOptions = [], $http_proxy_override = null, $no_proxy_override = null) { $url_host=parse_url($url, PHP_URL_HOST); - $proxy = (array)@parse_ini_file("/var/local/emhttp/proxy.ini",true); - - $http_proxy = $http_proxy_override ?? _var($proxy,'http_proxy'); - $no_proxy = $no_proxy_override ?? _var($proxy,'no_proxy'); + + $http_proxy = $http_proxy_override ?? getenv('http_proxy'); + $no_proxy = $no_proxy_override ?? getenv('no_proxy'); $no_proxy_arr = ($no_proxy) ? explode (",", $no_proxy) : []; // php does not support sock5 proxies in HTTP context options, only http proxies @@ -326,14 +325,13 @@ function getProxyStreamContext($url, $streamContextOptions = [], $http_proxy_ove } } // use after calling curl_init(); -// reads proxy.ini and determines whether to proxy the request +// reads environment variables and determines whether to proxy the request // example usage: $ch = getProxyCurlOpt($url, $ch); function getProxyCurlOpt($url, $ch, $http_proxy_override = null, $no_proxy_override = null) { $url_host=parse_url($url, PHP_URL_HOST); - $proxy = (array)@parse_ini_file("/var/local/emhttp/proxy.ini",true); - $http_proxy = $http_proxy_override ?? _var($proxy,'http_proxy'); - $no_proxy = $no_proxy_override ?? _var($proxy,'no_proxy'); + $http_proxy = $http_proxy_override ?? getenv('http_proxy'); + $no_proxy = $no_proxy_override ?? getenv('no_proxy'); $no_proxy_arr = ($no_proxy) ? explode (",", $no_proxy) : []; // do not proxy hosts listed in the no_proxy environment variable diff --git a/sbin/set_proxy b/sbin/set_proxy index 0e0eae31e..2dcc07841 100644 --- a/sbin/set_proxy +++ b/sbin/set_proxy @@ -11,7 +11,6 @@ CFG=/boot/config/proxy.cfg # these files are generated by this script based on the data in proxy.cfg PROXY_SH=/etc/profile.d/proxy.sh -PROXY_INI=/usr/local/emhttp/state/proxy.ini WGET=/root/.wgetrc # random file extension for atomic writes @@ -55,11 +54,13 @@ EOF mv "${FILE}.${RND}" "${FILE}" } -# write /usr/local/emhttp/state/proxy.ini -set_proxy_ini() { +# write /root/.wgetrc +set_wget() { local FILE - FILE="${PROXY_INI}" + FILE="${WGET}" cat <"${FILE}.${RND}" +# Do not edit. This file is autogenerated by /usr/local/sbin/set_proxy +use_proxy=yes http_proxy="${proxy_url}" https_proxy="${proxy_url}" no_proxy="${no_proxy}" @@ -68,25 +69,8 @@ EOF mv "${FILE}.${RND}" "${FILE}" } -# clear /usr/local/emhttp/state/proxy.ini -unset_proxy_ini() { - # vars are empty now, call set_proxy_ini to add empty vars to proxy.ini - set_proxy_ini -} - -# write /root/.wgetrc -set_wget() { - local FILE - FILE="${WGET}" - cat <"${FILE}.${RND}" -# Do not edit. This file is autogenerated by /usr/local/sbin/set_proxy -use_proxy=yes -http_proxy=${proxy_url} -https_proxy=${proxy_url} -no_proxy="${no_proxy}" -EOF - chmod 644 "${FILE}.${RND}" - mv "${FILE}.${RND}" "${FILE}" +restart_phpfpm () { + /etc/rc.d/rc.php-fpm restart > /dev/null } # clear /root/.wgetrc @@ -100,8 +84,9 @@ unset_wget() { add_proxy_to_generated_files_and_exit() { echo "generating proxy files" set_proxy_sh - set_proxy_ini set_wget + . "${PROXY_SH}" + restart_phpfpm [[ -n "${VERBOSE}" ]] && display_generated_files exit 0 } @@ -110,8 +95,9 @@ add_proxy_to_generated_files_and_exit() { remove_proxy_from_generated_files_and_exit() { echo "removing proxy info from generated files" unset_proxy_sh - unset_proxy_ini unset_wget + . "${PROXY_SH}" + restart_phpfpm [[ -n "${VERBOSE}" ]] && display_generated_files exit 0 } @@ -119,7 +105,6 @@ remove_proxy_from_generated_files_and_exit() { display_generated_files() { echo display_generated_file "${PROXY_SH}" - display_generated_file "${PROXY_INI}" display_generated_file "${WGET}" }