Files
dock/de12系统代理
2026-02-20 13:56:45 +08:00

83 lines
3.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
cat << 'EOF' > super_proxy.sh
#!/bin/bash
# 颜色定义
RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
PLAIN='\033[0m'
echo -e "${BLUE}=======================================${PLAIN}"
echo -e "${BLUE} 全能版·临时全局代理注入助手 ${PLAIN}"
echo -e "${BLUE}=======================================${PLAIN}"
echo -e "${YELLOW}特性: 环境变量注入 + Sudo穿透 + 强制代理(Proxychains)${PLAIN}"
echo -e "${YELLOW}寿命: 仅限当前窗口,关闭窗口或重启系统后【彻底失效】${PLAIN}\n"
# 默认代理节点 (你可以直接敲回车使用默认值)
DEFAULT_IP="45.192.240.121"
DEFAULT_PORT="21628"
DEFAULT_PROTO="socks5"
read -p "请输入代理 IP [$DEFAULT_IP]: " PROXY_IP
PROXY_IP=${PROXY_IP:-$DEFAULT_IP}
read -p "请输入代理端口 [$DEFAULT_PORT]: " PROXY_PORT
PROXY_PORT=${PROXY_PORT:-$DEFAULT_PORT}
PROXY_URL="${DEFAULT_PROTO}://${PROXY_IP}:${PROXY_PORT}"
echo -e "\n${BLUE}[1/4] 注入全套环境变量...${PLAIN}"
export http_proxy="${PROXY_URL}"
export https_proxy="${PROXY_URL}"
export all_proxy="${PROXY_URL}"
export HTTP_PROXY="${PROXY_URL}"
export HTTPS_PROXY="${PROXY_URL}"
export ALL_PROXY="${PROXY_URL}"
echo -e "${BLUE}[2/4] 配置 Sudo 环境穿透...${PLAIN}"
# 让 sudo 命令自动带上 -E 参数,继承当前的环境变量
alias sudo='sudo -E'
echo -e "${BLUE}[3/4] 部署临时强制代理 (Proxychains)...${PLAIN}"
# 检查并静默安装 proxychains4 (软件本身会安装,但配置是临时的)
if ! command -v proxychains4 &> /dev/null; then
echo -e "${YELLOW}检测到缺少 proxychains4 组件,正在通过包管理器临时安装...${PLAIN}"
sudo apt-get update -qq && sudo apt-get install proxychains4 -y -qq
fi
# 在 /tmp 生成临时配置文件 (系统重启后 /tmp 会被自动清空,不留痕迹)
TEMP_PC_CONF="/tmp/temp_proxychains_$$.conf"
cat << CONF > $TEMP_PC_CONF
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
$DEFAULT_PROTO $PROXY_IP $PROXY_PORT
CONF
# 创建快捷别名 'pc',调用临时配置文件
alias pc="proxychains4 -q -f $TEMP_PC_CONF"
echo -e "${BLUE}[4/4] 验证出口网络...${PLAIN}"
# 优先使用强制代理测试连通性
TEST_IP=$(pc curl -L --max-time 5 -s ip.gs)
if [ -n "$TEST_IP" ]; then
echo -e "\n${GREEN}=======================================${PLAIN}"
echo -e "${GREEN}网络已全面打通!当前出口 IP: ${YELLOW}${TEST_IP}${PLAIN}"
echo -e "${GREEN}=======================================${PLAIN}"
echo -e "【使用秘籍】:"
echo -e "1. ${YELLOW}听话的程序${PLAIN}: 直接运行 (如 wget, curl),环境变量已生效。"
echo -e "2. ${YELLOW}需提权操作${PLAIN}: 直接用 sudo (已配置穿透,不掉代理)。"
echo -e "3. ${YELLOW}不听话的程序${PLAIN}: 命令前加 ${GREEN}pc${PLAIN} (例如: ${GREEN}pc apt update${PLAIN} 或 ${GREEN}pc ./install.sh${PLAIN})。"
echo -e "4. ${YELLOW}绝对领域${PLAIN}: 运行 ${GREEN}pc bash${PLAIN} ,将开启一个被死死按在代理里的子终端。"
echo -e "\n${RED}[提示] 退出当前窗口、敲击 exit或重启机器以上所有魔法自动消失。${PLAIN}"
else
echo -e "\n${RED}[失败] 代理节点无法连接,请检查 IP、端口或防火墙状态${PLAIN}"
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY
unalias sudo pc 2>/dev/null
rm -f $TEMP_PC_CONF
fi
EOF