惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
V
Visual Studio Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
The Cloudflare Blog
B
Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
Know Your Adversary
Know Your Adversary
I
InfoQ
T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
C
Cisco Blogs
Spread Privacy
Spread Privacy
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Palo Alto Networks Blog
Simon Willison's Weblog
Simon Willison's Weblog
月光博客
月光博客
博客园 - Franky
Project Zero
Project Zero
G
Google Developers Blog
S
SegmentFault 最新的问题
博客园 - 聂微东
P
Privacy & Cybersecurity Law Blog
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
G
GRAHAM CLULEY
S
Security @ Cisco Blogs
Martin Fowler
Martin Fowler
A
Arctic Wolf
T
Tenable Blog
L
LINUX DO - 最新话题
TaoSecurity Blog
TaoSecurity Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Razeen`s Blog

Let's Encrypt 推出 Gen Y 根证书架构:揭示 Web PKI 的五大未来趋势 通过 Wi-Fi 自动备份你的 iPhone 到 Nas 管理培训感悟:从技术视角看管理之路 UPS 一拖多:保护你的 NAS 和 Linux 服务器 从影音中心到 AI 助手:我的50款 Homelab 服务清单 从SSL证书有效期将缩短到47天聊开去 部署一个自己的 Running Page 谈谈特斯拉 Model Y 用车一年的感受和费用分析 弃用 Disqus 评论,使用自建 Waline 使用 Prometheus 和 Grafana 搭建你的证书监控面板 服务器迁移记:一次磁盘换板引发的Linux分区与挂载的学习 改善信息来源, 利用 RSS 高效获取资讯 (RSShub + Reeder5 + WeWe RSS) 多种 Docker 镜像拉取解决方案与实践 App分享 | AppCleaner - Mac上的卸载神器 Azure OpenAI API 申请和使用 如何开通 OneKey 虚拟信用卡,并充值消费 如何拥有一个可长期在国内使用的国外手机号码 分享开通 ChatGPT Plus 过程 如何开通 Depay 虚拟信用卡,并充值消费 如何开通欧易Web3钱包, 交易入账 如何5分钟内1块钱注册 ChatGPT 如何注册美区的 Apple ID (2023年/无需科学上网) NAS折腾记(11): NASTool3.0体验和降级 NAS折腾记(10): Docker版本的NASTool配置 NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】 NAS折腾记(8):群晖安装 NASTool 实现影音半自动化【多图】 内网穿透(2):Tailscale 组网实现内网穿透,操作简单,无成本 内网穿透(1):总结了11中内网穿透的方式,总有一种适合你 NAS折腾记(7):从零开始设置(黑)群晖系统 NAS折腾记(6):黑群晖系统安装好后怎么洗白? NAS折腾记(5):群晖硬盘休眠设置与分析 NAS折腾记(4): 20分钟手把手带你完美安装 DS918+ 黑群晖7.1.1 NAS折腾记(3):NAS 装机 NAS折腾记(2):B360-ITX 双M.2 双2.5G网口 6 SATA主版 开箱 NAS折腾记(1):328元的4盘位Nas机箱开箱 Openwrt + Clash 全局科学上网 Newifi3 刷入 OpenWrt 固件 v21.02 利用 Markdown 画一些流程图、时序图、甘特图等 Homelab(8): 搭建自用 Gitlab 与 Docker 仓库 Nginx Tcp 转发保留客户端真实 IP (PROXY Protocol) Homelab (7):IPSec VPN(基于证书认证)客户端设置 Homelab (6): 基于自签发证书的 IPSec VPN 搭建 Homelab (5): DDNS 动态域名解析 Homelab (4): Linux 服务器基础环境准备 Homelab (3): 整体网络与基础硬件介绍 Go学习笔记(十)老项目迁移 go module 大型灾难记录 Github Actions 初体验之自动化部署 Hexo 博客 记一次 Nginx DNS 缓存导致转发问题 Homelab (2): 电信悦me网关修改桥接模式,路由器拨号 Homelab (1):5分钟上手黑群晖 NAS 终极 Bash 脚本指南 Typora 自动上传图片到七牛云 Ubuntu 20.04 LTS 有线网卡驱动安装 折腾 Ubuntu 20.04 LTS 开发环境 Go学习笔记(九) 计时器的生命周期[译] 利用 git hook 规范你的代码与 commit message 规范 git commit message 与自动化版本控制 超详细 vim 配置 (with MacVim) Golang 中的 RESTful API 最佳实践 折腾服务器(开篇) 我的第一台个人服务器 Newifi3 实现低成本家庭级科学上网 Go学习笔记(八) | 使用 os/exec 执行命令 如何用 Go 调用 Windows API 关于 Docker 清理 MIME Types 速查表 Go学习笔记(七) | 理解OAuth 2.0并实现一个客户端 我又又又把博客迁移了 Go学习笔记(六) | 使用swaggo自动生成Restful API文档 Go学习笔记(五) | 使用代码片段(snippets)提高编码效率 书单 - 2018 IPFS 初体验,利用 IPFS 托管你的静态网站 记一次 PostgreSQL LIKE 索引优化,联合字段 LIKE 查询优化。 Disqus 添加有趣的 Reactions 的功能 TLS 1.3 详解 (RFC 8446解读) gRPC在Go中的使用(三)gRPC实现TLS加密通信与流模式 gRPC在Go中的使用(二)gRPC实现简单通讯 gRPC在Go中的使用(一)Protocol Buffers语法与相关使用 CentOS 安装 tshark 抓包工具 Go学习笔记(四) | win上使用VSCode搭建Go开发环境 日常 Postgres 数据库点滴记录 简单了解 PKCS 规范 美食篇 | DIY戚风蛋糕(烤箱做蛋糕) Go学习笔记(三) | 怎么写Go基准测试(性能测试) TLS1.3正式更新,为Nginx添加TLS1.3的支持 一次诡异的数据库删除 GitHub Pages自定义域名开启HTTPS 证书透明度是什么?它是怎么工作的? Go学习笔记(二) | 我对 recover 的一点误解 搭建证书透明度(certificate-transparency)日志服务之从入门到放弃 修复远程登陆 Centos 时,出现 UTF-8 Warning HTTPS篇之SSL握手过程详解 Go学习笔记(一) | postgres与golang点点滴滴 AWS 命令行界面(aws-cli)从安装到快速上手 数字证书分类及怎么区分各类数字证书 常用 linux 命令小结(一)文件目录操作 云服务器搭建 hexo 博客,git hooks自动更新 SSH 免密登陆, SSH Config 配置 Golang CGO Mac 交叉编译 Windows 使用 goose 让数据库迁移更加轻松 开始使用Ghost
Mac OS 自动根据 WI-FI 名字改变网络位置
2019-04-06 · via Razeen`s Blog

