refactor: update proxy configuration script for AWSProviderWithProxy to enhance clarity and support multiple Firefox paths
This commit is contained in:
@@ -47,19 +47,19 @@ class AWSProviderWithProxy(Provider):
|
|||||||
proxy_url = self._format_proxy_url(self.current_proxy)
|
proxy_url = self._format_proxy_url(self.current_proxy)
|
||||||
|
|
||||||
user_data_script = f"""#!/bin/bash
|
user_data_script = f"""#!/bin/bash
|
||||||
# 配置系统代理
|
# Configure system proxy
|
||||||
echo 'export http_proxy={proxy_url}' >> /etc/environment
|
echo 'export http_proxy={proxy_url}' >> /etc/environment
|
||||||
echo 'export https_proxy={proxy_url}' >> /etc/environment
|
echo 'export https_proxy={proxy_url}' >> /etc/environment
|
||||||
echo 'export HTTP_PROXY={proxy_url}' >> /etc/environment
|
echo 'export HTTP_PROXY={proxy_url}' >> /etc/environment
|
||||||
echo 'export HTTPS_PROXY={proxy_url}' >> /etc/environment
|
echo 'export HTTPS_PROXY={proxy_url}' >> /etc/environment
|
||||||
|
|
||||||
# 配置apt代理
|
# Configure apt proxy
|
||||||
cat > /etc/apt/apt.conf.d/95proxy << EOF
|
cat > /etc/apt/apt.conf.d/95proxy << EOF
|
||||||
Acquire::http::Proxy "{proxy_url}";
|
Acquire::http::Proxy "{proxy_url}";
|
||||||
Acquire::https::Proxy "{proxy_url}";
|
Acquire::https::Proxy "{proxy_url}";
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 配置chrome/chromium代理
|
# Configure chrome/chromium proxy
|
||||||
mkdir -p /etc/opt/chrome/policies/managed
|
mkdir -p /etc/opt/chrome/policies/managed
|
||||||
cat > /etc/opt/chrome/policies/managed/proxy.json << EOF
|
cat > /etc/opt/chrome/policies/managed/proxy.json << EOF
|
||||||
{{
|
{{
|
||||||
@@ -68,9 +68,20 @@ cat > /etc/opt/chrome/policies/managed/proxy.json << EOF
|
|||||||
}}
|
}}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 配置firefox代理
|
# Configure chromium proxy (Ubuntu default)
|
||||||
mkdir -p /etc/firefox/policies
|
mkdir -p /etc/chromium/policies/managed
|
||||||
cat > /etc/firefox/policies/policies.json << EOF
|
cat > /etc/chromium/policies/managed/proxy.json << EOF
|
||||||
|
{{
|
||||||
|
"ProxyMode": "fixed_servers",
|
||||||
|
"ProxyServer": "{self.current_proxy.host}:{self.current_proxy.port}"
|
||||||
|
}}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Configure firefox proxy - support multiple possible paths
|
||||||
|
for firefox_dir in /etc/firefox/policies /usr/lib/firefox/distribution/policies /etc/firefox-esr/policies; do
|
||||||
|
if [ -d "$(dirname "$firefox_dir")" ]; then
|
||||||
|
mkdir -p "$firefox_dir"
|
||||||
|
cat > "$firefox_dir/policies.json" << EOF
|
||||||
{{
|
{{
|
||||||
"policies": {{
|
"policies": {{
|
||||||
"Proxy": {{
|
"Proxy": {{
|
||||||
@@ -82,11 +93,14 @@ cat > /etc/firefox/policies/policies.json << EOF
|
|||||||
}}
|
}}
|
||||||
}}
|
}}
|
||||||
EOF
|
EOF
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# 重新加载环境变量
|
# Reload environment variables
|
||||||
source /etc/environment
|
source /etc/environment
|
||||||
|
|
||||||
# 记录代理配置日志
|
# Log proxy configuration
|
||||||
echo "$(date): Configured proxy {self.current_proxy.host}:{self.current_proxy.port}" >> /var/log/proxy-setup.log
|
echo "$(date): Configured proxy {self.current_proxy.host}:{self.current_proxy.port}" >> /var/log/proxy-setup.log
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user