[Mac]使用launchd配置开机自动启动shadowsocks

昨天晚上,我给服务器更新shadowsocks,发现其Python版本已经改为了package,使用pip安装了,这下好了。我可以不用以前git的更新方案了,改为使用pip直接安装最新的release就可以了。算是一种进步吧。所以,我果断把服务器版本和客户端版本都改为了用pip安装的python软件包。

然后,在Mac上,更进一步,我配置了使用launchd来在开机自动启动shadowsocks客户端。下面给出配置文件和配置方法。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>Label</key>
  6.     <string>com.sexywp.shadowsocks</string><!--这个名字必须和文件名一致-->
  7.     <key>ProgramArguments</key>
  8.     <array>
  9.         <string>/usr/local/bin/sslocal</string>
  10.         <string>-c</string>
  11.         <string>/Users/charles/Projects/shadowsocks-config/config.json</string>
  12.     </array>
  13.     <key>KeepAlive</key><!--后台保持运行-->
  14.     <true/>
  15.     <key>RunAtLoad</key><!--加载时候运行-->
  16.     <true/>
  17.     <key>UserName</key>
  18.     <string>charles</string>
  19.     <key>GroupName</key>
  20.     <string>staff</string>
  21. </dict>
  22. </plist>

如上注释中所术,launchd的plist规范规定,label的名字必须和文件名一致,所以,上述plist的文件名为com.sexywp.shadowsocks.plist。文件建议放在目录/path/to/your/home/Library/LaunchAgents/目录下。
然后执行launchctl load /path/to/your/home/Library/LaunchAgents/com.sexywp.shadowsocks.plist就可以了。如此,以后每次开机,就会自动启动shadowsocks的客户端了。