Skip to content

Run Client Daemon on MacOS

ihc童鞋@提不起劲 edited this page Jan 23, 2023 · 2 revisions

I, as a MacOS user, use shadowtls in this way.

  1. First download shadow-tls binary into ~/shadowtls and rename it as shadow-tls.

    For example download shadow-tls-aarch64-apple-darwin(x86_64 users should download x86_64 binary) as ~/shadowtls/shadow-tls.

    Then chmod +x ~/shadowtls/shadow-tls.

  2. Create plists for each of your servers.

    File ~/shadowtls/shadowtls-jp.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>im.ihc.shadowtls-jp</string>

    <key>KeepAlive</key>
    <true/>

    <key>EnvironmentVariables</key>
    <dict>
      <key>RUST_LOG</key>
      <string>error</string>
    </dict>

    <key>ProgramArguments</key>
    <array>
      <string>/Users/ihciah/shadowtls/shadow-tls</string>
      <string>client</string>
      <string>--server</string>
      <string>xx.xx.xx.xx:xx</string>
      <string>--listen</string>
      <string>127.0.0.1:xxx</string>
      <string>--sni</string>
      <string>xxx.xxx.xxx</string>
      <string>--password</string>
      <string>xxxxxxxxxxx</string>
    </array>

    <key>StandardOutPath</key>
    <string>/Users/ihciah/shadowtls/jp.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/ihciah/shadowtls/jp.err</string>

  </dict>
</plist>
  1. Copy the plist to ~/Library/LaunchAgents. Then logout and relogin again.

    Each time you login, the shadowtls will run. Don't worry, if you don't use it, it does not cost any thing.

  2. You can connect 127.0.0.1:xxx with shadowsocks protocol with Clash, Surge or any other tools.

Clone this wiki locally