要在 Xray 的配置中禁止访问特定的网站,可以通过添加相应的路由规则来实现。这些规则可以使用域名或 IP 地址进行过滤。下面是一个示例,修改后的配置文件包括了禁止访问成人网站的规则。

假设你想禁止访问一些已知的成人网站,我们可以使用域名进行过滤:

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "tag": "api"
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "routing": {
    "rules": [
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      },
      {
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "blocked",
        "type": "field"
      },
      {
        "outboundTag": "blocked",
        "protocol": [
          "bittorrent"
        ],
        "type": "field"
      },
      {
        "type": "field",
        "domain": [
          "geosite:category-porn"
        ],
        "outboundTag": "blocked"
      }
    ]
  },
  "stats": {}
}

在这个配置文件中,我添加了一条新的路由规则,该规则使用 geosite:category-porn 标签来过滤已知的成人网站。这依赖于 Xray 的 GeoSite 数据库来匹配这些域名。如果你有特定的成人网站域名列表,你也可以直接将它们添加到 domain 字段中,例如:

{
  "type": "field",
  "domain": [
    "example-porn-site.com",
    "another-porn-site.com"
  ],
  "outboundTag": "blocked"
}

你可以将上述规则添加到 routing 部分的 rules 数组中。这样,访问这些域名时将会被阻止。请注意,geosite:category-porn 需要 Xray 的 GeoSite 数据库支持,如果没有,你可能需要手动添加域名。

以下是一份完整的配置

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "tag": "api"
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "routing": {
    "rules": [
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      },
      {
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "blocked",
        "type": "field"
      },
      {
        "outboundTag": "blocked",
        "protocol": [
          "bittorrent"
        ],
        "type": "field"
      },
      {
        "type": "field",
        "domain": [
          "geosite:category-porn"
        ],
        "outboundTag": "blocked"
      }
    ]
  },
  "stats": {}
}

要手动添加一些域名到 Xray 的配置文件中,以阻止访问这些特定的网站,你可以将这些域名添加到 routing 部分的 rules 数组中。这里是一个包含手动添加域名的示例配置文件:

假设你想手动添加一些域名,例如 example-porn-site.com 和 another-porn-site.com。

在这个配置文件中,我在 routing 部分的 rules 数组中添加了一条新的规则,用于手动指定要阻止的域名。

找到配置文件中的 routing 部分。
在 rules 数组中添加新的规则对象。
例如:

{
  "type": "field",
  "domain": [
    "example-porn-site.com",
    "another-porn-site.com"
  ],
  "outboundTag": "blocked"
}

自动按标签屏蔽: 使用 geosite:category-porn 标签屏蔽已知的成人网站域名

{
  "type": "field",
  "domain": [
    "geosite:category-porn"
  ],
  "outboundTag": "blocked"
}

手动添加域名屏蔽: 手动指定要屏蔽的特定域名。

{
  "type": "field",
  "domain": [
    "example-porn-site.com",
    "another-porn-site.com"
  ],
  "outboundTag": "blocked"
}

这两条规则都可以添加到你的 routing 部分的 rules 数组中。以下是完整的配置文件示例:

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "tag": "api"
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "routing": {
    "rules": [
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      },
      {
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "blocked",
        "type": "field"
      },
      {
        "outboundTag": "blocked",
        "protocol": [
          "bittorrent"
        ],
        "type": "field"
      },
      {
        "type": "field",
        "domain": [
          "geosite:category-porn"
        ],
        "outboundTag": "blocked"
      },
      {
        "type": "field",
        "domain": [
          "example-porn-site.com",
          "another-porn-site.com"
        ],
        "outboundTag": "blocked"
      }
    ]
  },
  "stats": {}
}

将这个配置文件保存到你的 Xray 配置文件(通常是 config.json)中即可。这样,配置文件既包含自动按标签屏蔽,也包含手动添加域名屏蔽的规则。

Last modification:June 26th, 2024 at 10:07 am