荒岛

Clash是一款用Go开发的多平台的代理工具,支持Windows/Linux/IOS客户端,使用规则判定来决定代理流量改走节点还是直连访问。Clash的魅力还在于可以自动选择节点,不同的网站在同一时间,可以使用不同的节点去访问。Clash是最适合机场用户的代理软件之一。

本篇所有文件可到此下载。
https://www.123pan.com/s/sWpxjv-nFi4h.html 提取码:xh35

安装Clash

本人的Padavan是纯净版,所以Clash是自行编译安装的(下载二进制文件),自行编译请到Clash项目仓库获取相关资源和帮助。

  1. 将下载好的二进制文件使用modify解包/打包至Padavan的/usr/bin/目录。
  2. 设置clash相应权限,chmod 0755 /usr/bin/clash

安装WebUI(可选)

  1. 访问Clash-dashboard下载clash-dashboard.tar.gz文件。
  2. clash-dashboard.tar.gz解压至/etc/storage/clash/dashboard

配置Clash订阅

  1. 下载Geoip数据库,解压至/etc/storage/clash/Country.mmdb
  2. 下载第三方提供的Clash机场服务配置文件,解压至/etc/storage/clash/config.yaml
  3. 配置文件说明。
allow-lan: true #允许来自局域网的连接
bind-address: 10.0.0.1 #代理服务地址(本机IP)
dns:
  fake-ip-range: 198.18.0.1/16
  default-nameserver: #默认的DNS服务器
  - 114.114.114.114
  - 119.29.29.29
  - 223.5.5.5
  enable: true #启用该DNS配置,使其生效。
  listen: 0.0.0.0:5353 #DNS服务端口
  enhanced-mode: fake-ip
  fallback-filter: #配置备用DNS服务器的过滤规则,提高网络安全性。
    geoip: true #根据地理位置进行过滤
    ipcidr: #定义不被解析的IP地址范围
    - 240.0.0.0/4
  ipv6: false #禁用IPv6
  nameserver: #指定其他可信赖的DNS服务器,增强解析能力和稳定性。
  - 114.114.114.114
  - 119.29.29.29
  - 223.5.5.5
  - https://223.5.5.5/dns-query
  - https://223.6.6.6/dns-query
  - https://doh.pub/dns-query
  use-hosts: true
mixed-port: 10080 #混合代理端口
port: 10081 #HTTP代理端口
socks-port: 10082 #socks代理端口
redir-port: 10083 #透明代理端口
mode: Rule #代理模式
log-level: silent #日志模式
external-controller: 0.0.0.0:9090 #webui地址及端口
external-ui: /etc/storage/clash/ui #webui文件路径
secret: 123456789 #访问密码
  1. 新建/etc/storage/clash/clash.sh脚本,方便Clash的启动、停止、更新。
# 配置文件路径
config_file=/etc/storage/clash/config.yaml

# 代理订阅地址
feed_url=https://feed.xxx.com/clash/xxxx.yaml

# 日志输出
func_log(){
  logger -t "Clash" "$1"
  echo "Clash $1"
}
# 停止服务
func_stop(){
  if pidof clash >/dev/null; then
    killall -9 clash
    func_log "服务已停止!"
  fi
}
# 启动服务
func_start(){
  clash -d /etc/storage/clash >/dev/null 2>&1 &
  sleep 3
  if pidof clash >/dev/null; then
    func_log "服务启动成功!"
  else
    func_log "服务启动失败!"
  fi
}
# 重启服务
func_restart(){
  func_stop
  func_start
}
# 修改配置
func_config(){
  # 开启局域网访问
  sed -i 's/allow-lan: false/allow-lan: true/g' $config_file

  # 设置日志类型
  sed -i 's/log-level: info/log-level: silent/g' $config_file

  # 端口配置
  sed -i 's/mixed-port: 7890/mixed-port: 10080\nport: 10081\nsocks-port: 10082\nredir-port: 10083/g' $config_file

  # 设置DNS模式与端口
  sed -i 's/enable: true/enable: true\n  listen: 0.0.0.0:5353/g' $config_file

  # 添加UI目录、UI密码
  sed -i 's/external-controller: :9090/external-controller: 0.0.0.0:9090\nexternal-ui: \/etc\/storage\/clash\/ui\nsecret: 123456789/g' $config_file

  # 获取IP并绑定
  localIp=`ifconfig br0 | awk '/inet addr/ {print $2}' | awk -F: '{print $2}'`
  sed -i 's/bind-address: 127.0.0.1/bind-address: '$localIp'/g' $config_file
}
# 更新配置重启
func_reload(){
  wget --timeout=10 $feed_url -q -O $config_file
  if [ $? -eq 0 ]; then
    func_config
    func_log "节点更新成功!"
    func_restart
  fi
}

case $1 in
  start)
    func_start
    ;;
  stop)
    func_stop
    ;;
  restart)
    func_restart
    ;;
  reload)
    func_reload
    ;;
  *)
  echo "Usage: $0 { start | stop | restart | reload }"
  exit 1
  ;;
esac
exit 0

定期更新机场订阅

高级设置>系统管理>服务>调度任务 (Crontab)插入以下内容:

# 每天6点更新clash节点并重启
0 6 * * * /etc/storage/clash/clash.sh reload &

启动Clash及开机自启动

  1. 命令行启动clash
/etc/storage/clash/clash.sh start &
  1. Padavan后台界面添加开机启动

高级设置>参数设置>脚本>在路由器启动后执行插入以下内容:

# 开机启动clash
/etc/storage/clash/clash.sh start &
  1. 访问ui界面 路由器IP:9090/ui

1.png
输入配置文件所配置的密码即可查看clash运行情况

2.png

点击菜单代理即可查看和设置机场订阅的节点情况

3.png

客户端使用方法

以局域网内windows系统为例,在网络设置中开启代理,并填入代理服务器地址和端口即可使用

5.png

windows客户端浏览器访问www.google.com后,访问正常。点击clash webui的菜单连接即可查看代理情况,包括客户端的IP、访问规则、流量等。

4.png

  • 技术栈
  • 网络
  • 当前暂无评论