Aller au texte
ShemolConfigurer Clash sur Ubuntu (Zorin)
流程记录

Configurer Clash sur Ubuntu (Zorin)

Certains fichiers de cet article, mieux vaut les télécharger à l'avance, sinon le réseau peut empêcher le téléchargement. Parcours d'abord tout le texte.

Article de référence : http://jemlab.cn/?p=141

Télécharger clash et le configurer

  • Télécharger la dernière version de Clash avec :
plain text
wget <https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.17.0.gz>

En général on doit tout reconfigurer quand on change de système, non ? Donc télécharge à l'avance et mets ça sur une clé USB ou ailleurs. Sinon, télécharger depuis GitHub plus tard, c'est la loterie.

  • Aller dans le dossier du fichier, décompresser
plain text
gunzip clash-linux-amd64-v1.18.0.gz
  • Renommer clash-linux-amd64-v1.18.0 en clash
plain text
mv clash-linux-amd64-v1.18.0 clash
  • Créer un dossier dans ce répertoire (Clash en majuscules juste pour le distinguer de clash)
plain text
mkdir Clash
  • Déplacer le fichier clash dans le dossier Clash
plain text
mv clash ./Clash
  • Entrer dans le dossier Clash
plain text
cd Clash
  • Télécharger le fichier de config clash config.yaml (attention : ce lien d'abonnement est le tien ; remplace [lien d'abonnement] ; si ça échoue, c'est le lien qui pose problème)
plain text
wget -O config.yaml [lien d'abonnement]

Note : si l'étape 7 échoue, ce n'est pas grave — saute-la, ça se téléchargera tout seul plus tard. Tu peux aussi télécharger Country.mmdb à cette URL.

Note : autant le télécharger à l'avance aussi, sinon ça peut rater à cause du réseau

  • Lancer clash
plain text
chmod +x clash
./clash -d .
  • Ouvrir les paramètres système, cliquer Réseau, trouver le proxy système, choisir Manuel
Proxy HTTP : 127.0.0.1 : 7890
Proxy HTTPS : 127.0.0.1 : 7890
Proxy SOCKS : 127.0.0.1 : 7891

Ça démarre le proxy système

HOST, port, secret : je crois qu'il ne faut rien saisir, juste Enregistrer et OK. On peut changer de nœud directement dans le panneau

Démarrage automatique

Certaines étapes peuvent demander les droits admin, je ne me souviens plus. Si tu as Permission denied, mets sudo devant

  • Créer le fichier service
plain text
touch /etc/systemd/system/clash.service
  • Éditer le fichier service
plain text
vim /etc/systemd/system/clash.service
  • Coller le texte suivant (pour vim, cherche toi-même
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

Le chemin dans ExecStart est l'emplacement réel de clash ; adapte-le à ton dossier Clash

  • Activer Clash au démarrage, vérifier le statut. Une fois le service lancé, régler le protocole proxy et le port du client d'après ces infos (dans l'ordre)
plain text
sudo systemctl daemon-reload
sudo systemctl enable clash
sudo systemctl start clash
sudo systemctl status clash

Postface

Sur Arch linux, Ubuntu et Zorin, les étapes ci-dessus passaient. En passant à Fedora, j'ai eu un problème de permissions.

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'.

Solution : passer selinux en mode permissif

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