缘由(痛点)

每次在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. iOS WebView你需要的问题答案

    一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFr ...

  2. ASP.NET MVC5请求管道和生命周期

    请求处理管道 请求管道是一些用于处理HTTP请求的模块组合,在ASP.NET中,请求管道有两个核心组件:IHttpModule和IHttpHandler.所有的HTTP请求都会进入IHttpHandl ...

  3. 过滤器Filter(17/4/8)

    1:是JavaWeb三大组件之一: Servlet.Lisener(2个感知监听器不需要配置).Filter 2:过滤器 它会在一组资源(jsp.servlet.css.html等等)的前面执行! 它 ...

  4. MyBatis-plus 代码自动生成器

    MyBatis-plus  代码自动生成器 1.添加pom文件依赖 <!-- Mybatis-Plus 自动生成实体类--> <dependency> <groupId& ...

  5. 读APUE分析散列表的使用

    最近学习APUE读到避免线程死锁的部分,看到部分源码涉及到避免死锁部分,源码使用了散列表来实现对结构(struct)的存储与查找. 本文不讨论代码中的互斥量部分. #include <stdli ...

  6. 基于header的一些常用指令详解

     header常用指令 header分为三部分: 第一部分为HTTP协议的版本(HTTP-Version): 第二部分为状态代码(Status): 第三部分为原因短语(Reason-Phrase) ...

  7. 进程间通信系列 之 命名管道FIFO及其应用实例

    进程间通信系列 之 概述与对比   http://blog.csdn.net/younger_china/article/details/15808685  进程间通信系列 之 共享内存及其实例   ...

  8. Redis 安装(一)

    一.前言 安装 Redis 是开始 Redis 学习之旅的第一步,安装之前先来个简单的介绍. 1. 版本规则 Redis 约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版,如:2.6,2.8 ...

  9. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)

    一  前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件, ...

  10. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...