缘由(痛点)

每次在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. 用Web抓包分析工具Livepool 实现本地替换开发

    这是官方的介绍: LivePool 是一个基于 NodeJS,类似 Fiddler 支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷 ...

  2. JDBC访问数据库

    一.准备条件 外界条件 在数据库中首先创建表空间 在创建的表中添加数据 代码部分 导入数据库的驱动包(jar) 加载数据库驱动 获取数据库连接 编写sql语句 利用prepareStatement进行 ...

  3. 又拍云SSL证书全新上线,提供一站式HTTPS安全解决方案

    互联网快速发展,云服务早已融入每一个人的日常生活,而互联网安全与互联网的发展息息相关,这其中涉及到信息的保密性.完整性.可用性.真实性和可控性.又拍云上线了与多家国际顶级 CA 机构合作的数款OV & ...

  4. [进程管理]linux 下 进程和线程的区别(baidu 面试)

    进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集.从内核的观点看,进程的目的就是担当分配系统资源(CPU时间.内存等)的基本单位. 线程是进程的一个执行流,是CPU调度和分派的 ...

  5. [Splay模版1]

    输入 第1行:1个正整数n,表示操作数量,100≤n≤200,000 第2..n+1行:可能包含下面3种规则: 1个字母'I',紧接着1个数字k,表示插入一个数字k到树中,1≤k≤1,000,000, ...

  6. C#基础知识-函数的定义和调用(五)

    函数也可以称为方法,可以很方便的把一些行为封装到函数里面,当调用这一函数时会把函数块里面的代码按照顺序执行,方法可以有多种形式,有无参数,有无返回值等. 1. 函数的定义   函数定义的基本格式: s ...

  7. 利刃 MVVMLight 9:Messenger

    MVVM的目标之一就是为了解耦View和ViewModel.View负责视图展示,ViewModel负责业务逻辑处理,尽量保证 View.xaml.cs中的简洁,不包含复杂的业务逻辑代码. 但是在实际 ...

  8. linux下vim编辑器使用

    VIM - Vi IMproved: vim是vi编辑器的升级版,是linux下标准的编辑器,具有程序编写能力,可以根据字体颜色辨别语法的正确性,方便程序的设计. 使用: # vim [OPTION] ...

  9. 拖拽系列一、JavaScript实现简单的拖拽效果

        前端拖拽相关应用汇总 在现实生活中就像男孩子牵着(拖着)女朋友的手穿过马路:从马路的一端走到另一端这种场景很常见: 而在前端开发中拖拽效果也算是前端开发中应用最常见.最普遍的特效:其拖拽涉及知 ...

  10. Gulp和webpack的区别,是一种工具吗?

    疑问:gulp和webpack 什么关系,是一种东西吗?可以只用gulp,不用webpack吗 或者反过来? 它们的区别和概念 ------------------------------------ ...