diff --git a/README.md b/README.md index 392adce..3ba2f50 100644 --- a/README.md +++ b/README.md @@ -165,3 +165,26 @@ bf gitea /opt/gitea ``` bash bf gitea /opt/gitea /root/gitea.key ``` + +
+ +## sp + + 设置系统代理工具。 + +**参数说明:** + +- `$1` : 代理URL + +**使用方式:** + +```bash +sp 代理URL +``` + +示例: + +- 设置代理为 `192.168.1.100:30000` +``` bash +sp 192.168.1.100:30000 +``` diff --git a/sp b/sp new file mode 100755 index 0000000..3cb567b --- /dev/null +++ b/sp @@ -0,0 +1,110 @@ +#!/bin/bash + +# 备份目录脚本 + +# 参数配置 +## 版本号 +VERSION="0.1.0" +## 当前的日期、日期时间 +DATE=`date +%Y%m%d` +DATETIME=`date +%Y%m%d`_`date +%H%M%S` +## 代理地址 +PROXY_URL=$1 + +# 相关方法 +## 帮助信息 +help () { + echo 'Usage: sp 代理URL' + echo '参数说明:' + echo ' $1: 代理URL' + echo '示例:' + echo ' 使用 192.168.0.100:7890 作为代理: sp 192.168.0.100:7890' +} +## 版本号 +version () { + echo 'sp '$version +} + +## 设置 systemd 代理 +setSystemdProxy () { + echo '------------------------------ 开始设置系统代理 ( /etc/systemd/system.conf.d/proxy.conf ) ... ------------------------------' + + mkdir -p /etc/systemd/system.conf.d/ + echo '[Manager]' >> /etc/systemd/system.conf.d/proxy.conf + echo 'DefaultEnvironment="HTTP_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf + echo 'DefaultEnvironment="HTTPS_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf + echo 'DefaultEnvironment="FTP_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf + echo 'DefaultEnvironment="NO_PROXY=localhost,127.0.0.1"' >> /etc/systemd/system.conf.d/proxy.conf + systemctl daemon-reexec + + echo '------------------------------ 系统代理设置完成! ------------------------------' +} + +## 设置用户代理 +setUserProxy () { + echo '------------------------------ 开始设置用户代理 ( /etc/sysconfig/proxy ) ... ------------------------------' + + cp -rpf /etc/sysconfig/proxy /etc/sysconfig/proxy.bak.$DATE + sed -i 's#PROXY_ENABLED="no"#PROXY_ENABLED="yes"#g' /etc/sysconfig/proxy + sed -i 's#HTTP_PROXY=""#HTTP_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy + sed -i 's#HTTPS_PROXY=""#HTTPS_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy + sed -i 's#FTP_PROXY=""#FTP_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy + source /etc/sysconfig/proxy + + echo '------------------------------ 用户代理设置完成! ------------------------------' +} + +## 设置命令行代理 +setShellProxy () { + echo '------------------------------ 开始设置命令行代理 ( /etc/profile 和 ~/.bashrc ) ... ------------------------------' + + cp -rpf /etc/profile /etc/profile.bak.$DATE + echo '# PROXY Env Begin' >> /etc/profile + echo 'export http_proxy="http://'$PROXY_URL'"' >> /etc/profile + echo 'export https_proxy="http://'$PROXY_URL'"' >> /etc/profile + echo 'export ftp_proxy="http://'$PROXY_URL'"' >> /etc/profile + echo 'export no_proxy="localhost,127.0.0.1"' >> /etc/profile + echo '# PROXY Env End' >> /etc/profile + source /etc/profile + + cp -rpf ~/.bashrc ~/.bashrc.bak.$DATE + echo '# PROXY Env Begin' >> ~/.bashrc + echo 'export http_proxy="http://'$PROXY_URL'"' >> ~/.bashrc + echo 'export https_proxy="http://'$PROXY_URL'"' >> ~/.bashrc + echo 'export ftp_proxy="http://'$PROXY_URL'"' >> ~/.bashrc + echo 'export no_proxy="localhost,127.0.0.1"' >> ~/.bashrc + echo '# PROXY Env End' >> ~/.bashrc + source /etc/profile + + echo '------------------------------ 命令行代理设置完成! ------------------------------' +} + + +## 设置代理 +sp () { + echo '====================================================================================================' + echo `date +%Y-%m-%d` `date +%H:%M:%S` + echo '============================== 开始配置代理 ' $PROXY_URL ' ...... ==============================' + + setSystemdProxy + setUserProxy + setShellProxy + + echo '============================== '$PROXY_URL' 代理配置成功!!! ==============================' + echo `date +%Y-%m-%d` `date +%H:%M:%S` + echo '====================================================================================================' +} + +# 执行方法 +case $1 in + help) + help + ;; + version) + version + ;; + *) + sp + ;; +esac +