Mac 上全自动的 chnroute

2015-09-01 17:51:53 +08:00
 cattyhouse
https://github.com/cattyhouse/chnroute-automation-mac/blob/master/README.md
3323 次点击
所在节点    macOS
15 条回复
haogefeifei
2015-09-01 18:13:23 +08:00
用网有那么麻烦?
Daniel65536
2015-09-01 18:44:26 +08:00
居然改 sudo 设置,你难道不知道 /Library/LaunchDaemons/下的 plist 都是 root 权限运行的么,非要 sudo visudo ,另外 route 不先跑 cidrmerge 也是槽点,明明 3765 条路由可完成的事情要用 5837 条去做。
cattyhouse
2015-09-01 20:18:26 +08:00
@Daniel65536 要是能 merge , chnroute 项目为什么不 merge ?他们不 merge 自有原因。

用系统的 launchd 不是很建议,即使用了,还是要用 sudo 来 load 和 unload 。

对于常用终端的来说,改 sudo 设置基本上避免不了的,否则就要一直输入密码,程序无法后台自启动。
yushiro
2015-09-01 20:34:33 +08:00
好像很不错的样子,回去试试。
Daniel65536
2015-09-01 22:40:49 +08:00
> 要是能 merge , chnroute 项目为什么不 merge ?他们不 merge 自有原因。

笑哭,因为不 merge 好写代码,因为水平不够没法用 python 写个 merge 函数出来。不然你以为为什么还会冒出个用上动态规划,效果比过一个 cidrmerge 还好的 bestroutetb 项目出来?还不是 chnroute 作者水平不够。

> 用系统的 launchd 不是很建议,即使用了,还是要用 sudo 来 load 和 unload 。

homebrew 装的程序如果 plist_option 开了:startup 就会放 /Library/LaunchDaemons/,这才是 root 权限 plist 的最佳实践代表。

> 对于常用终端的来说,改 sudo 设置基本上避免不了的

呵呵。
geeti
2015-09-02 02:49:53 +08:00
> 对于常用终端的来说,改 sudo 设置基本上避免不了的

呵呵。
cattyhouse
2015-09-02 11:13:37 +08:00
@Daniel65536 请问你用 cidrmerge 生成的 ip 地址在哪里, show me the code 。

bestroutetb ,要搞两个网关,自动化实现起来不是很方便,尤其是如果 vpn 还没连上之前,加载 bestroutetb 会出现找不到 vpn 网关。
cattyhouse
2015-09-02 11:20:34 +08:00
@Daniel65536
@geeti

mac 上用 shadowvpn , openconnect 都要用 sudo 啊,用 networksetup 也要 sudo 的啊,我说的是“终端操作” 而且是趋向于自动化。。。 不需要过多的人工干预。
Daniel65536
2015-09-02 15:36:30 +08:00
cat ip.txt | cidrmerge > newip.txt
至于 cidrmerge 可以 brew install cidrmerge

哪怕 setuid 和 chmod 755 都比改 sudo 好。
cattyhouse
2015-09-02 17:55:13 +08:00
@Daniel65536 谢谢,刚才用 cidrmerge 重新生成了一份 ip 列表,数量从 chnroute 的 5824 变成 3757 ,只是不知道是否会有”误伤“ 或 “遗漏”?
cattyhouse
2015-09-02 17:56:07 +08:00
@Daniel65536 如果什么地方可以对这两个 cidr 展开然后做比较,就知道是否会有不同了。
cattyhouse
2015-09-02 17:57:46 +08:00
@Daniel65536 虽然你吐槽不是很中听,但是我对于这些有用的建议还是很快去实现的,等我测试 cidrmerge 生成的 ip 的确包含全部中国的 ip 而且不包含任何中国以外的 ip 之后,我再把 chnroute 替换掉。
cattyhouse
2015-09-02 17:59:12 +08:00
@cattyhouse 你说的 3765 条是不是包含 Private Network 的 ip 段啊,我用 cidrmerge 操作 chnroute 之后得到的数量是 3757 条,奇怪了。
cattyhouse
2015-09-02 18:00:30 +08:00
# wc -l chnroute.txt
5824
# cat chnroute.txt | cidrmerge | wc -l
3757

@cattyhouse
@Daniel65536
cattyhouse
2015-09-02 18:17:15 +08:00
@Daniel65536 有现成的 script 来 expand cidr 地址,然后就可以做比较,晚上测试下

http://stackoverflow.com/questions/16986879/bash-script-to-list-all-ips-in-prefix

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217636

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX