缘由(痛点)

每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完后,还要点"好 -- 应用"。如果要关闭Web代理也是如此,只是点到代理设置面板后,只需要取消勾选Web代理和安全Web代理。

个人觉得这种操作很繁琐,对于一个经常需要改Web代理的人来说,这简直是灾难性的重复操作。所以这段时间学了些Linux Shell脚本编程的知识,写了两个Shell命令用来一键设置和开关Web代理。

设置和打开Web代理的Shell脚本

#!/bin/bash
#

export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
clear
networkservice=$(networksetup -listallnetworkservices | head -n 2 | tail -n 1)  #获取Mac当前使用的网络名称
echo Open web proxy for networkservice: $networkservice
if [ "$2" != "" ]; then
    sudo networksetup -setwebproxy $networkservice $1 $2   #设置Web HTTP代理
    sudo networksetup -setsecurewebproxy $networkservice $1 $2   #设置Web HTTPS代理
fi
sudo networksetup -setwebproxystate $networkservice on   #打开Web HTTP代理
sudo networksetup -setsecurewebproxystate $networkservice on  #打开Web HTTPS代理
echo Done

如何使用这个脚本

将上面的脚本保存为一个文件,比如叫proxyon,然后将这个proxyon文件移动到某个bin目录下,如:

/usr/local/bin/

然后我们就可以在终端通过这个命令快速设置和打开Web代理了:

sudo proxyon  #仅打开Web代理
sudo proxyon 115.231.175.68 8081 #设置并打开Web代理

关闭Web代理的Shell脚本

#!/bin/bash
#

export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
clear
networkservice=$(networksetup -listallnetworkservices | head -n 2 | tail -n 1)   #获取Mac当前使用的网络名称
echo Close web proxy for networkservice: $networkservice
sudo networksetup -setwebproxystate $networkservice off   #关闭Web HTTP代理
sudo networksetup -setsecurewebproxystate $networkservice off   #关闭Web HTTPS代理
echo Done

如何使用这个脚本

同proxyon,我们将上面的脚本保存为一个文件,比如叫proxyoff,然后将这个proxyff文件移动到某个bin目录下,如:

/usr/local/bin/

然后我们就可以在终端通过这个命令快速关闭Web代理了:

sudo proxyoff  #关闭Web代理

打算下次再写一个自动获取互联网上可用网络代理的脚本。

写了一个Mac快速设置、打开和关闭Web代理的Shell命令的更多相关文章

  1. Android系统移植与调试之------->增加一个双击物理按键打开和关闭闪光灯并将闪光灯状态同步到下拉菜单中

    最近有一个客户有这样的需求: 1.在[设置]--->[无障碍]中添加一个开关按钮. 如果打开开关的话,双击某个物理按键的时候,打开闪光灯,再双击该物理按键的时候,关闭闪光灯. 如果关闭开关的话, ...

  2. 写了一个可以个性化设置的仿<select>标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Mac系统权限打开与关闭

    打开系统权限: 关闭mac command+R重启 菜单中找到终端 输入命令:csrutil enable 关闭系统权限: 重复以上1-3步骤,第4步时输入:csrutil disable

  4. 借助Mac自带的强大的搜索功能,如何快速搜索打开Tuxera Disk Manager

    现在很多小伙伴们在遇到Mac读写NTFS格式硬盘问题的时候,都会选择使用Tuxera NTFS这个磁盘读写工具.因为这款读写工具不仅可以帮助我们进行读写工作,还具有一个磁盘管理工具Disk Manag ...

  5. sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)

    sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...

  6. 分享一个快速设置背景的js 自动获取背景图的长宽

    我来分享一个快速设置背景的js (需要jq支持!) 快速切图铺页面用---就是不需要手动输入背景图的长宽 自动获取背景图的长宽 : <div class="wrap"> ...

  7. CI(codeigniter)框架,routes.php设置正确,但是显示服务器错误,是__construct少写了一个下划线

    今天弄了一下CI框架,大概看了一下文档,感觉CI框架非常精简,但是在做的时候遇到了问题,CI文档中提供了一个新闻系统的例子,所有工作都做完了,在浏览器中打开相对应的url是,却显示“服务器错误”,一点 ...

  8. 开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码

    开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码. 开源地址: https://github.com/jkpang/PPRows

  9. win8怎么打开或关闭快速启动(进入BIOS前的设置)

    win8系统之后,系统添加了快速启动功能,这让Windows的启动速度快了不少.但是,任何事物有利有弊,相信不少人在进入BIOS或者重装系统时遇到了麻烦.接下来我们看看在win8及以上版本怎么打开或关 ...

随机推荐

  1. css伪类的组合用法

    利用伪类组合,可以用css代替js以达到目的,少些一下js .textarea:empty:before { display: block; content: '请输入'; color: #ababa ...

  2. 火车站点城市查询(appserv 服务器练习)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. CF IndiaHacks 2016 F Paper task 后缀数组

    题目链接:http://codeforces.com/problemset/problem/653/F 大意是给出一个只包含'('和')'的括号串,求有多少不同的子串是合法的括号串 解法:对于每一个后 ...

  4. 一个例子简要说明include和require的区别

    先编辑command.php文件 echo 'hello'.PHP_EOL; 然后编辑console.php文件 for($i=1;$i<=3;++$i){ require 'command1. ...

  5. CPP笔记_泛型编程简单总结

    本篇是基于<Essential C++>第三章泛型编程风格的一个简单总结 1 Iterator vector<string>::iterator  表明此iterator是位于 ...

  6. uiautomator+cucumber实现自动化测试

    前提 由于公司业务要求,所以自动化测试要达到以下几点: 跨应用的测试 测试用例可读性强 测试报告可读性强 对失败的用例有截图保存并在报告中体现 基于以上几点,在对自动化测试框架选型的时候就选择了uia ...

  7. eharts入门篇一

    1.导入文件样式 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本. 2,引入 ECharts 文件  < ...

  8. Websphere(was)与Weblogic部署EJB的注意项

    复杂的故事简单说,复杂的问题简单做. EJB容器 简介 本节讲解EJB项目在Weblogic和Was上的部署需要注意设置的一些内容.不同的中间件对EJB支持方式不一样,所以配置的原理也略有差异. 关键 ...

  9. 某次模拟考试day2t3 菊菊的数据结构

    [题目描述] 菊菊是一个码农,他很喜欢码一些高(e)级(xin)数据结构. 有一天,菊菊在打网赛时遇到了 wfj.wfj 觉得他很有前途,可以做下一代码农大神. 于是乎,wfj 给菊菊出了一道题,来检 ...

  10. mui开发app之多图压缩与上传(仿qq空间说说发表)

    欲实现效果图 提出需求点: 用户可自由添加删除替换多张图片,并且显示相应缩略图,限制为8张 用户可选择压缩图或直接上传原图功能 返回提醒用户会丢失填写的信息 下面一个个实现上述需求,从简单到复杂: 需 ...