Clash - выборочный обход блокировок (2024)

Clash - выборочный обход блокировок (2)

В предыдущей публикации вы уже познакомились со списками с правилами в формате Clash. Теперь хотел бы более подробно ознакомить вас с Clash и привести пример конфигурации. Данный инструмент для построения туннелей на основе правил практически не упоминается в русскоязычном сегменте сети Интернет. При этом Clash очень активно используется в Китае. Поддерживает протоколы VMess/Shadowsocks/Trojan/Snell и SOCKS 5.

Приложение мультиплатформенное, ядро написано на Go. При этом под macOS, Windows и Android есть версии с удобным GUI.

Clash Core & Premium core: https://github.com/Dreamacro/clash
ClashX for macOS: https://github.com/yichengchen/clashX
ClashX Pro for macOS (Premium core – бесплатно навсегда, но с закрытым исходным кодом): https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public
Clash for Windows: https://github.com/Fndroid/clash_for_windows_pkg/releases
Clash for Android: https://play.google.com/store/apps/details?id=com.github.kr328.clash

Нам интересна версия с premium core, поддерживающая Rule Providers, именно эти правила будут подтягиваться с clash-antifilter-lists. Под Windows и Android premium core идет по умолчанию. Под macOS версии разделены.

Clash - выборочный обход блокировок (3)

Открываем каталог с конфигурацией: ConfigOpen config folder. Создаем свою конфигурацию в формате yaml. Под Windows: ProfilesImport.

Пример конфигуарации zerolab.yaml:

# (HTTP and SOCKS5 in one port)mixed-port: 7890# RESTful API for clash# external-controller: 127.0.0.1:9090allow-lan: falsemode: rulelog-level: errorproxies: # Shadowsocks # The supported ciphers (encryption methods): # aes-128-gcm aes-192-gcm aes-256-gcm # aes-128-cfb aes-192-cfb aes-256-cfb # aes-128-ctr aes-192-ctr aes-256-ctr # rc4-md5 chacha20-ietf xchacha20 # chacha20-ietf-poly1305 xchacha20-ietf-poly1305 - name: "NL-shadowsocks" type: ss server: server_address port: 28305 cipher: chacha20-ietf-poly1305 password: "password" # udp: true # vmess # cipher support auto/aes-128-gcm/chacha20-poly1305/none - name: "UK-sitename.net" type: vmess server: sitename.net port: 443 uuid: 01a961d0-fed4-48ff-83e9-4f31b2a878ab alterId: 0 cipher: auto udp: true tls: true # skip-cert-verify: true servername: sitename.net # priority over wss host network: ws ws-opts: path: /secret-path # headers: # Host: sitename.net # socks5 - name: "Tor" type: socks5 server: 192.168.1.3 port: 9150 # username: username # password: password # tls: true # skip-cert-verify: true # udp: trueproxy-groups: # select is used for selecting proxy or proxy group # you can use RESTful API to switch proxy is recommended for use in GUI. - name: PROXY type: select # disable-udp: true proxies: - NL-shadowsocks - UK-sitename.net - Tor# Premium core only (domain, ipcidr or classical)rule-providers: 1st_of_all: behavior: classical type: http url: "http://YOUR_IP:8080/1st_of_all.yaml" interval: 3600 path: ./ruleset/1st_of_all.yaml antifilter: behavior: classical type: http url: "http://YOUR_IP:8080/antifilter.yaml" interval: 43200 path: ./ruleset/antifilter.yaml telegram: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Telegram/Telegram.yaml" interval: 86400 path: ./ruleset/telegram.yaml telegram_resolve: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Telegram/Telegram_Resolve.yaml" interval: 86400 path: ./ruleset/telegram_resolve.yaml twitter: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Twitter/Twitter.yaml" interval: 86400 path: ./ruleset/twitter.yaml twitter_resolve: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Twitter/Twitter_Resolve.yaml" interval: 86400 path: ./ruleset/twitter_resolve.yaml instagram: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Instagram/Instagram.yaml" interval: 86400 path: ./ruleset/instagram.yaml facebook: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Facebook/Facebook.yaml" interval: 86400 path: ./ruleset/facebook.yaml facebook_resolve: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Facebook/Facebook_Resolve.yaml" interval: 86400 path: ./ruleset/facebook_resolve.yaml youtube: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/YouTube/YouTube.yaml" interval: 86400 path: ./ruleset/youtube.yaml youtube_resolve: behavior: classical type: http url: "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/YouTube/YouTube_Resolve.yaml" interval: 86400 path: ./ruleset/youtube_resolve.yamlrules: - RULE-SET,1st_of_all,PROXY - RULE-SET,antifilter,PROXY - RULE-SET,telegram,PROXY - RULE-SET,telegram_resolve,PROXY - RULE-SET,twitter,PROXY - RULE-SET,twitter_resolve,PROXY - RULE-SET,instagram,PROXY - RULE-SET,facebook,PROXY - RULE-SET,facebook_resolve,PROXY # - RULE-SET,youtube,PROXY # - RULE-SET,youtube_resolve,PROXY - MATCH,DIRECT

В примере используются как списки из clash-antifilter-lists, так и заботливо собранные китайским пользователем blackmatrix7 на GitHub автообновляемые списки правил для всевозможных популярных сервисов. Пригодится вам, если не будете пользоваться antifilter правилами (в нем тысячи адресов и мобильные устройства могут плохо переваривать такое количество). Это наиболее полные списки, агрегируемые с нескольких источников (если вам известны другие полезные списки, не покрываемые этими, то напишите в комментариях). Пользуйтесь, при необходимости.

Правила можно прописать и напрямую в конфигурацию. Это приемлемо, если у вас небольшое количество ресурсов, доступ к которым необходимо предоставить через прокси. Использование Rule Providers позволяет не трогать основную конфигурацию, это удобно при использовании Clash на нескольких устройствах, а особенно это удобно при централизованном использовании Clash на вашем роутере (об этом поговорим в следующей статье). Интервал автоматического обновления прописывается в каждом правиле (interval: в секундах), для своих правил его целесообразно выставить в минимальное значение. Так же вручную запросить обновление правил всегда оперативно можно в Dashboard, идущего с приложением.

Выбираем режим работы – Proxy ModeRule, включаем Set as system proxy, выбираем через какой прокси пойдет трафик. На этом все, трафик на ресурсы, прописанные в правилах, пойдет через выбранный прокси-сервер.

Без дополнительных вложений прокси можно организовать с помощью tor-bridges-proxy. Docker-контейнер можно поднять одной командой на любом устройстве в вашей локальной сети, подключенном к сети Интернет. Будет поднят Tor и опубликован SOCKS 5 на порту 9150, остается прописать его в конфигурации для Clash и трафик через SOCKS 5 в вашей локальной сети будет заворачиваться в Tor. У меня это работает на миниатюрном домашнем сервере. Если есть возможность приобрести VPS сервер вне российской юрисдикции, то я бы посоветовал настроить V2Ray (VMess + WebSocket + TLS + nginx + website). Но это тема для отдельной статьи.

clash proxy

Clash - выборочный обход блокировок (2024)

References

Top Articles
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 6047

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.