Mac OS 给我们提供了一个 Network Location 的功能,我们可以在不同的 Location 下设置不同的 DNS/VPN 等等。然而每次实际位置变化后,都要我们手动去切换。由于我在公司和家里使用的DNS服务器并不相同,很多时候到公司发现一些公司的内网连接不上了,反复检查 才想起来,哦?位置忘切换了!

我想,能不能根据地理位置改变这个 Location 呢?Google 一圈发现并没有。但是有人提供了另外一种方式。那就是根据 WI-FI 的名字,修改该 Location。一般 WI-FI 名字不会经常改变,所以这也是间接实现该需求了。

原开源项目在这里

安装与设置

设置很简单。

  1. 安装该脚本。
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash

这会需要你输入密码。自动将locationchanger脚本安装到了/usr/local/bin目录。

  1. 设置。

    如果你的位置名称WIFI名称一致(如 Localtion 是 home, WIFI 名字也是 home),不用设置你直接都可以使用了。

    如果你和我一样,位置的名称与 WIFI 名称并不一致,或者多个 WIFI 对应于同一个位置,你可以跟着我设置一下。

    $ mkdir ~/.locations
    $ touch ~/.locations/locations.conf
    

    修改lcoations.conf文件,并保存。如:

    ︿( ̄︶ ̄)︿.=home
    ︿( ̄︶ ̄)︿=home
    TrustAsiaEAP=office
    

    前面是WI-FI名称,后面是位置名称。

  2. 切换日志会写入~/Library/Logs/LocationChanger.log文件, 如下命令可以查看。

    $ tail -f ~/Library/Logs/LocationChanger.log
    

效果

现在我们切换一下 WI-FI 看下效果。

当前

切换一下 WI-FI。

我连接的是我手机的 Wi-Fi,没有为该 WI-FI 配置位置,就自动切换到了 Automatic。

看看日志:

$ tail -f ~/Library/Logs/LocationChanger.log

[2019-04-06 04:59] Connected to 'Razeen.Cheng-iPhone'
[2019-04-06 04:59] Will switch the location to 'Razeen.Cheng-iPhone'
[2019-04-06 04:59] Location 'Razeen.Cheng-iPhone' was not found. Will default to 'Automatic'
[2019-04-06 04:59] Changing the location to 'Automatic'
CurrentSet updated to 3E129B23-9186-447F-A402-7EDFFDA16C72 (Automatic)

再切换回来:

[2019-04-06 05:01] Connected to '︿( ̄︶ ̄)︿.'
[2019-04-06 05:01] Will switch the location to 'home' (configuration file)
[2019-04-06 05:01] Changing the location to 'home'
CurrentSet updated to 710A1F1F-D207-4CF8-A36E-268FF3EE2C9E (home)

很方便,再也不用担心忘记切换位置了~

更多功能

其实,该脚本的强大之处就是监听了系统的网络切换事件。不仅可以在切换的时候切换 NetWork Location, 还可以自动运行一些自定义脚本。设置起来同样简单。

如,我要切换到office位置的时候,打开Dark Mode , 当我到home或其他位置时关闭Dark Mode

只需要我在~/.locations/office添加以下脚本:

#!/usr/bin/env bash
exec 2>&1

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to true'

~/.locations/home~/.locations/Automatic下添加以下脚本

#!/usr/bin/env bash
exec 2>&1

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to false'

完整步骤:

$ touch ~/.locations/office ~/.locations/home ~/.locations/Automatic

$ cat > ~/.locations/office << EOT
#!/usr/bin/env bash
exec 2>&1

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to true'
EOT

$ cat > ~/.locations/home << EOT
#!/usr/bin/env bash
exec 2>&1

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to false'
EOT

$ cat > ~/.locations/Automatic << EOT
#!/usr/bin/env bash
exec 2>&1

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to false'
EOT

$ chmod +x Automatic home office

然后切换 Wi-Fi 你就能看到效果了~

最后,提一下osascript, 这个苹果自带的命令很厉害,值得多学习一下。