文章へ移動
ShemolUbuntu(Zorin)で Clash を設定する
流程记录

Ubuntu(Zorin)で Clash を設定する

文中のファイルはあらかじめダウンロードしておくことを勧める。ネットワークの問題で落とせないことがある。まずは全文に目を通してほしい

参考記事:http://jemlab.cn/?p=141

clash をダウンロードして設定する

  • 次のコマンドで Clash の最新版をダウンロード
plain text
wget <https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.17.0.gz>

だいたい新しいシステムに換えたときにこういうものを再設定するんだよな。だから先にダウンロードして USB メモリかどこかに置いておけ。でないと GitHub からのダウンロードは運次第になる。

  • そのファイルがあるディレクトリに入り、解凍
plain text
gunzip clash-linux-amd64-v1.18.0.gz
  • clash-linux-amd64-v1.18.0 を clash にリネーム
plain text
mv clash-linux-amd64-v1.18.0 clash
  • このディレクトリにフォルダを作る(大文字の Clash は clash と区別するため)
plain text
mkdir Clash
  • clash ファイルを Clash フォルダへ移動
plain text
mv clash ./Clash
  • Clash フォルダに入る
plain text
cd Clash
  • clash の設定ファイル config.yaml をダウンロード(注意:この購読リンクは自分のもの。[購読リンク] を置き換える。失敗したら購読リンクに問題がある)
plain text
wget -O config.yaml [購読リンク]

注意:ステップ 7 が失敗しても大丈夫。このステップを飛ばせば、あとで自動ダウンロードされる。 Country.mmdb の URL から落とすこともできる。

注意:これも先にダウンロードしておくことを勧める。でないとネットワークの問題で失敗することがある

  • clash を起動
plain text
chmod +x clash
./clash -d .
  • システム設定を開き、ネットワークをクリックし、システムプロキシを見つけて手動を選ぶ
HTTP プロキシ:127.0.0.1:7890
HTTPS プロキシ:127.0.0.1:7890
SOCKS プロキシ:127.0.0.1:7891

これでシステムプロキシが起動する

HOST、ポート、シークレットは入力しなくてよかったはず。保存して確定すればいい。パネル上でノードを切り替えられる

起動時に自動起動する

管理者権限が必要なものもあるかもしれない。覚えていない。Permission denied なら先頭に sudo を付ける

  • service ファイルを作成
plain text
touch /etc/systemd/system/clash.service
  • service ファイルを編集
plain text
vim /etc/systemd/system/clash.service
  • 次のテキストを書く(vim の使い方は自分で調べて
plain text
Description=clash daemon
[Service]
Type=simple
User=root
ExecStart=/home/username/下载/Clash/clash -d /home/username/下载/Clash/ Restart=on-failure
[Install]
WantedBy=multi-user.target

ExecStart のパスは clash の実際の場所。自分の Clash フォルダに合わせて直す

  • Clash の起動時自動起動を設定し、状態を確認。サービスが起動したら、その情報に合わせてクライアントのプロキシプロトコルとポートを設定する(順に入力)
plain text
sudo systemctl daemon-reload
sudo systemctl enable clash
sudo systemctl start clash
sudo systemctl status clash

あとがき

Arch linux、Ubuntu、Zorin では以上の手順で問題なかった。しかし Fedora に換えたとき、権限不足が出た。

plain text
$ sudo systemctl status clash

● clash.service - A rule based proxy in Go for shitao.
   Loaded: loaded (/usr/lib/systemd/system/clash.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2019-06-18 17:27:18 CST; 4s ago
  Process: 6777 ExecStart=/usr/bin/clash (code=exited, status=203/EXEC)
 Main PID: 6777 (code=exited, status=203/EXEC)

Jun 18 17:27:18 localhost.localdomain systemd[1]: Started A rule based proxy in Go for shitao..
Jun 18 17:27:18 localhost.localdomain systemd[6777]: clash.service: Failed to execute command: Permission denied
Jun 18 17:27:18 localhost.localdomain systemd[6777]: clash.service: Failed at step EXEC spawning /usr/bin/clash: Permission denied
Jun 18 17:27:18 localhost.localdomain systemd[1]: clash.service: Main process exited, code=exited, status=203/EXEC
Jun 18 17:27:18 localhost.localdomain systemd[1]: clash.service: Failed with result 'exit-code'.

解決策:selinux を permissive にする

plain text
sudo vim /etc/sysconfig/selinux
plain text
SELINUX=permissive