求助啊各位。OS X 开机 sudo 启动 python 脚本

2015-09-12 17:27:40 +08:00
 megabits

OS X 开机 sudo 启动 python 脚本防 DNS 劫持,脚本在这里 https://github.com/linkerlin/BlackHolePy
我用一个 shell 脚本来带 python 如下

!/bin/sh

cd /Users/Megabits/BlackHolePy-master/
python dnsproxy.py

然后在 /Library/LaunchAgents/ 中放了 plist 用于开机启动
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.dns</string>
<key>Program</key><string>/Users/Megabits/BlackHolePy-master/run.sh</string>
<key>KeepAlive</key><true/>
<key>NetworkState</key><true/>
<key>StandardErrorPath</key><string>/var/log/system.log</string>
<key>LaunchOnlyOnce</key><true/>
</dict>
</plist>
开机虽然脚本启动了,但是本地 DNS 服务器不生效,求解啊

1857 次点击
所在节点    问与答
4 条回复
casparchen
2015-09-12 17:49:03 +08:00
python dnsproxy.py &
加个&试试
Daniel65536
2015-09-12 18:23:51 +08:00
很简单,/Library/LaunchAgents/里的 plist 是以当前登录的用户的身份执行的,所以拿不到 root ,所以抢不下 53 端口。你把 plist 丢 /Library/LaunchDaemons 就对了。
megabits
2015-09-12 18:35:09 +08:00
@Daniel65536 之前试过了,无用。
megabits
2015-09-12 18:42:15 +08:00
@casparchen 测试无用

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

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

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

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

© 2021 V2EX