发布一个 host 管理插件,基于 Chrome 代理秒刷新 host 无延迟
34

切 host 对于平常开发来说再正常不过了,可是「切 host 难」的问题一直没解决,因为手动修改 host 文件会有很多(系统dns、浏览器)缓存问题。经常听到xx说「我这是好的呀,你 host 有问题吧...」

在 windows 下我一直使用 fiddler 来切换 host,很多人可能不知道这个功能。他的实现本质就是实用代理映射来实现 host 切换。这样的欢最大的优点就是 无延迟,秒切 host 这个体验就非常赞,而且是系统级别的,也就是说别的浏览器里面也适用(前提是浏览器代理设置为系统)

然后由于最近切换到 mac 开发环境,发现 mac 下面的解决方案都不是很完美,或者说不适合我的要求。无外乎以下几种:

物理修改 host 文件

像 iHosts, Switchhosts 这类,但据我所知这种方法都有延迟

抓包工具代理切 host

比如 mac 下的 Wireshark、Charles,这些工具据说很强大,可是我自己用不惯,而且我是需求也很小,杀鸡焉用牛刀。fiddler for mac 虽然也能跑起来,但是体验太差了,界面卡的要死

浏览器插件代理切 host

像 Chrome 下的 Chrome-host-switch、 Switch host plus 等,试用了下效果很理想。美中不足的是体验不好,只有标签没有分组,把标签当分组切的人很蛋疼

简单看了下 switch host plus 的实现方式,再加上自己之前也写过 chrome 插件就决定自己造个轮子。Chrome 插件基于html、css、javascript 自然很适合前端来做

由于最近在看 react 相关的东西,刚好拿来练练手。技术选型基本上都是现成的框架拿来用就行了

  • react & redux 构建整体应用
  • bulma.css 简洁小巧的 CSS 框架
  • localStorage 数据直接写本地存储
  • create react app 构建打包应用

应用截图

ahm-640x440

ahm-1280x800

功能

  • 秒切 host 无延迟 ?
  • 基于 chrome 代理 ❤️
  • 兼容 socket 代理 ?
  • 简洁好用,无多余功能 ?

安装

使用

Host proxy

和 host 文件规则一致

192.168.100.1 your.domain.com your-anther.domain.com

Socket proxy

新建分组加入以下规则(按自己实际情况修改)

SOCKS5 127.0.0.1:1080
SOCKS 127.0.0.1:1080

源代码

Github(MIT)
Blog

本帖由 Summer 于 11个月前 加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 8

一直用的是 Switch hosts,有提供分组功能。

file

11个月前

@ricoo Switch hosts 是要修改本地 host 文件的,可能会有缓存,我基本上是两个配合着用。日常需求也就满足了

11个月前

最好在开头说一下切host的应用场景....

11个月前
takashiki

这个挺好用的,就是会和 switchyOmega 冲突,有解决方案么

11个月前

@takashiki 这个貌似不太好搞,chrome 有限制,有代理权限的插件只能使用一个。我之前用switchyOmega来fq的,不过我这个插件也支持 socket 代理的,如果你是用的 ss 翻墙那可以单独新建分组(见 README.md)switchyOmega就可以直接卸载/禁用了。重度使用 switchyOmega 的话就没啥好办法了,只能暂禁用。

11个月前

@keelii 是啊 有时候切了不会马上生效

11个月前

@ricoo 什么情况下?

11个月前

@keelii switch hosts的问题

11个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!