/ ABLEGAO:生命不息,折腾不止。 / GoAgent 3.1.X 开始DNS 权限问题折中处理方法(linux/mac)

GoAgent 3.1.X 开始DNS 权限问题折中处理方法(linux/mac)

2014-02-09 posted in [Other]

原创内容 - 本文链接:http://ablegao.me/other/2014/02/09/goagent-permission.html

3.1.5开始 GoAgnet 对dnsproxy 功能做优化。

因为这个功能要占用53端口,而大部分系统对53端口规划在系统保留端口上,这样在没有root权限去执行GoAgnet时, 这部分功能会出现错误。

解决办法一 开机启动:

找到/etc/rc.local 加入你的启动代码。 但这样有个问题,Goagent客户端运行并不稳定, 有时候会出现无法访问, 重启这个脚本就比较麻烦,需要kill 然后sudo 执行一下。

	python [PATH]/local/proxy.py 2>%1 > /dev/null & 

解决方法二 端口转发

修改proxy.user.ini:

	[dns]
	enable=1
	listen=127.0.0.1:8053

然后命令行执行端口转发:

	sudo ipfw add 100 fwd 127.0.0.1,8053 udp from any to any 53 in

这种方法可以直接使用goagent/local 中自带的 goagent-osx 或者goagent-gtk 等等这些启动脚本启动, 这样你的状态栏中会有一个简单的控制工具, 还是比较好用的。 但 无论是ipfw(mac) 还是iptables(linux) ,配置都是一个相对复杂的东西,和系统各种其他配置都有千丝万缕的关系, 如果你不是位技术或者不是一位有技术支持的人, 这个操作是有风险性的。 要慎重。

解决方法三

这个方法算是比较嘹亮的处理方法,补充一个新的脚本, 内容如下(mac 为例):

在你的goagent/local代码目录下新建一个文件start.command, 内容如下:

	#!/usr/bin/env sh
	sudo ${0%/*}/goagent-osx.command

这样每次启动, 你只需要双击这个start.command 脚本, 紧跟着需要你输入你系统的权限密码, 输出成功后, 程序将退出, goagent将使用root权限运行。 这个代码同样适合 goagent-gtk.py 脚本,换一个名字就好。 但需要注意,如果你想在终端执行你的start脚本。 需要赋予权限 : chmod +x start.command

如何mac 开机启动start.command

左上角小苹果图表 -> 系统偏好设置 -> 用户与群组 -> 你的账户 -> 登陆项 ->舔加

SHARE THE PAGE