写了一个Mac快速设置、打开和关闭Web代理的Shell命令
缘由(痛点)
每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完后,还要点"好 -- 应用"。如果要关闭Web代理也是如此,只是点到代理设置面板后,只需要取消勾选Web代理和安全Web代理。
个人觉得这种操作很繁琐,对于一个经常需要改Web代理的人来说,这简直是灾难性的重复操作。所以这段时间学了些Linux Shell脚本编程的知识,写了两个Shell命令用来一键设置和开关Web代理。
设置和打开Web代理的Shell脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/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目录下,如:
1
|
/usr/local/bin/
|
然后我们就可以在终端通过这个命令快速设置和打开Web代理了:
1
2
|
sudo proxyon #仅打开Web代理
sudo proxyon 115.231.175.68 8081 #设置并打开Web代理
|
关闭Web代理的Shell脚本
1
2
3
4
5
6
7
8
9
10
|
#!/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目录下,如:
1
|
/usr/local/bin/
|
然后我们就可以在终端通过这个命令快速关闭Web代理了:
1
|
sudo proxyoff #关闭Web代理
|
打算下次再写一个自动获取互联网上可用网络代理的脚本。
写了一个Mac快速设置、打开和关闭Web代理的Shell命令相关推荐
- 智能锁只需要一个MAC地址就可以打开
智能锁已逐渐替代传统锁钥被用作智能物联网(IoT)保护财产的方法.与其他物联网设备(包括无线门铃和门栓)相辅相成,这些设备被普通公众用来保护他们的家.商业中,在Airbnb上出租房屋时,托管人可以对其 ...
- 三招快速重新打开被关闭的Chrome标签页
在 Chrome 这样的多标签页浏览器中,不小心关闭一个标签页实在是太常见的事情了.当这种情况发生时,我们有三个办法可以重新打开这个刚刚关闭的页面. 1,打开一个新的标签页,在新标签页页面最下方会有一 ...
- 快速设置Scrapy随机的IP代理
一.把随机的IP列表定义在settings.py文件里面 PROXIES=['http://180.119.43.106:4228', 'http://106.56.246.104:4237', 'h ...
- Autojs - 打开或关闭系统代理
前言 由于雷电4模拟器中wlan的手动代理不生效,看到论坛从去年就有人反馈到现在也不太好使.于是自己用autojs写一个省去敲adb的过程.感兴趣的可自行封装,随意修改,学到技巧就好,大佬轻喷. 代码 ...
- 怎么打开python shell_Python之使用adb shell命令启动应用的方法详解
一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分 具有重复性时,后面又发 ...
- python中把输出结果写到一个文件中_如何将脚本输出写入文件和命令行?
你看不到任何东西的事实可能与缓冲正在发生的事实有关.所以你只能得到每4千分左右的文本输出. 相反,试试这样的方法:class OutputSplitter(object): def __init__( ...
- PDF文件如何快速添加打开密码
PDF文件想要快速设置打开密码,网上很多办法都是下载PDF编辑器进行对PDF文件的加密.但是也有更方便的方法对PDF文件设置打开密码,那就是使用加密软件对PDF文件进行加密.我们以奥凯丰 PDF解密大 ...
- android adb命令唤醒屏幕,如何使用adb命令打开和关闭屏幕?
我正在使用KEYCODE_POWER来打开和关闭我的手机.波纹管命令用于打开和关闭屏幕.如何使用adb命令打开和关闭屏幕? adb shell input keyevent KEYCODE_POWER ...
- 如何写出一个较好的快速排序程序
写出一个较好的快速排序程序 快速排序是常用的排序算法之一,但要想写出一个又快又准的使用程序,就不是那么简单了 需要注意的事项 首先要写正确.通常使用递归实现.其递归相当于二叉树展开,因此如果要用迭代实 ...
最新文章
- Entity Framework Core 2.0的新特性
- 微信小程序eventChannel页面间事件通信通道
- 华人学者往Linux内核里提交bug,社区把整个明尼苏达大学拉黑了
- UA PHYS515 电磁理论II 静电场问题2 电荷与静电场的几何: Green函数法的物理背景
- [2017.11.11特辑]以一个光棍节表白案例浅谈ECMAScript6模块化的使用方法
- android 打包相关问题记录
- 提高效率 JavaScript调试 js 调试工具
- Shell编程(CentOS7)
- 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(一)
- OpenGL学习(六)纹理与obj格式模型的读取
- 如何使用vitis_历时5年Vitis正式面世,赛灵思转型软件平台公司
- 安服/渗透测试面试问题总结
- Cortex-M3 VS ARM7
- linux tc流量控制(一):classless qdisc
- 注册美国本土公司和离岸公司有什么不同
- IBM Cloud VPC实例的自动快照策略实现
- 使用 Jquery AjaxUpload 上传图片
- 淮阳中学2021高考成绩查询,淮阳中学召开2021届高三高考200天冲刺誓师大会及学生家长会...
- Redhat Linux 9/AS 3上安装清华紫光拼音输入法智能五笔全拼等
- PM_14 项目文档管理与配置管理
热门文章
- Luxurious Houses - CodeForces - 581B
- 苹果手机上音乐播放的问题
- 企业微信小程序获取手机号?
- 42、使用mmrotate中k3det进行旋转目标检测,并进行mnn部署和ncnn部署
- 简单几步让WinUSB设备变为多端点设备
- CNVD-2020-46552 深信服EDR远程代码执行漏洞复现
- 电商系统,剖析商品模块中商品表(spu)、规格表(sku)的数据库是如何设计的
- 记 [GXYCTF2019]Ping Ping Ping 1
- JAVA的远程控制系统(远程监控)实现
- 6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》