V2ray 广告过滤配置

最近折腾了下 V2ray ,感觉很强大,不仅能实现代理上网,还能实现广告过滤。

下边贴一段 V2ray 广告的配置,以备查阅。

客户端

{
  "log":{
    "loglevel": "warning",
    "access": "D:\\v2ray\\access.log",
    "error": "D:\\v2ray\\error.log"
  },
  "inbound": {
    "port": 1080,
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
    }
  },
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "v2ray.cool",
          "port": 10086,
          "users": [
            {
              "id": "2b831681d-6324-4d53-ad5f-8cda48b30011",  
              "alterId": 64
            }
          ]
        }
      ]
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "adblock"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "domain": [
            "tanx.com",
            "googeadsserving.cn",
            "baidu.com"
          ],
          "type": "field",
          "outboundTag": "adblock"       
        },
        {
          "domain": [
            "amazon.com",
            "microsoft.com",
            "jd.com",
            "youku.com",
            "baidu.com"
          ],
          "type": "field",
          "outboundTag": "direct"
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  }
}

服务端

{
  "log":{
    "loglevel": "warning",
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log"
  },
  "inbound": {
    "port": 10086,
    "protocol": "vmess",    
    "settings": {
      "clients": [
        {
          "id": "2b831681d-6324-4d53-ad5f-8cda48b30011",
          "alterId": 64
        }
      ]
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  }
}

说明

在本配置中只在客户端配置的 outboundDetour 和 routing 添加了新的内容。

在 routing.settings.rules 中,type 的值除了 chinasites 和 chinaip 之外只能是 field。

本配置中,新添加了两个规则:

{
  "domain": [
    "tanx.com",
    "baidu.com"
  ],
  "type": "field",
  "outboundTag": "adblock"       
},
{
  "domain": [
    "amazon.com",
    "microsoft.com",
    "youku.com",
    "baidu.com"
  ],
  "type": "field",
  "outboundTag": "direct"
}

在第一个规则中,域名包含有 tanx.com 或 baidu.com 的就会被阻止连接。在第二个规则当中,域名中包含有 amazon.com 或 microsoft.com 或 youku.com 或 baidu.com 的会直连。有一个问题大家发现没有,两个规则都有 baidu.com ,那么会执行哪个呢?答案是只会执行第一个,原因是:

  1. 规则是放在 routing.settings.rules 这个数组当中,数组的内容是有顺序的,也就是说在这里规则是有顺序的,匹配规则时是从上往下匹配
  2. 当路由匹配到一个规则时就会跳出匹配而不会对之后的规则进行匹配

 

分享