commit 0158ae28ecefa22603cb77044d41604f44afa63a Author: rain-bus Date: Tue Mar 4 11:22:36 2025 +0800 Temp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b1dff0d --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Kotlin ### +.kotlin + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..919ce1f --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml new file mode 100644 index 0000000..7dc1249 --- /dev/null +++ b/.idea/git_toolbox_blame.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..2a65317 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..c22b6fa --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..1ebec2f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..6364539 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,27 @@ +plugins { + kotlin("jvm") version "2.1.10" + kotlin("plugin.serialization") version "2.1.10" +} + +group = "com.subman" +version = "1.0-SNAPSHOT" + +repositories { +// maven { setUrl("https://maven.aliyun.com/repository/public") } + mavenCentral() +} + +dependencies { + testImplementation(kotlin("test")) + implementation("com.charleskorn.kaml:kaml:0.72.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0") + implementation("io.ktor:ktor-client-core:3.1.1") + implementation("io.ktor:ktor-client-cio:3.1.1") +} + +tasks.test { + useJUnitPlatform() +} +kotlin { + jvmToolchain(21) +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..d3f8cf4 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +kotlin.code.style=official +jackson_version=2.18.3 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..249e583 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..c69c037 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sun Feb 23 17:48:10 CST 2025 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..1b6c787 --- /dev/null +++ b/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..ac1b06f --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..eb6b837 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,5 @@ +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" +} +rootProject.name = "subconverter4j" + diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt new file mode 100644 index 0000000..6b8e86d --- /dev/null +++ b/src/main/kotlin/Main.kt @@ -0,0 +1,43 @@ +package com.subman + +import Clash +import com.charleskorn.kaml.Yaml +import com.charleskorn.kaml.YamlConfiguration +import com.charleskorn.kaml.YamlNamingStrategy +import io.ktor.client.* +import io.ktor.client.call.* +import io.ktor.client.engine.cio.* +import io.ktor.client.request.* +import io.ktor.client.statement.* +import kotlinx.coroutines.runBlocking +import kotlinx.serialization.Serializable +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonNamingStrategy +import java.io.File + +@Serializable +data class Temp( + val bCd: List, + val abCd: String?=null, +) + +//fun main() { +// val ymlStr = File("/Users/rainbus/Projects/Join/Java/subconverter4j/src/main/resources/temp.json").readText(); +// val json = Json { +// namingStrategy = JsonNamingStrategy.KebabCase +// } +// println(json.decodeFromString(Temp.serializer(), ymlStr)) +//} + +fun main() { + val client = HttpClient(CIO); + runBlocking { + val resp: HttpResponse = + client.get("https://UWUyUZlo.doggygo.top:8443/api/v1/client/657ae66e99810c9ab390c63c05cc2fac?flag=clashmeta"); + val strBody: String = resp.body(); +// print(strBody) + val yaml = Yaml(configuration = YamlConfiguration(yamlNamingStrategy = YamlNamingStrategy.KebabCase)) + println(yaml.decodeFromString(Clash.serializer(), strBody)) + } +} \ No newline at end of file diff --git a/src/main/kotlin/conf/Clash.kt b/src/main/kotlin/conf/Clash.kt new file mode 100644 index 0000000..cfb10b1 --- /dev/null +++ b/src/main/kotlin/conf/Clash.kt @@ -0,0 +1,836 @@ +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + + +@Serializable +data class Clash( + // Port + val port: Int? = null, + val socksPort: Int? = null, + val mixedPort: Int? = null, + // LAN + val allowLan: Boolean? = null, + val bindAddress: String? = null, + val authentication: List? = null, + val skipAuthPrefixes: List? = null, + val lanAllowedIps: List? = null, + val lanDisallowedIps: List? = null, + val findProcessMode: String? = null, + val mode: String? = null, + // Geo + val geoxUrl: GeoXUrl? = null, + val geoAutoUpdate: Boolean? = null, + val geoUpdateInterval: Int? = null, + val logLevel: String? = null, + val ipv6: Boolean? = null, + val tls: TLS? = null, + // External Controller + val externalController: String? = null, + val externalControllerTls: String? = null, + val externalControllerCors: ExternalControllerCors? = null, + val externalControllerUnix: String? = null, + val externalControllerPipe: String? = null, + val externalUi: String? = null, + val externalUiName: String? = null, + val externalUiUrl: String? = null, + val externalDohServer: String? = null, + val interfaceName: String? = null, + val globalClientFingerprint: String? = null, + val experimental: Experimental? = null, + val unifiedDelay: Boolean? = null, + val hosts: List? = null, + val profile: Profile? = null, + val tun: Tun? = null, + val sniffer: Sniffer? = null, + val tunnels: List? = null, + val dns: DNS? = null, + val proxies: List? = null, + val proxyGroups: List? = null, + val proxyProviders: Map? = null, + val ruleProviders: Map? = null, + val rules: List? = null, + val subRules: Map>? = null, + val listeners: List? = null +) + +@Serializable +data class GeoXUrl( + val geoip: String? = null, + val geosite: String? = null, + val mmdb: String? = null +) + +@Serializable +data class TLS( + val certificate: String? = null, + val privateKey: String? = null, + val customCertifactes: List? = null +) + +@Serializable +data class ExternalControllerCors( + val allowOrigins: List? = null, + val allowPrivateNetwork: Boolean? = null +) + +@Serializable +data class Experimental( + val quicGoDisableGso: Boolean? = null +) + +@Serializable +data class Profile( + val storeSelected: Boolean? = null, + val storeFakeIp: Boolean? = null +) + +@Serializable +data class Tun( + val enable: Boolean? = null, + val stack: String? = null, + val dnsHijack: List? = null, + val autoDetectInterface: Boolean? = null, + val autoRoute: Boolean? = null, + val mtu: Int? = null, + val gso: Boolean? = null, + val gsoMaxSize: Int? = null, + val autoRedirect: Boolean? = null, + val strictRoute: Boolean? = null, + val routeAddressSet: List? = null, + val routeExcludeAddressSet: List? = null, + val routeAddress: List? = null, + val inet4RouteAddress: List? = null, + val inet6RouteAddress: List? = null, + val endpointIndependentNat: Boolean? = null, + val includeInterface: List? = null, + val excludeInterface: List? = null, + val includeUid: List? = null, + val includeUidRange: List>? = null, + val excludeUid: List? = null, + val excludeUidRange: List>? = null, + val includeAndroidUser: List? = null, + val includePackage: List? = null, + val excludePackage: List? = null +) + +@Serializable +data class Sniffer( + val enable: Boolean? = null, + val overrideDestination: Boolean? = null, + val sniff: Sniff? = null, + val forceDomain: List? = null, + val skipSrcAddress: List? = null, + val skipDstAddress: List? = null, + val skipDomain: List? = null, + val sniffing: List? = null, + val portWhitelist: List? = null +) + +@Serializable +data class Sniff( + val QUIC: SniffQUIC? = null, + val TLS: SniffTLS? = null, + val HTTP: SniffHTTP? = null +) + +@Serializable +data class SniffQUIC( + val ports: List? = null +) + +@Serializable +data class SniffTLS( + val ports: List? = null +) + +@Serializable +data class SniffHTTP( + val ports: List? = null, + val overrideDestination: Boolean? = null +) + +@Serializable +sealed class Tunnel { + @Serializable + data class InlineTunnel( + val network: String? = null, + val address: String? = null, + val target: String? = null, + val proxy: String? = null + ) : Tunnel() + + @Serializable + data class FullTunnel( + val network: List? = null, + val address: String? = null, + val target: String? = null, + val proxy: String? = null + ) : Tunnel() +} + +@Serializable +data class DNS( + val cacheAlgorithm: String? = null, + val enable: Boolean? = null, + val preferH3: Boolean? = null, + val listen: String? = null, + val ipv6: Boolean? = null, + val ipv6Timeout: Int? = null, + val defaultNameserver: List? = null, + val enhancedMode: String? = null, + val fakeIpRange: String? = null, + val fakeIpFilter: List? = null, + val fakeIpFilterMode: String? = null, + val useHosts: Boolean? = null, + val useSystemHosts: Boolean? = null, + val respectRules: Boolean? = null, + val nameserver: List? = null, + val fallback: List? = null, + val proxyServerNameserver: List? = null, + val directNameserver: List? = null, + val directNameserverFollowPolicy: Boolean? = null, + val fallbackFilter: FallbackFilter? = null, + val nameserverPolicy: Map>? = null +) + +@Serializable +data class FallbackFilter( + val geoip: Boolean? = null, + val geoipCode: String? = null, + val geosite: List? = null, + val ipcidr: List? = null, + val domain: List? = null +) + +@Serializable +sealed class Proxy { + @Serializable + data class Socks5Proxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val username: String? = null, + val password: String? = null, + val tls: Boolean? = null, + val fingerprint: String? = null, + val skipCertVerify: Boolean? = null, + val udp: Boolean? = null, + val ipVersion: String? = null + ) : Proxy() + + @Serializable + data class HttpProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val username: String? = null, + val password: String? = null, + val tls: Boolean? = null, + val skipCertVerify: Boolean? = null, + val sni: String? = null, + val fingerprint: String? = null, + val ipVersion: String? = null + ) : Proxy() + + @Serializable + data class SnellProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val psk: String? = null, + val version: Int? = null, + val obfsOpts: ObfsOpts? = null + ) : Proxy() { + @Serializable + data class ObfsOpts( + val mode: String? = null, + val host: String? = null + ) + } + + @Serializable + data class ShadowsocksProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val cipher: String? = null, + val password: String? = null, + val udp: Boolean? = null, + val ipVersion: String? = null, + val plugin: String? = null, + val pluginOpts: PluginOpts? = null + ) : Proxy() { + @Serializable + data class PluginOpts( + val mode: String? = null, + val host: String? = null, + val tls: Boolean? = null, + val skipCertVerify: Boolean? = null, + val fingerprint: String? = null, + val path: String? = null, + val headers: Map? = null, + val clientFingerprint: String? = null, + val version: Int? = null, + val password: String? = null, + val restlsScript: String? = null + ) + } + + @Serializable + data class VmessProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val uuid: String? = null, + val alterId: Int? = null, + val cipher: String? = null, + val udp: Boolean? = null, + val tls: Boolean? = null, + val fingerprint: String? = null, + val skipCertVerify: Boolean? = null, + val servername: String? = null, + val network: String? = null, + val wsOpts: WsOpts? = null, + val h2Opts: H2Opts? = null, + val grpcOpts: GrpcOpts? = null + ) : Proxy() { + @Serializable + data class WsOpts( + val path: String? = null, + val headers: Map? = null + ) + + @Serializable + data class H2Opts( + val host: List? = null, + val path: String? = null + ) + + @Serializable + data class GrpcOpts( + val grpcServiceName: String? = null + ) + } + + @Serializable + data class VlessProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val uuid: String? = null, + val network: String? = null, + val tls: Boolean? = null, + val udp: Boolean? = null, + val flow: String? = null, + val clientFingerprint: String? = null, + val servername: String? = null, + val realityOpts: RealityOpts? = null, + val grpcOpts: GrpcOpts? = null, + val wsOpts: WsOpts? = null + ) : Proxy() { + @Serializable + data class RealityOpts( + val publicKey: String? = null, + val shortId: String? = null + ) + + @Serializable + data class GrpcOpts( + val grpcServiceName: String? = null + ) + + @Serializable + data class WsOpts( + val path: String? = null, + val headers: Map? = null + ) + } + + @Serializable + data class TrojanProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val password: String? = null, + val clientFingerprint: String? = null, + val udp: Boolean? = null, + val sni: String? = null, + val skipCertVerify: Boolean? = null, + val flow: String? = null, + val grpcOpts: GrpcOpts? = null, + val wsOpts: WsOpts? = null + ) : Proxy() { + @Serializable + data class GrpcOpts( + val grpcServiceName: String? = null + ) + + @Serializable + data class WsOpts( + val path: String? = null, + val headers: Map? = null + ) + } + + @Serializable + @SerialName("hysteria2") + data class HysteriaProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val authStr: String? = null, + val obfs: String? = null, + val protocol: String? = null, + val up: String? = null, + val down: String? = null, + val sni: String? = null, + val skipCertVerify: Boolean? = null, + val fingerprint: String? = null + ) : Proxy() + + @Serializable + data class WireguardProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val ip: String? = null, + val ipv6: String? = null, + val publicKey: String? = null, + val privateKey: String? = null, + val udp: Boolean? = null, + val reserved: String? = null, + val peers: List? = null + ) : Proxy() { + @Serializable + data class Peer( + val server: String? = null, + val port: Int? = null, + val publicKey: String? = null, + val allowedIps: List? = null, + val reserved: String? = null + ) + } + + @Serializable + data class TuicProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val token: String? = null, + val uuid: String? = null, + val password: String? = null, + val udpRelayMode: String? = null, + val congestionController: String? = null, + val skipCertVerify: Boolean? = null, + val sni: String? = null + ) : Proxy() + + @Serializable + data class ShadowsocksRProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val cipher: String? = null, + val password: String? = null, + val obfs: String? = null, + val protocol: String? = null, + val udp: Boolean? = null + ) : Proxy() + + @Serializable + data class SSHProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val username: String? = null, + val password: String? = null, + val privateKey: String? = null + ) : Proxy() + + @Serializable + data class MieruProxy( + val name: String? = null, + val server: String? = null, + val port: Int? = null, + val transport: String? = null, + val username: String? = null, + val password: String? = null, + val multiplexing: String? = null + ) : Proxy() + + @Serializable + data class DNSProxy( + val name: String? = null + ) : Proxy() +} + +@Serializable +sealed class ProxyGroup { + @Serializable + data class RelayGroup( + val name: String? = null, + val proxies: List? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class UrlTestGroup( + val name: String? = null, + val proxies: List? = null, + val url: String? = null, + val interval: Int? = null, + val tolerance: Int? = null, + val lazy: Boolean? = null, + val expectedStatus: Int? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class FallbackGroup( + val name: String? = null, + val proxies: List? = null, + val url: String? = null, + val interval: Int? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class LoadBalanceGroup( + val name: String? = null, + val proxies: List? = null, + val url: String? = null, + val interval: Int? = null, + val strategy: String? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class SelectGroup( + val name: String? = null, + val proxies: List? = null, + val disableUdp: Boolean? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class InterfaceGroup( + val name: String? = null, + val interfaceName: String? = null, + val routingMark: Int? = null, + val proxies: List? = null, + val type: String? = null + ) : ProxyGroup() + + @Serializable + data class UseProviderGroup( + val name: String? = null, + val filter: String? = null, + val use: List? = null, + val proxies: List? = null, + val type: String? = null + ) : ProxyGroup() +} + +@Serializable +sealed class ProxyProvider { + @Serializable + data class HttpProxyProvider( + val type: String? = null, + val url: String? = null, + val interval: Int? = null, + val path: String? = null, + val proxy: String? = null, + val header: Header? = null, + val healthCheck: HealthCheck? = null, + val override: Override? = null + ) : ProxyProvider() + + @Serializable + data class InlineProxyProvider( + val type: String? = null, + val dialerProxy: String? = null, + val payload: List? = null + ) : ProxyProvider() + + @Serializable + data class FileProxyProvider( + val type: String? = null, + val path: String? = null, + val healthCheck: HealthCheck? = null + ) : ProxyProvider() +} + +@Serializable +sealed class RuleProvider { + @Serializable + data class HttpRuleProvider( + val behavior: String? = null, + val interval: Int? = null, + val path: String? = null, + val type: String? = null, + val url: String? = null, + val proxy: String? = null, + val sizeLimit: Int? = null + ) : RuleProvider() + + @Serializable + data class FileRuleProvider( + val behavior: String? = null, + val interval: Int? = null, + val path: String? = null, + val type: String? = null + ) : RuleProvider() + + @Serializable + data class MrsRuleProvider( + val type: String? = null, + val url: String? = null, + val format: String? = null, + val behavior: String? = null, + val path: String? = null + ) : RuleProvider() + + @Serializable + data class InlineRuleProvider( + val type: String? = null, + val behavior: String? = null, + val payload: List? = null + ) : RuleProvider() +} + +@Serializable +data class Header( + val userAgent: List? = null, + val accept: List? = null, + val authorization: List? = null +) + +@Serializable +data class HealthCheck( + val enable: Boolean? = null, + val interval: Int? = null, + val lazy: Boolean? = null, + val url: String? = null, + val expectedStatus: Int? = null +) + +@Serializable +data class Override( + val skipCertVerify: Boolean? = null, + val udp: Boolean? = null, + val down: String? = null, + val up: String? = null, + val dialerProxy: String? = null, + val interfaceName: String? = null, + val routingMark: Int? = null, + val ipVersion: String? = null, + val additionalPrefix: String? = null, + val additionalSuffix: String? = null, + val proxyName: List? = null +) + +@Serializable +data class ProxyName( + val pattern: String? = null, + val target: String? = null +) + +@Serializable +data class Payload( + val name: String? = null, + val type: String? = null, + val server: String? = null, + val port: Int? = null, + val cipher: String? = null, + val password: String? = null +) + +@Serializable +sealed class Listener { + @Serializable + data class SocksListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val udp: Boolean? = null, + val users: List? = null + ) : Listener() + + @Serializable + data class HttpListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val users: List? = null + ) : Listener() + + @Serializable + data class MixedListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val udp: Boolean? = null, + val users: List? = null + ) : Listener() + + @Serializable + data class RedirListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null + ) : Listener() + + @Serializable + data class TProxyListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val udp: Boolean? = null + ) : Listener() + + @Serializable + data class ShadowsocksListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val password: String? = null, + val cipher: String? = null + ) : Listener() + + @Serializable + data class VmessListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val users: List? = null, + val wsPath: String? = null, + val certificate: String? = null, + val privateKey: String? = null, + val realityConfig: RealityConfig? = null + ) : Listener() + + @Serializable + data class TuicListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val token: List? = null, + val users: Map? = null, + val certificate: String? = null, + val privateKey: String? = null, + val congestionController: String? = null, + val maxIdleTime: Int? = null, + val authenticationTimeout: Int? = null, + val alpn: List? = null, + val maxUdpRelayPacketSize: Int? = null + ) : Listener() + + @Serializable + data class TunnelListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val network: List? = null, + val target: String? = null + ) : Listener() + + @Serializable + data class VlessListener( + val name: String? = null, + val port: Int? = null, + val listen: String? = null, + val rule: String? = null, + val proxy: String? = null, + val users: List? = null, + val wsPath: String? = null, + val certificate: String? = null, + val privateKey: String? = null, + val realityConfig: RealityConfig? = null + ) : Listener() + + @Serializable + data class TunListener( + val name: String? = null, + val stack: String? = null, + val dnsHijack: List? = null, + val inet4Address: List? = null, + val inet6Address: List? = null, + val rule: String? = null, + val proxy: String? = null, + val autoDetectInterface: Boolean? = null, + val autoRoute: Boolean? = null, + val mtu: Int? = null, + val strictRoute: Boolean? = null, + val inet4RouteAddress: List? = null, + val inet6RouteAddress: List? = null, + val endpointIndependentNat: Boolean? = null, + val includeUid: List? = null, + val includeUidRange: List? = null, + val excludeUid: List? = null, + val excludeUidRange: List? = null, + val includeAndroidUser: List? = null, + val includePackage: List? = null, + val excludePackage: List? = null + ) : Listener() +} + +@Serializable +data class User( + val username: String? = null, + val password: String? = null +) + +@Serializable +data class VmessUser( + val username: String? = null, + val uuid: String? = null, + val alterId: Int? = null +) + +@Serializable +data class VlessUser( + val username: String? = null, + val uuid: String? = null, + val flow: String? = null +) + +@Serializable +data class RealityConfig( + val dest: String? = null, + val privateKey: String? = null, + val shortId: List? = null, + val serverNames: List? = null +) + +@Serializable +data class TuicServer( + val enable: Boolean? = null, + val listen: String? = null, + val token: List? = null, + val users: Map? = null, + val certificate: String? = null, + val privateKey: String? = null, + val congestionController: String? = null, + val maxIdleTime: Int? = null, + val authenticationTimeout: Int? = null, + val alpn: List? = null, + val maxUdpRelayPacketSize: Int? = null +) \ No newline at end of file diff --git a/src/main/resources/clash-full.yml b/src/main/resources/clash-full.yml new file mode 100644 index 0000000..d5e0d23 --- /dev/null +++ b/src/main/resources/clash-full.yml @@ -0,0 +1,1273 @@ +# port: 7890 # HTTP(S) 代理服务器端口 +# socks-port: 7891 # SOCKS5 代理端口 +mixed-port: 10801 # HTTP(S) 和 SOCKS 代理混合端口 +# redir-port: 7892 # 透明代理端口,用于 Linux 和 MacOS + +# Transparent proxy server port for Linux (TProxy TCP and TProxy UDP) +# tproxy-port: 7893 + +allow-lan: true # 允许局域网连接 +bind-address: "*" # 绑定 IP 地址,仅作用于 allow-lan 为 true,'*'表示所有地址 +authentication: # http,socks 入口的验证用户名,密码 + - "username:password" +skip-auth-prefixes: # 设置跳过验证的 IP 段 + - 127.0.0.1/8 + - ::1/128 +lan-allowed-ips: # 允许连接的 IP 地址段,仅作用于 allow-lan 为 true, 默认值为 0.0.0.0/0 和::/0 + - 0.0.0.0/0 + - ::/0 +lan-disallowed-ips: # 禁止连接的 IP 地址段,黑名单优先级高于白名单,默认值为空 + - 192.168.0.3/32 + +# find-process-mode has 3 values:always, strict, off +# - always, 开启,强制匹配所有进程 +# - strict, 默认,由 mihomo 判断是否开启 +# - off, 不匹配进程,推荐在路由器上使用此模式 +find-process-mode: strict + +mode: rule + +#自定义 geodata url +geox-url: + geoip: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat" + geosite: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat" + mmdb: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb" + +geo-auto-update: false # 是否自动更新 geodata +geo-update-interval: 24 # 更新间隔,单位:小时 + +# Matcher implementation used by GeoSite, available implementations: +# - succinct (default, same as rule-set) +# - mph (from V2Ray, also `hybrid` in Xray) +# geosite-matcher: succinct + +log-level: debug # 日志等级 silent/error/warning/info/debug + +ipv6: true # 开启 IPv6 总开关,关闭阻断所有 IPv6 链接和屏蔽 DNS 请求 AAAA 记录 + +tls: + certificate: string # 证书 PEM 格式,或者 证书的路径 + private-key: string # 证书对应的私钥 PEM 格式,或者私钥路径 + custom-certifactes: + - | + -----BEGIN CERTIFICATE----- + format/pem... + -----END CERTIFICATE----- + +external-controller: 0.0.0.0:9093 # RESTful API 监听地址 +external-controller-tls: 0.0.0.0:9443 # RESTful API HTTPS 监听地址,需要配置 tls 部分配置文件 +# secret: "123456" # `Authorization:Bearer ${secret}` + +# RESTful API CORS标头配置 +external-controller-cors: + allow-origins: + - * + allow-private-network: true + +# RESTful API Unix socket 监听地址( windows版本大于17063也可以使用,即大于等于1803/RS4版本即可使用 ) +# !!!注意: 从Unix socket访问api接口不会验证secret, 如果开启请自行保证安全问题 !!! +# 测试方法: curl -v --unix-socket "mihomo.sock" http://localhost/ +external-controller-unix: mihomo.sock + +# RESTful API Windows namedpipe 监听地址 +# !!!注意: 从Windows namedpipe访问api接口不会验证secret, 如果开启请自行保证安全问题 !!! +external-controller-pipe: \\.\pipe\mihomo + +# tcp-concurrent: true # TCP 并发连接所有 IP, 将使用最快握手的 TCP + +# 配置 WEB UI 目录,使用 http://{{external-controller}}/ui 访问 +external-ui: /path/to/ui/folder/ +external-ui-name: xd +external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip" + +# 在RESTful API端口上开启DOH服务器 +# !!!该URL不会验证secret, 如果开启请自行保证安全问题 !!! +external-doh-server: /dns-query + +# interface-name: en0 # 设置出口网卡 + +# 全局 TLS 指纹,优先低于 proxy 内的 client-fingerprint +# 可选: "chrome","firefox","safari","ios","random","none" options. +# Utls is currently support TLS transport in TCP/grpc/WS/HTTP for VLESS/Vmess and trojan. +global-client-fingerprint: chrome + +# TCP keep alive interval +# disable-keep-alive: false #目前在android端强制为true +# keep-alive-idle: 15 +# keep-alive-interval: 15 + +# routing-mark:6666 # 配置 fwmark 仅用于 Linux +experimental: +# Disable quic-go GSO support. This may result in reduced performance on Linux. +# This is not recommended for most users. +# Only users encountering issues with quic-go's internal implementation should enable this, +# and they should disable it as soon as the issue is resolved. +# This field will be removed when quic-go fixes all their issues in GSO. +# This equivalent to the environment variable QUIC_GO_DISABLE_GSO=1. +#quic-go-disable-gso: true + +# 类似于 /etc/hosts, 仅支持配置单个 IP +hosts: +# '*.mihomo.dev': 127.0.0.1 +# '.dev': 127.0.0.1 +# 'alpha.mihomo.dev': '::1' +# test.com: [1.1.1.1, 2.2.2.2] +# home.lan: lan # lan 为特别字段,将加入本地所有网卡的地址 +# baidu.com: google.com # 只允许配置一个别名 + +profile: # 存储 select 选择记录 + store-selected: false + + # 持久化 fake-ip + store-fake-ip: true + +# Tun 配置 +tun: + enable: false + stack: system # gvisor/mixed + dns-hijack: + - 0.0.0.0:53 # 需要劫持的 DNS + # auto-detect-interface: true # 自动识别出口网卡 + # auto-route: true # 配置路由表 + # mtu: 9000 # 最大传输单元 + # gso: false # 启用通用分段卸载,仅支持 Linux + # gso-max-size: 65536 # 通用分段卸载包的最大大小 + auto-redirect: false # 自动配置 iptables 以重定向 TCP 连接。仅支持 Linux。带有 auto-redirect 的 auto-route 现在可以在路由器上按预期工作,无需干预。 + # strict-route: true # 将所有连接路由到 tun 来防止泄漏,但你的设备将无法其他设备被访问 + route-address-set: # 将指定规则集中的目标 IP CIDR 规则添加到防火墙, 不匹配的流量将绕过路由, 仅支持 Linux,且需要 nftables,`auto-route` 和 `auto-redirect` 已启用。 + - ruleset-1 + - ruleset-2 + route-exclude-address-set: # 将指定规则集中的目标 IP CIDR 规则添加到防火墙, 匹配的流量将绕过路由, 仅支持 Linux,且需要 nftables,`auto-route` 和 `auto-redirect` 已启用。 + - ruleset-3 + - ruleset-4 + route-address: # 启用 auto-route 时使用自定义路由而不是默认路由 + - 0.0.0.0/1 + - 128.0.0.0/1 + - "::/1" + - "8000::/1" + # inet4-route-address: # 启用 auto-route 时使用自定义路由而不是默认路由(旧写法) + # - 0.0.0.0/1 + # - 128.0.0.0/1 + # inet6-route-address: # 启用 auto-route 时使用自定义路由而不是默认路由(旧写法) + # - "::/1" + # - "8000::/1" + # endpoint-independent-nat: false # 启用独立于端点的 NAT + # include-interface: # 限制被路由的接口。默认不限制,与 `exclude-interface` 冲突 + # - "lan0" + # exclude-interface: # 排除路由的接口,与 `include-interface` 冲突 + # - "lan1" + # include-uid: # UID 规则仅在 Linux 下被支持,并且需要 auto-route + # - 0 + # include-uid-range: # 限制被路由的的用户范围 + # - 1000:9999 + # exclude-uid: # 排除路由的的用户 + #- 1000 + # exclude-uid-range: # 排除路由的的用户范围 + # - 1000:9999 + + # Android 用户和应用规则仅在 Android 下被支持 + # 并且需要 auto-route + + # include-android-user: # 限制被路由的 Android 用户 + # - 0 + # - 10 + # include-package: # 限制被路由的 Android 应用包名 + # - com.android.chrome + # exclude-package: # 排除被路由的 Android 应用包名 + # - com.android.captiveportallogin + +# 嗅探域名 可选配置 +sniffer: + enable: false + ## 对 redir-host 类型识别的流量进行强制嗅探 + ## 如:Tun、Redir 和 TProxy 并 DNS 为 redir-host 皆属于 + # force-dns-mapping: false + ## 对所有未获取到域名的流量进行强制嗅探 + # parse-pure-ip: false + # 是否使用嗅探结果作为实际访问,默认 true + # 全局配置,优先级低于 sniffer.sniff 实际配置 + override-destination: false + sniff: # TLS 和 QUIC 默认如果不配置 ports 默认嗅探 443 + QUIC: + # ports: [ 443 ] + TLS: + # ports: [443, 8443] + + # 默认嗅探 80 + HTTP: # 需要嗅探的端口 + ports: [80, 8080-8880] + # 可覆盖 sniffer.override-destination + override-destination: true + force-domain: + - +.v2ex.com + # skip-src-address: # 对于来源ip跳过嗅探 + # - 192.168.0.3/32 + # skip-dst-address: # 对于目标ip跳过嗅探 + # - 192.168.0.3/32 + ## 对嗅探结果进行跳过 + # skip-domain: + # - Mijia Cloud + # 需要嗅探协议 + # 已废弃,若 sniffer.sniff 配置则此项无效 + sniffing: + - tls + - http + # 强制对此域名进行嗅探 + + # 仅对白名单中的端口进行嗅探,默认为 443,80 + # 已废弃,若 sniffer.sniff 配置则此项无效 + port-whitelist: + - "80" + - "443" + # - 8000-9999 + +tunnels: # one line config + - tcp/udp,127.0.0.1:6553,114.114.114.114:53,proxy + - tcp,127.0.0.1:6666,rds.mysql.com:3306,vpn + # full yaml config + - network: [tcp, udp] + address: 127.0.0.1:7777 + target: target.com + proxy: proxy + +# DNS 配置 +dns: + cache-algorithm: arc + enable: false # 关闭将使用系统 DNS + prefer-h3: false # 是否开启 DoH 支持 HTTP/3,将并发尝试 + listen: 0.0.0.0:53 # 开启 DNS 服务器监听 + # ipv6: false # false 将返回 AAAA 的空结果 + # ipv6-timeout: 300 # 单位:ms,内部双栈并发时,向上游查询 AAAA 时,等待 AAAA 的时间,默认 100ms + # 用于解析 nameserver,fallback 以及其他 DNS 服务器配置的,DNS 服务域名 + # 只能使用纯 IP 地址,可使用加密 DNS + default-nameserver: + - 114.114.114.114 + - 8.8.8.8 + - tls://1.12.12.12:853 + - tls://223.5.5.5:853 + - system # append DNS server from system configuration. If not found, it would print an error log and skip. + enhanced-mode: fake-ip # or redir-host + + fake-ip-range: 198.18.0.1/16 # fake-ip 池设置 + + # 配置不使用 fake-ip 的域名 + fake-ip-filter: + - '*.lan' + - localhost.ptlogin2.qq.com + # fakeip-filter 为 rule-providers 中的名为 fakeip-filter 规则订阅, + # 且 behavior 必须为 domain/classical,当为 classical 时仅会生效域名类规则 + - rule-set:fakeip-filter + # fakeip-filter 为 geosite 中名为 fakeip-filter 的分类(需要自行保证该分类存在) + - geosite:fakeip-filter + # 配置fake-ip-filter的匹配模式,默认为blacklist,即如果匹配成功不返回fake-ip + # 可设置为whitelist,即只有匹配成功才返回fake-ip + fake-ip-filter-mode: blacklist + + # use-hosts: true # 查询 hosts + + # 配置后面的nameserver、fallback和nameserver-policy向dns服务器的连接过程是否遵守遵守rules规则 + # 如果为false(默认值)则这三部分的dns服务器在未特别指定的情况下会直连 + # 如果为true,将会按照rules的规则匹配链接方式(走代理或直连),如果有特别指定则任然以指定值为准 + # 仅当proxy-server-nameserver非空时可以开启此选项, 强烈不建议和prefer-h3一起使用 + # 此外,这三者配置中的dns服务器如果出现域名会采用default-nameserver配置项解析,也请确保正确配置default-nameserver + respect-rules: false + + # DNS 主要域名配置 + # 支持 UDP,TCP,DoT,DoH,DoQ + # 这部分为主要 DNS 配置,影响所有直连,确保使用对大陆解析精准的 DNS + nameserver: + - 114.114.114.114 # default value + - 8.8.8.8 # default value + - tls://223.5.5.5:853 # DNS over TLS + - https://doh.pub/dns-query # DNS over HTTPS + - https://dns.alidns.com/dns-query#h3=true # 强制 HTTP/3,与 perfer-h3 无关,强制开启 DoH 的 HTTP/3 支持,若不支持将无法使用 + - https://mozilla.cloudflare-dns.com/dns-query#DNS&h3=true # 指定策略组和使用 HTTP/3 + - dhcp://en0 # dns from dhcp + - quic://dns.adguard.com:784 # DNS over QUIC + # - '8.8.8.8#RULES' # 效果同respect-rules,但仅对该服务器生效 + # - '8.8.8.8#en0' # 兼容指定 DNS 出口网卡 + + # 当配置 fallback 时,会查询 nameserver 中返回的 IP 是否为 CN,非必要配置 + # 当不是 CN,则使用 fallback 中的 DNS 查询结果 + # 确保配置 fallback 时能够正常查询 + # fallback: + # - tcp://1.1.1.1 + # - 'tcp://1.1.1.1#ProxyGroupName' # 指定 DNS 过代理查询,ProxyGroupName 为策略组名或节点名,过代理配置优先于配置出口网卡,当找不到策略组或节点名则设置为出口网卡 + + # 专用于节点域名解析的 DNS 服务器,非必要配置项,如果不填则遵循nameserver-policy、nameserver和fallback的配置 + # proxy-server-nameserver: + # - https://dns.google/dns-query + # - tls://one.one.one.one + + # 专用于direct出口域名解析的 DNS 服务器,非必要配置项,如果不填则遵循nameserver-policy、nameserver和fallback的配置 + # direct-nameserver: + # - system:// + # direct-nameserver-follow-policy: false # 是否遵循nameserver-policy,默认为不遵守,仅当direct-nameserver不为空时生效 + + # 配置 fallback 使用条件 + # fallback-filter: + # geoip: true # 配置是否使用 geoip + # geoip-code: CN # 当 nameserver 域名的 IP 查询 geoip 库为 CN 时,不使用 fallback 中的 DNS 查询结果 + # 配置强制 fallback,优先于 IP 判断,具体分类自行查看 geosite 库 + # geosite: + # - gfw + # 如果不匹配 ipcidr 则使用 nameservers 中的结果 + # ipcidr: + # - 240.0.0.0/4 + # domain: + # - '+.google.com' + # - '+.facebook.com' + # - '+.youtube.com' + + # 配置查询域名使用的 DNS 服务器 + nameserver-policy: + # 'www.baidu.com': '114.114.114.114' + # '+.internal.crop.com': '10.0.0.1' + "geosite:cn,private,apple": + - https://doh.pub/dns-query + - https://dns.alidns.com/dns-query + "geosite:category-ads-all": rcode://success + "www.baidu.com,+.google.cn": [223.5.5.5, https://dns.alidns.com/dns-query] + ## global,dns 为 rule-providers 中的名为 global 和 dns 规则订阅, + ## 且 behavior 必须为 domain/classical,当为 classical 时仅会生效域名类规则 + # "rule-set:global,dns": 8.8.8.8 + +proxies: # socks5 + - name: "socks" + type: socks5 + server: server + port: 443 + # username: username + # password: password + # tls: true + # fingerprint: xxxx + # skip-cert-verify: true + # udp: true + # ip-version: ipv6 + + # http + - name: "http" + type: http + server: server + port: 443 + # username: username + # password: password + # tls: true # https + # skip-cert-verify: true + # sni: custom.com + # fingerprint: xxxx # 同 experimental.fingerprints 使用 sha256 指纹,配置协议独立的指纹,将忽略 experimental.fingerprints + # ip-version: dual + + # Snell + # Beware that there's currently no UDP support yet + - name: "snell" + type: snell + server: server + port: 44046 + psk: yourpsk + # version: 2 + # obfs-opts: + # mode: http # or tls + # host: bing.com + + # Shadowsocks + # cipher支持: + # 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 + # 2022-blake3-aes-128-gcm 2022-blake3-aes-256-gcm 2022-blake3-chacha20-poly1305 + - name: "ss1" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + # udp: true + # udp-over-tcp: false + # ip-version: ipv4 # 设置节点使用 IP 版本,可选:dual,ipv4,ipv6,ipv4-prefer,ipv6-prefer。默认使用 dual + # ipv4:仅使用 IPv4 ipv6:仅使用 IPv6 + # ipv4-prefer:优先使用 IPv4 对于 TCP 会进行双栈解析,并发链接但是优先使用 IPv4 链接, + # UDP 则为双栈解析,获取结果中的第一个 IPv4 + # ipv6-prefer 同 ipv4-prefer + # 现有协议都支持此参数,TCP 效果仅在开启 tcp-concurrent 生效 + smux: + enabled: false + protocol: smux # smux/yamux/h2mux + # max-connections: 4 # Maximum connections. Conflict with max-streams. + # min-streams: 4 # Minimum multiplexed streams in a connection before opening a new connection. Conflict with max-streams. + # max-streams: 0 # Maximum multiplexed streams in a connection before opening a new connection. Conflict with max-connections and min-streams. + # padding: false # Enable padding. Requires sing-box server version 1.3-beta9 or later. + # statistic: false # 控制是否将底层连接显示在面板中,方便打断底层连接 + # only-tcp: false # 如果设置为 true, smux 的设置将不会对 udp 生效,udp 连接会直接走底层协议 + + - name: "ss2" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + plugin: obfs + plugin-opts: + mode: tls # or http + # host: bing.com + + - name: "ss3" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + plugin: v2ray-plugin + plugin-opts: + mode: websocket # no QUIC now + # tls: true # wss + # 可使用 openssl x509 -noout -fingerprint -sha256 -inform pem -in yourcert.pem 获取 + # 配置指纹将实现 SSL Pining 效果 + # fingerprint: xxxx + # skip-cert-verify: true + # host: bing.com + # path: "/" + # mux: true + # headers: + # custom: value + # v2ray-http-upgrade: false + # v2ray-http-upgrade-fast-open: false + + - name: "ss4-shadow-tls" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + plugin: shadow-tls + client-fingerprint: chrome + plugin-opts: + host: "cloud.tencent.com" + password: "shadow_tls_password" + version: 2 # support 1/2/3 + + - name: "ss-restls-tls13" + type: ss + server: [YOUR_SERVER_IP] + port: 443 + cipher: chacha20-ietf-poly1305 + password: [YOUR_SS_PASSWORD] + client-fingerprint: + chrome # One of: chrome, ios, firefox or safari + # 可以是 chrome, ios, firefox, safari 中的一个 + plugin: restls + plugin-opts: + host: + "www.microsoft.com" # Must be a TLS 1.3 server + # 应当是一个 TLS 1.3 服务器 + password: [YOUR_RESTLS_PASSWORD] + version-hint: "tls13" + # Control your post-handshake traffic through restls-script + # Hide proxy behaviors like "tls in tls". + # see https://github.com/3andne/restls/blob/main/Restls-Script:%20Hide%20Your%20Proxy%20Traffic%20Behavior.md + # 用 restls 剧本来控制握手后的行为,隐藏"tls in tls"等特征 + # 详情:https://github.com/3andne/restls/blob/main/Restls-Script:%20%E9%9A%90%E8%97%8F%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%90%86%E8%A1%8C%E4%B8%BA.md + restls-script: "300?100<1,400~100,350~100,600~100,300~200,300~100" + + - name: "ss-restls-tls12" + type: ss + server: [YOUR_SERVER_IP] + port: 443 + cipher: chacha20-ietf-poly1305 + password: [YOUR_SS_PASSWORD] + client-fingerprint: + chrome # One of: chrome, ios, firefox or safari + # 可以是 chrome, ios, firefox, safari 中的一个 + plugin: restls + plugin-opts: + host: + "vscode.dev" # Must be a TLS 1.2 server + # 应当是一个 TLS 1.2 服务器 + password: [YOUR_RESTLS_PASSWORD] + version-hint: "tls12" + restls-script: "1000?100<1,500~100,350~100,600~100,400~200" + + # vmess + # cipher 支持 auto/aes-128-gcm/chacha20-poly1305/none + - name: "vmess" + type: vmess + server: server + port: 443 + uuid: uuid + alterId: 32 + cipher: auto + # udp: true + # tls: true + # fingerprint: xxxx + # client-fingerprint: chrome # Available: "chrome","firefox","safari","ios","random", currently only support TLS transport in TCP/GRPC/WS/HTTP for VLESS/Vmess and trojan. + # skip-cert-verify: true + # servername: example.com # priority over wss host + # network: ws + # ws-opts: + # path: /path + # headers: + # Host: v2ray.com + # max-early-data: 2048 + # early-data-header-name: Sec-WebSocket-Protocol + # v2ray-http-upgrade: false + # v2ray-http-upgrade-fast-open: false + + - name: "vmess-h2" + type: vmess + server: server + port: 443 + uuid: uuid + alterId: 32 + cipher: auto + network: h2 + tls: true + # fingerprint: xxxx + h2-opts: + host: + - http.example.com + - http-alt.example.com + path: / + + - name: "vmess-http" + type: vmess + server: server + port: 443 + uuid: uuid + alterId: 32 + cipher: auto + # udp: true + # network: http + # http-opts: + # method: "GET" + # path: + # - '/' + # - '/video' + # headers: + # Connection: + # - keep-alive + # ip-version: ipv4 # 设置使用 IP 类型偏好,可选:ipv4,ipv6,dual,默认值:dual + + - name: vmess-grpc + server: server + port: 443 + type: vmess + uuid: uuid + alterId: 32 + cipher: auto + network: grpc + tls: true + # fingerprint: xxxx + servername: example.com + # skip-cert-verify: true + grpc-opts: + grpc-service-name: "example" + # ip-version: ipv4 + + # vless + - name: "vless-tcp" + type: vless + server: server + port: 443 + uuid: uuid + network: tcp + servername: example.com # AKA SNI + # flow: xtls-rprx-direct # xtls-rprx-origin # enable XTLS + # skip-cert-verify: true + # fingerprint: xxxx + # client-fingerprint: random # Available: "chrome","firefox","safari","random","none" + + - name: "vless-vision" + type: vless + server: server + port: 443 + uuid: uuid + network: tcp + tls: true + udp: true + flow: xtls-rprx-vision + client-fingerprint: chrome + # fingerprint: xxxx + # skip-cert-verify: true + + - name: "vless-reality-vision" + type: vless + server: server + port: 443 + uuid: uuid + network: tcp + tls: true + udp: true + flow: xtls-rprx-vision + servername: www.microsoft.com # REALITY servername + reality-opts: + public-key: xxx + short-id: xxx # optional + client-fingerprint: chrome # cannot be empty + + - name: "vless-reality-grpc" + type: vless + server: server + port: 443 + uuid: uuid + network: grpc + tls: true + udp: true + flow: + # skip-cert-verify: true + client-fingerprint: chrome + servername: testingcf.jsdelivr.net + grpc-opts: + grpc-service-name: "grpc" + reality-opts: + public-key: CrrQSjAG_YkHLwvM2M-7XkKJilgL5upBKCp0od0tLhE + short-id: 10f897e26c4b9478 + + - name: "vless-ws" + type: vless + server: server + port: 443 + uuid: uuid + udp: true + tls: true + network: ws + # client-fingerprint: random # Available: "chrome","firefox","safari","random","none" + servername: example.com # priority over wss host + # skip-cert-verify: true + # fingerprint: xxxx + ws-opts: + path: "/" + headers: + Host: example.com + # v2ray-http-upgrade: false + # v2ray-http-upgrade-fast-open: false + + # Trojan + - name: "trojan" + type: trojan + server: server + port: 443 + password: yourpsk + # client-fingerprint: random # Available: "chrome","firefox","safari","random","none" + # fingerprint: xxxx + # udp: true + # sni: example.com # aka server name + # alpn: + # - h2 + # - http/1.1 + # skip-cert-verify: true + # ss-opts: # like trojan-go's `shadowsocks` config + # enabled: false + # method: aes-128-gcm # aes-128-gcm/aes-256-gcm/chacha20-ietf-poly1305 + # password: "example" + + - name: trojan-grpc + server: server + port: 443 + type: trojan + password: "example" + network: grpc + sni: example.com + # skip-cert-verify: true + # fingerprint: xxxx + udp: true + grpc-opts: + grpc-service-name: "example" + + - name: trojan-ws + server: server + port: 443 + type: trojan + password: "example" + network: ws + sni: example.com + # skip-cert-verify: true + # fingerprint: xxxx + udp: true + # ws-opts: + # path: /path + # headers: + # Host: example.com + # v2ray-http-upgrade: false + # v2ray-http-upgrade-fast-open: false + + - name: "trojan-xtls" + type: trojan + server: server + port: 443 + password: yourpsk + flow: "xtls-rprx-direct" # xtls-rprx-origin xtls-rprx-direct + flow-show: true + # udp: true + # sni: example.com # aka server name + # skip-cert-verify: true + # fingerprint: xxxx + + #hysteria + - name: "hysteria" + type: hysteria + server: server.com + port: 443 + # ports: 1000,2000-3000,5000 # port 不可省略 + auth-str: yourpassword + # obfs: obfs_str + # alpn: + # - h3 + protocol: udp # 支持 udp/wechat-video/faketcp + up: "30 Mbps" # 若不写单位,默认为 Mbps + down: "200 Mbps" # 若不写单位,默认为 Mbps + # sni: server.com + # skip-cert-verify: false + # recv-window-conn: 12582912 + # recv-window: 52428800 + # ca: "./my.ca" + # ca-str: "xyz" + # disable-mtu-discovery: false + # fingerprint: xxxx + # fast-open: true # 支持 TCP 快速打开,默认为 false + + #hysteria2 + - name: "hysteria2" + type: hysteria2 + server: server.com + port: 443 + # ports: 1000,2000-3000,5000 # port 不可省略 + # hop-interval: 15 + # up 和 down 均不写或为 0 则使用 BBR 流控 + # up: "30 Mbps" # 若不写单位,默认为 Mbps + # down: "200 Mbps" # 若不写单位,默认为 Mbps + password: yourpassword + # obfs: salamander # 默认为空,如果填写则开启 obfs,目前仅支持 salamander + # obfs-password: yourpassword + # sni: server.com + # skip-cert-verify: false + # fingerprint: xxxx + # alpn: + # - h3 + # ca: "./my.ca" + # ca-str: "xyz" + ###quic-go特殊配置项,不要随意修改除非你知道你在干什么### + # initial-stream-receive-window: 8388608 + # max-stream-receive-window: 8388608 + # initial-connection-receive-window: 20971520 + # max-connection-receive-window: 20971520 + + # wireguard + - name: "wg" + type: wireguard + server: 162.159.192.1 + port: 2480 + ip: 172.16.0.2 + ipv6: fd01:5ca1:ab1e:80fa:ab85:6eea:213f:f4a5 + public-key: Cr8hWlKvtDt7nrvf+f0brNQQzabAqrjfBvas9pmowjo= + # pre-shared-key: 31aIhAPwktDGpH4JDhA8GNvjFXEf/a6+UaQRyOAiyfM= + private-key: eCtXsJZ27+4PbhDkHnB923tkUn2Gj59wZw5wFA75MnU= + udp: true + reserved: "U4An" + # 数组格式也是合法的 + # reserved: [209,98,59] + # 一个出站代理的标识。当值不为空时,将使用指定的 proxy 发出连接 + # dialer-proxy: "ss1" + # remote-dns-resolve: true # 强制 dns 远程解析,默认值为 false + # dns: [ 1.1.1.1, 8.8.8.8 ] # 仅在 remote-dns-resolve 为 true 时生效 + # refresh-server-ip-interval: 60 # 重新解析server ip的间隔,单位为秒,默认值为0即仅第一次链接时解析server域名,仅应在server域名对应的IP会发生变化时启用该选项(如家宽ddns) + # 如果 peers 不为空,该段落中的 allowed-ips 不可为空;前面段落的 server,port,public-key,pre-shared-key 均会被忽略,但 private-key 会被保留且只能在顶层指定 + # peers: + # - server: 162.159.192.1 + # port: 2480 + # public-key: Cr8hWlKvtDt7nrvf+f0brNQQzabAqrjfBvas9pmowjo= + # # pre-shared-key: 31aIhAPwktDGpH4JDhA8GNvjFXEf/a6+UaQRyOAiyfM= + # allowed-ips: ['0.0.0.0/0'] + # reserved: [209,98,59] + # 如果存在则开启AmneziaWG功能 + # amnezia-wg-option: + # jc: 5 + # jmin: 500 + # jmax: 501 + # s1: 30 + # s2: 40 + # h1: 123456 + # h2: 67543 + # h4: 32345 + # h3: 123123 + + # tuic + - name: tuic + server: www.example.com + port: 10443 + type: tuic + # tuicV4 必须填写 token(不可同时填写 uuid 和 password) + token: TOKEN + # tuicV5 必须填写 uuid 和 password(不可同时填写 token) + uuid: 00000000-0000-0000-0000-000000000001 + password: PASSWORD_1 + # ip: 127.0.0.1 # for overwriting the DNS lookup result of the server address set in option 'server' + # heartbeat-interval: 10000 + # alpn: [h3] + disable-sni: true + reduce-rtt: true + request-timeout: 8000 + udp-relay-mode: native # Available: "native", "quic". Default: "native" + # congestion-controller: bbr # Available: "cubic", "new_reno", "bbr". Default: "cubic" + # cwnd: 10 # default: 32 + # max-udp-relay-packet-size: 1500 + # fast-open: true + # skip-cert-verify: true + # max-open-streams: 20 # default 100, too many open streams may hurt performance + # sni: example.com + # + # meta 和 sing-box 私有扩展,将 ss-uot 用于 udp 中继,开启此选项后 udp-relay-mode 将失效 + # 警告,与原版 tuic 不兼容!!! + # udp-over-stream: false + # udp-over-stream-version: 1 + + # ShadowsocksR + # The supported ciphers (encryption methods): all stream ciphers in ss + # The supported obfses: + # plain http_simple http_post + # random_head tls1.2_ticket_auth tls1.2_ticket_fastauth + # The supported protocols: + # origin auth_sha1_v4 auth_aes128_md5 + # auth_aes128_sha1 auth_chain_a auth_chain_b + - name: "ssr" + type: ssr + server: server + port: 443 + cipher: chacha20-ietf + password: "password" + obfs: tls1.2_ticket_auth + protocol: auth_sha1_v4 + # obfs-param: domain.tld + # protocol-param: "#" + # udp: true + + - name: "ssh-out" + type: ssh + + server: 127.0.0.1 + port: 22 + username: root + password: password + privateKey: path + + # mieru + - name: mieru + type: mieru + server: 1.2.3.4 + port: 2999 + # port-range: 2090-2099 #(不可同时填写 port 和 port-range) + transport: TCP # 只支持 TCP + username: user + password: password + # 可以使用的值包括 MULTIPLEXING_OFF, MULTIPLEXING_LOW, MULTIPLEXING_MIDDLE, MULTIPLEXING_HIGH。其中 MULTIPLEXING_OFF 会关闭多路复用功能。默认值为 MULTIPLEXING_LOW。 + # multiplexing: MULTIPLEXING_LOW + + # dns 出站会将请求劫持到内部 dns 模块,所有请求均在内部处理 + - name: "dns-out" + type: dns +proxy-groups: + # 代理链,目前 relay 可以支持 udp 的只有 vmess/vless/trojan/ss/ssr/tuic + # wireguard 目前不支持在 relay 中使用,请使用 proxy 中的 dialer-proxy 配置项 + # Traffic: mihomo <-> http <-> vmess <-> ss1 <-> ss2 <-> Internet + - name: "relay" + type: relay + proxies: + - http + - vmess + - ss1 + - ss2 + + # url-test 将按照 url 测试结果使用延迟最低节点 + - name: "auto" + type: url-test + proxies: + - ss1 + - ss2 + - vmess1 + # tolerance: 150 + # lazy: true + # expected-status: 204 # 当健康检查返回状态码与期望值不符时,认为节点不可用 + url: "https://cp.cloudflare.com/generate_204" + interval: 300 + + # fallback 将按照 url 测试结果按照节点顺序选择 + - name: "fallback-auto" + type: fallback + proxies: + - ss1 + - ss2 + - vmess1 + url: "https://cp.cloudflare.com/generate_204" + interval: 300 + + # load-balance 将按照算法随机选择节点 + - name: "load-balance" + type: load-balance + proxies: + - ss1 + - ss2 + - vmess1 + url: "https://cp.cloudflare.com/generate_204" + interval: 300 + # strategy: consistent-hashing # 可选 round-robin 和 sticky-sessions + + # select 用户自行选择节点 + - name: Proxy + type: select + # disable-udp: true + proxies: + - ss1 + - ss2 + - vmess1 + - auto + + # 配置指定 interface-name 和 fwmark 的 DIRECT + - name: en1 + type: select + interface-name: en1 + routing-mark: 6667 + proxies: + - DIRECT + + - name: UseProvider + type: select + filter: "HK|TW" # 正则表达式,过滤 provider1 中节点名包含 HK 或 TW + use: + - provider1 + proxies: + - Proxy + - DIRECT + +# Mihomo 格式的节点或支持 *ray 的分享格式 +proxy-providers: + provider1: + type: http # http 的 path 可空置,默认储存路径为 homedir 的 proxies 文件夹,文件名为 url 的 md5 + url: "url" + interval: 3600 + path: ./provider1.yaml # 默认只允许存储在 mihomo 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1 + proxy: DIRECT + # size-limit: 10240 # 限制下载文件最大为10kb,默认为0即不限制文件大小 + header: + User-Agent: + - "Clash/v1.18.0" + - "mihomo/1.18.3" + # Accept: + # - 'application/vnd.github.v3.raw' + # Authorization: + # - 'token 1231231' + health-check: + enable: true + interval: 600 + # lazy: true + url: https://cp.cloudflare.com/generate_204 + # expected-status: 204 # 当健康检查返回状态码与期望值不符时,认为节点不可用 + override: # 覆写节点加载时的一些配置项 + skip-cert-verify: true + udp: true + # down: "50 Mbps" + # up: "10 Mbps" + # dialer-proxy: proxy + # interface-name: tailscale0 + # routing-mark: 233 + # ip-version: ipv4-prefer + # additional-prefix: "[provider1]" + # additional-suffix: "test" + # # 名字替换,支持正则表达式 + # proxy-name: + # - pattern: "test" + # target: "TEST" + # - pattern: "IPLC-(.*?)倍" + # target: "iplc x $1" + + provider2: + type: inline + dialer-proxy: proxy + payload: + - name: "ss1" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + + test: + type: file + path: /test.yaml + health-check: + enable: true + interval: 36000 + url: https://cp.cloudflare.com/generate_204 +rule-providers: + rule1: + behavior: classical # domain ipcidr + interval: 259200 + path: /path/to/save/file.yaml # 默认只允许存储在 mihomo 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1 + type: http # http 的 path 可空置,默认储存路径为 homedir 的 rules 文件夹,文件名为 url 的 md5 + url: "url" + proxy: DIRECT + # size-limit: 10240 # 限制下载文件最大为10kb,默认为0即不限制文件大小 + rule2: + behavior: classical + interval: 259200 + path: /path/to/save/file.yaml + type: file + rule3: + # mrs类型ruleset,目前仅支持domain和ipcidr(即不支持classical), + # + # 对于behavior=domain: + # - format=yaml 可以通过“mihomo convert-ruleset domain yaml XXX.yaml XXX.mrs”转换到mrs格式 + # - format=text 可以通过“mihomo convert-ruleset domain text XXX.text XXX.mrs”转换到mrs格式 + # - XXX.mrs 可以通过"mihomo convert-ruleset domain mrs XXX.mrs XXX.text"转换回text格式(暂不支持转换回yaml格式) + # + # 对于behavior=ipcidr: + # - format=yaml 可以通过“mihomo convert-ruleset ipcidr yaml XXX.yaml XXX.mrs”转换到mrs格式 + # - format=text 可以通过“mihomo convert-ruleset ipcidr text XXX.text XXX.mrs”转换到mrs格式 + # - XXX.mrs 可以通过"mihomo convert-ruleset ipcidr mrs XXX.mrs XXX.text"转换回text格式(暂不支持转换回yaml格式) + # + type: http + url: "url" + format: mrs + behavior: domain + path: /path/to/save/file.mrs + rule4: + type: inline + behavior: domain # classical / ipcidr + payload: + - '.blogger.com' + - '*.*.microsoft.com' + - 'books.itunes.apple.com' + +rules: + - RULE-SET,rule1,REJECT + - IP-ASN,1,PROXY + - DOMAIN-REGEX,^abc,DIRECT + - DOMAIN-SUFFIX,baidu.com,DIRECT + - DOMAIN-KEYWORD,google,ss1 + - IP-CIDR,1.1.1.1/32,ss1 + - IP-CIDR6,2409::/64,DIRECT + # 当满足条件是 TCP 或 UDP 流量时,使用名为 sub-rule-name1 的规则集 + - SUB-RULE,(OR,((NETWORK,TCP),(NETWORK,UDP))),sub-rule-name1 + - SUB-RULE,(AND,((NETWORK,UDP))),sub-rule-name2 +# 定义多个子规则集,规则将以分叉匹配,使用 SUB-RULE 使用 +# google.com(not match)--> baidu.com(match) +# / | +# / | +# https://baidu.com --> rule1 --> rule2 --> sub-rule-name1(match tcp) 使用 DIRECT +# +# +# google.com(not match)--> baidu.com(not match) +# / | +# / | +# dns 1.1.1.1 --> rule1 --> rule2 --> sub-rule-name1(match udp) sub-rule-name2(match udp) +# | +# | +# 使用 REJECT <-- 1.1.1.1/32(match) +# + +sub-rules: + sub-rule-name1: + - DOMAIN,google.com,ss1 + - DOMAIN,baidu.com,DIRECT + sub-rule-name2: + - IP-CIDR,1.1.1.1/32,REJECT + - IP-CIDR,8.8.8.8/32,ss1 + - DOMAIN,dns.alidns.com,REJECT + +# 流量入站 +listeners: + - name: socks5-in-1 + type: socks + port: 10808 + #listen: 0.0.0.0 # 默认监听 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 + # udp: false # 默认 true + # users: # 如果不填写users项,则遵从全局authentication设置,如果填写会忽略全局设置, 如想跳过该入站的验证可填写 users: [] + # - username: aaa + # password: aaa + + - name: http-in-1 + type: http + port: 10809 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + # users: # 如果不填写users项,则遵从全局authentication设置,如果填写会忽略全局设置, 如想跳过该入站的验证可填写 users: [] + # - username: aaa + # password: aaa + + - name: mixed-in-1 + type: mixed # HTTP(S) 和 SOCKS 代理混合 + port: 10810 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + # udp: false # 默认 true + # users: # 如果不填写users项,则遵从全局authentication设置,如果填写会忽略全局设置, 如想跳过该入站的验证可填写 users: [] + # - username: aaa + # password: aaa + + - name: reidr-in-1 + type: redir + port: 10811 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + + - name: tproxy-in-1 + type: tproxy + port: 10812 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + # udp: false # 默认 true + + - name: shadowsocks-in-1 + type: shadowsocks + port: 10813 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + password: vlmpIPSyHH6f4S8WVPdRIHIlzmB+GIRfoH3aNJ/t9Gg= + cipher: 2022-blake3-aes-256-gcm + + - name: vmess-in-1 + type: vmess + port: 10814 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + users: + - username: 1 + uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68 + alterId: 1 + # ws-path: "/" # 如果不为空则开启 websocket 传输层 + # 下面两项如果填写则开启 tls(需要同时填写) + # certificate: ./server.crt + # private-key: ./server.key + # 如果填写reality-config则开启reality(注意不可与certificate和private-key同时填写) + # reality-config: + # dest: test.com:443 + # private-key: jNXHt1yRo0vDuchQlIP6Z0ZvjT3KtzVI-T4E7RoLJS0 # 可由 mihomo generate reality-keypair 命令生成 + # short-id: + # - 0123456789abcdef + # server-names: + # - test.com + + - name: tuic-in-1 + type: tuic + port: 10815 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + # token: # tuicV4 填写(可以同时填写 users) + # - TOKEN + # users: # tuicV5 填写(可以同时填写 token) + # 00000000-0000-0000-0000-000000000000: PASSWORD_0 + # 00000000-0000-0000-0000-000000000001: PASSWORD_1 + # certificate: ./server.crt + # private-key: ./server.key + # congestion-controller: bbr + # max-idle-time: 15000 + # authentication-timeout: 1000 + # alpn: + # - h3 + # max-udp-relay-packet-size: 1500 + + - name: tunnel-in-1 + type: tunnel + port: 10816 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + network: [tcp, udp] + target: target.com + + - name: vless-in-1 + type: vless + port: 10817 + listen: 0.0.0.0 + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + users: + - username: 1 + uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68 + flow: xtls-rprx-vision + # ws-path: "/" # 如果不为空则开启 websocket 传输层 + # 下面两项如果填写则开启 tls(需要同时填写) + # certificate: ./server.crt + # private-key: ./server.key + # 如果填写reality-config则开启reality(注意不可与certificate和private-key同时填写) + reality-config: + dest: test.com:443 + private-key: jNXHt1yRo0vDuchQlIP6Z0ZvjT3KtzVI-T4E7RoLJS0 # 可由 mihomo generate reality-keypair 命令生成 + short-id: + - 0123456789abcdef + server-names: + - test.com + ### 注意,对于vless listener, 至少需要填写 “certificate和private-key” 或 “reality-config” 的其中一项 ### + + - name: tun-in-1 + type: tun + # rule: sub-rule-name1 # 默认使用 rules,如果未找到 sub-rule 则直接使用 rules + # proxy: proxy # 如果不为空则直接将该入站流量交由指定 proxy 处理 (当 proxy 不为空时,这里的 proxy 名称必须合法,否则会出错) + stack: system # gvisor / mixed + dns-hijack: + - 0.0.0.0:53 # 需要劫持的 DNS + # auto-detect-interface: false # 自动识别出口网卡 + # auto-route: false # 配置路由表 + # mtu: 9000 # 最大传输单元 + inet4-address: # 必须手动设置 ipv4 地址段 + - 198.19.0.1/30 + inet6-address: # 必须手动设置 ipv6 地址段 + - "fdfe:dcba:9877::1/126" + # strict-route: true # 将所有连接路由到 tun 来防止泄漏,但你的设备将无法其他设备被访问 + # inet4-route-address: # 启用 auto-route 时使用自定义路由而不是默认路由 + # - 0.0.0.0/1 + # - 128.0.0.0/1 + # inet6-route-address: # 启用 auto-route 时使用自定义路由而不是默认路由 + # - "::/1" + # - "8000::/1" + # endpoint-independent-nat: false # 启用独立于端点的 NAT + # include-uid: # UID 规则仅在 Linux 下被支持,并且需要 auto-route + # - 0 + # include-uid-range: # 限制被路由的的用户范围 + # - 1000:99999 + # exclude-uid: # 排除路由的的用户 + # - 1000 + # exclude-uid-range: # 排除路由的的用户范围 + # - 1000:99999 + + # Android 用户和应用规则仅在 Android 下被支持 + # 并且需要 auto-route + + # include-android-user: # 限制被路由的 Android 用户 + # - 0 + # - 10 + # include-package: # 限制被路由的 Android 应用包名 + # - com.android.chrome + # exclude-package: # 排除被路由的 Android 应用包名 + # - com.android.captiveportallogin +# 入口配置与 Listener 等价,传入流量将和 socks,mixed 等入口一样按照 mode 所指定的方式进行匹配处理 +# shadowsocks,vmess 入口配置(传入流量将和 socks,mixed 等入口一样按照 mode 所指定的方式进行匹配处理) +# ss-config: ss://2022-blake3-aes-256-gcm:vlmpIPSyHH6f4S8WVPdRIHIlzmB+GIRfoH3aNJ/t9Gg=@:23456 +# vmess-config: vmess://1:9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68@:12345 + +# tuic 服务器入口(传入流量将和 socks,mixed 等入口一样按照 mode 所指定的方式进行匹配处理) +# tuic-server: +# enable: true +# listen: 127.0.0.1:10443 +# token: # tuicV4 填写(可以同时填写 users) +# - TOKEN +# users: # tuicV5 填写(可以同时填写 token) +# 00000000-0000-0000-0000-000000000000: PASSWORD_0 +# 00000000-0000-0000-0000-000000000001: PASSWORD_1 +# certificate: ./server.crt +# private-key: ./server.key +# congestion-controller: bbr +# max-idle-time: 15000 +# authentication-timeout: 1000 +# alpn: +# - h3 +# max-udp-relay-packet-size: 1500 \ No newline at end of file diff --git a/src/main/resources/clash.yml b/src/main/resources/clash.yml new file mode 100644 index 0000000..db54fa9 --- /dev/null +++ b/src/main/resources/clash.yml @@ -0,0 +1,203 @@ +port: 7890 # HTTP(S) 代理服务器端口 +socks-port: 7891 # SOCKS5 代理端口 +mixed-port: 10801 # HTTP(S) 和 SOCKS 代理混合端口 +allow-lan: true # 允许局域网连接 +bind-address: "*" # 绑定 IP 地址,仅作用于 allow-lan 为 true,'*'表示所有地址 +authentication: # http,socks 入口的验证用户名,密码 + - "username:password" +skip-auth-prefixes: # 设置跳过验证的 IP 段 + - 127.0.0.1/8 + - ::1/128 +lan-allowed-ips: # 允许连接的 IP 地址段,仅作用于 allow-lan 为 true, 默认值为 0.0.0.0/0 和::/0 + - 0.0.0.0/0 + - ::/0 +lan-disallowed-ips: # 禁止连接的 IP 地址段,黑名单优先级高于白名单,默认值为空 + - 192.168.0.3/32 +find-process-mode: strict +mode: rule +geox-url: + geoip: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat" + geosite: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat" + mmdb: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb" +geo-auto-update: false # 是否自动更新 geodata +geo-update-interval: 24 # 更新间隔,单位:小时 +log-level: debug # 日志等级 silent/error/warning/info/debug +ipv6: true # 开启 IPv6 总开关,关闭阻断所有 IPv6 链接和屏蔽 DNS 请求 AAAA 记录 +tls: + certificate: string # 证书 PEM 格式,或者 证书的路径 + private-key: string # 证书对应的私钥 PEM 格式,或者私钥路径 +external-controller: 0.0.0.0:9093 # RESTful API 监听地址 +external-controller-tls: 0.0.0.0:9443 # RESTful API HTTPS 监听地址,需要配置 tls 部分配置文件 +external-controller-cors: + allow-origins: + - * + allow-private-network: true +external-controller-unix: mihomo.sock +external-controller-pipe: \\.\pipe\mihomo +external-ui: /path/to/ui/folder/ +external-ui-name: xd +external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip" +external-doh-server: /dns-query +global-client-fingerprint: chrome +experimental: + # Disable quic-go GSO support. This may result in reduced performance on Linux. + # Only users encountering issues with quic-go's internal implementation should enable this, + # and they should disable it as soon as the issue is resolved. + # This field will be removed when quic-go fixes all their issues in GSO. + quic-go-disable-gso: false # enabled +hosts: +profile: + store-selected: false + store-fake-ip: true +tun: + enable: false + stack: system # gvisor/mixed + dns-hijack: + - 0.0.0.0:53 # 需要劫持的 DNS + auto-redirect: false # 自动配置 iptables 以重定向 TCP 连接。仅支持 Linux。带有 auto-redirect 的 auto-route 现在可以在路由器上按预期工作,无需干预。 +sniffer: + enable: false + override-destination: false + sniff: + HTTP: + ports: [80, 8080-8880] + override-destination: true + QUIC: + ports: [ 443 ] + TLS: + ports: [443, 8443] + force-domain: + - +.v2ex.com + sniffing: + - tls + - http +tunnels: + - tcp/udp,127.0.0.1:6553,114.114.114.114:53,proxy + - tcp,127.0.0.1:6666,rds.mysql.com:3306,vpn +dns: + cache-algorithm: arc + enable: false # 关闭将使用系统 DNS + prefer-h3: false # 是否开启 DoH 支持 HTTP/3,将并发尝试 + listen: 0.0.0.0:53 # 开启 DNS 服务器监听 + default-nameserver: + - 114.114.114.114 + - 8.8.8.8 + - tls://1.12.12.12:853 + - tls://223.5.5.5:853 + enhanced-mode: fake-ip # or redir-host + fake-ip-range: 198.18.0.1/16 # fake-ip 池设置 + fake-ip-filter: + - '*.lan' + - localhost.ptlogin2.qq.com + fake-ip-filter-mode: blacklist + respect-rules: false + nameserver: + - 114.114.114.114 + - 8.8.8.8 + - tls://223.5.5.5:853 + - https://doh.pub/dns-query + nameserver-policy: + "geosite:cn,private,apple": + - https://doh.pub/dns-query + - https://dns.alidns.com/dns-query + "geosite:category-ads-all": rcode://success + "www.baidu.com,+.google.cn": [223.5.5.5, https://dns.alidns.com/dns-query] +proxies: + - name: "socks" + type: socks5 + server: server + port: 443 + - name: "http" + type: http + server: server + port: 443 + - name: "snell" + type: snell + server: server + port: 44046 + psk: yourpsk + - name: "ss1" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + - name: "ss2" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + plugin: obfs + plugin-opts: + mode: tls + - name: "ss3" + type: ss + server: server + port: 443 + cipher: chacha20-ietf-poly1305 + password: "password" + plugin: v2ray-plugin + plugin-opts: + mode: websocket + - name: "vmess" + type: vmess + server: server + port: 443 + uuid: uuid + alterId: 32 + cipher: auto + - name: "vless-tcp" + type: vless + server: server + port: 443 + uuid: uuid + network: tcp + servername: example.com + - name: "trojan" + type: trojan + server: server + port: 443 + password: yourpsk +proxy-groups: + - name: "auto" + type: url-test + proxies: + - ss1 + - ss2 + - vmess1 + url: "https://cp.cloudflare.com/generate_204" + interval: 300 +listeners: + - name: socks5-in-1 + type: socks + port: 10808 + - name: http-in-1 + type: http + port: 10809 + listen: 0.0.0.0 + - name: mixed-in-1 + type: mixed + port: 10810 + listen: 0.0.0.0 + - name: shadowsocks-in-1 + type: shadowsocks + port: 10813 + listen: 0.0.0.0 + password: vlmpIPSyHH6f4S8WVPdRIHIlzmB+GIRfoH3aNJ/t9Gg= + cipher: 2022-blake3-aes-256-gcm + - name: vmess-in-1 + type: vmess + port: 10814 + listen: 0.0.0.0 + users: + - username: 1 + uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68 + alterId: 1 + - name: vless-in-1 + type: vless + port: 10817 + listen: 0.0.0.0 + users: + - username: 1 + uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68 \ No newline at end of file diff --git a/src/main/resources/gougou.yaml b/src/main/resources/gougou.yaml new file mode 100644 index 0000000..f18e488 --- /dev/null +++ b/src/main/resources/gougou.yaml @@ -0,0 +1,794 @@ +mixed-port: 7896 +allow-lan: false +mode: rule +log-level: info +external-controller: '127.0.0.1:9097' +unified-delay: true +profile: + store-selected: true +tun: + mtu: 1500 +dns: + enable: true + use-system-hosts: false + listen: '127.0.0.1:5335' + default-nameserver: [180.76.76.76, 182.254.118.118, 8.8.8.8, 180.184.2.2] + enhanced-mode: fake-ip + fake-ip-range: 198.18.0.1/16 + fake-ip-filter: ['*.lan', 'stun.*.*.*', 'stun.*.*', time.windows.com, time.nist.gov, time.apple.com, time.asia.apple.com, '*.ntp.org.cn', '*.openwrt.pool.ntp.org', time1.cloud.tencent.com, time.ustc.edu.cn, pool.ntp.org, ntp.ubuntu.com, ntp.aliyun.com, ntp1.aliyun.com, ntp2.aliyun.com, ntp3.aliyun.com, ntp4.aliyun.com, ntp5.aliyun.com, ntp6.aliyun.com, ntp7.aliyun.com, time1.aliyun.com, time2.aliyun.com, time3.aliyun.com, time4.aliyun.com, time5.aliyun.com, time6.aliyun.com, time7.aliyun.com, '*.time.edu.cn', time1.apple.com, time2.apple.com, time3.apple.com, time4.apple.com, time5.apple.com, time6.apple.com, time7.apple.com, time1.google.com, time2.google.com, time3.google.com, time4.google.com, music.163.com, '*.music.163.com', '*.126.net', musicapi.taihe.com, music.taihe.com, songsearch.kugou.com, trackercdn.kugou.com, '*.kuwo.cn', api-jooxtt.sanook.com, api.joox.com, joox.com, y.qq.com, '*.y.qq.com', streamoc.music.tc.qq.com, mobileoc.music.tc.qq.com, isure.stream.qqmusic.qq.com, dl.stream.qqmusic.qq.com, aqqmusic.tc.qq.com, amobile.music.tc.qq.com, '*.xiami.com', '*.music.migu.cn', music.migu.cn, '*.msftconnecttest.com', '*.msftncsi.com', localhost.ptlogin2.qq.com, '*.*.*.srv.nintendo.net', '*.*.stun.playstation.net', 'xbox.*.*.microsoft.com', '*.ipv6.microsoft.com', '*.*.xboxlive.com', speedtest.cros.wr.pvp.net] + nameserver: [180.76.76.76, 119.29.29.29, 180.184.1.1, 223.5.5.5, 8.8.8.8, 'https://223.6.6.6/dns-query#h3=true', 'https://223.5.5.5/dns-query', 'https://cloudflare-dns.com/dns-query', 'https://doh.pub/dns-query'] + fallback: ['https://000000.dns.nextdns.io/dns-query#h3=true', 'https://101.101.101.101/dns-query', 'https://208.67.220.220/dns-query', 'tls://8.8.4.4', 'tls://1.0.0.1:853', 'https://cloudflare-dns.com/dns-query', 'https://dns.google/dns-query'] + fallback-filter: { geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32, 127.0.0.1/32], domain: [+.google.com, +.facebook.com, +.twitter.com, +.youtube.com, +.xn--ngstr-lra8j.com, +.google.cn, +.googleapis.cn, +.googleapis.com, +.gvt1.com] } +proxies: + - { name: '🌏自动最优线路(hy2)-网址: www.dg6.me', type: hysteria2, server: cluster.prometheusnet01.xyz, port: 21344, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇯🇵7日本-联通/移动(hy2), type: hysteria2, server: 7jp.prometheusnet01.xyz, port: 21681, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇯🇵10日本-全网优化(hy2), type: hysteria2, server: 10jp.prometheusnet01.xyz, port: 22829, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇰🇷8韩国集群-全网优化(hy2), type: hysteria2, server: 8kr.prometheusnet01.xyz, port: 24748, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇰🇷9韩国-全网优化(hy2), type: hysteria2, server: 9kr.prometheusnet01.xyz, port: 22479, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇰🇷25韩国-全网优化(hy2), type: hysteria2, server: 25kr.prometheusnet01.xyz, port: 24108, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇺🇸11美国西集群-全网优化(hy2), type: hysteria2, server: 11us.prometheusnet01.xyz, port: 21199, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇺🇸12美国凤凰城-全网优化(hy2), type: hysteria2, server: 12us.prometheusnet01.xyz, port: 25057, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇺🇸29美国芝加哥-全网优化(hy2), type: hysteria2, server: 29us.prometheusnet01.xyz, port: 23736, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇦🇪13迪拜-电信/移动/南方联通(hy2), type: hysteria2, server: 13dxb.prometheusnet01.xyz, port: 25640, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇮🇳14印度-移动/南方联通(hy2), type: hysteria2, server: 14in.prometheusnet01.xyz, port: 21107, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇸🇬15新加坡-全网优化(hy2), type: hysteria2, server: 15sg.prometheusnet01.xyz, port: 25987, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇸🇬24新加坡-联通/移动(hy2), type: hysteria2, server: 24sg.prometheusnet01.xyz, port: 22964, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇩🇪16德国-电信/联通(hy2), type: hysteria2, server: 16de.prometheusnet01.xyz, port: 24661, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇬🇧17英国-全网优化(hy2), type: hysteria2, server: 17uk.prometheusnet01.xyz, port: 21576, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇨🇦18加拿大-全网优化(hy2), type: hysteria2, server: 18ca.prometheusnet01.xyz, port: 22048, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇨🇦26加拿大-全网优化(hy2), type: hysteria2, server: 26ca.prometheusnet01.xyz, port: 23211, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇦🇺19澳洲-移动优化(hy2), type: hysteria2, server: 19sdy.prometheusnet01.xyz, port: 25403, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇧🇷20巴西-全网优化(hy2), type: hysteria2, server: 20br.prometheusnet01.xyz, port: 25032, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇨🇱21智利-全网优化(hy2), type: hysteria2, server: 21chi.prometheusnet01.xyz, port: 23285, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇫🇷23法国-全网优化(hy2), type: hysteria2, server: 23fr.prometheusnet01.xyz, port: 25092, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇲🇽27墨西哥-全网优化(hy2), type: hysteria2, server: 27mx.prometheusnet01.xyz, port: 25053, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇳🇱28荷兰-全网优化(hy2), type: hysteria2, server: 28nl.prometheusnet01.xyz, port: 24130, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇪🇸31西班牙-全网优化(hy2), type: hysteria2, server: 31es.prometheusnet01.xyz, port: 22435, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇷🇺32俄罗斯-全网优化(hy2), type: hysteria2, server: 32ru.prometheusnet01.xyz, port: 23647, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇭🇰1香港集群-全网优化(hy2)(限速30M), type: hysteria2, server: 1hk.prometheusnet01.xyz, port: 24857, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, up: 50, down: 100, skip-cert-verify: true } + - { name: 🇭🇰2香港集群-全网优化(hy2)(限速30M), type: hysteria2, server: 2hk.prometheusnet01.xyz, port: 21263, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, up: 30, down: 30, skip-cert-verify: true } + - { name: 🇭🇰3香港集群-全网优化(hy2), type: hysteria2, server: 3hk.prometheusnet01.xyz, port: 25280, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, up: 50, down: 100, skip-cert-verify: true } + - { name: 🇨🇳4台湾-联通优化(hy2), type: hysteria2, server: 4tw.prometheusnet01.xyz, port: 23064, ports: 21000-26000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: 🇨🇳5台湾-联通/移动(hy2), type: hysteria2, server: 5tw.prometheusnet01.xyz, port: 51184, ports: 50001-55000, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, skip-cert-verify: true } + - { name: '🌏自动最优线路(新协议)-网址: www.dg6.me', type: hysteria, server: cluster.prometheusnet01.xyz, port: 9649, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇯🇵10日本-全网优化(新协议), type: hysteria, server: 10jp.prometheusnet01.xyz, port: 6064, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: false, skip-cert-verify: true } + - { name: 🇯🇵10日本-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17910, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇰🇷8韩国-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17908, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇰🇷9韩国-全网优化(新协议), type: hysteria, server: 9kr.prometheusnet01.xyz, port: 6141, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇰🇷9韩国-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17909, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇰🇷25韩国-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17925, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇺🇸11美国西集群-全网优化(新协议), type: hysteria, server: 11us.prometheusnet01.xyz, port: 5802, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇺🇸11美国西集群-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17911, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇺🇸12美国凤凰城-ChatGPT(新协议), type: hysteria, server: 12us.prometheusnet01.xyz, port: 6430, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇺🇸12美国凤凰城-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17912, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇮🇳14印度-移动/南方联通(新协议), type: hysteria, server: 14in.prometheusnet01.xyz, port: 9083, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇸🇬15新加坡-全网优化(新协议), type: hysteria, server: 15sg.prometheusnet01.xyz, port: 7982, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: false, skip-cert-verify: true } + - { name: 🇸🇬15新加坡-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17915, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇸🇬24新加坡-联通/移动(新协议), type: hysteria, server: 24sg.prometheusnet01.xyz, port: 9834, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: false, skip-cert-verify: true } + - { name: 🇸🇬24新加坡-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17924, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇩🇪16德国-电信/联通(新协议), type: hysteria, server: 16de.prometheusnet01.xyz, port: 8104, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇬🇧17英国-ChatGPT(新协议), type: hysteria, server: 17uk.prometheusnet01.xyz, port: 6072, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇨🇦18加拿大-ChatGPT(新协议), type: hysteria, server: 18ca.prometheusnet01.xyz, port: 9283, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇨🇦26加拿大-ChatGPT(新协议), type: hysteria, server: 26ca.prometheusnet01.xyz, port: 7125, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇦🇺19澳洲-ChatGPT(新协议), type: hysteria, server: 19sdy.prometheusnet01.xyz, port: 9798, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: false, skip-cert-verify: true } + - { name: 🇦🇺19澳洲-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17919, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇭🇰1香港-专线(ss), type: ss, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17880, cipher: chacha20-ietf-poly1305, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true } + - { name: 🇭🇰2香港-专线(ss), type: ss, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17889, cipher: chacha20-ietf-poly1305, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true } + - { name: 🇭🇰1香港-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17901, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇭🇰2香港-专线(TCP), type: trojan, server: dnsmart.dg-cdn.mob.networklinkpro.com, port: 17902, password: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, udp: true, skip-cert-verify: true, network: ws } + - { name: 🇧🇷20巴西-ChatGPT(新协议), type: hysteria, server: 20br.prometheusnet01.xyz, port: 9486, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇨🇱21智利-ChatGPT(新协议), type: hysteria, server: 21chi.prometheusnet01.xyz, port: 7589, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇫🇷23法国-全网优化(新协议), type: hysteria, server: 23fr.prometheusnet01.xyz, port: 7757, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇲🇽27墨西哥-全网优化(新协议), type: hysteria, server: 27mx.prometheusnet01.xyz, port: 6986, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇳🇱28荷兰-全网优化(新协议), type: hysteria, server: 28nl.prometheusnet01.xyz, port: 8880, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇪🇸31西班牙-全网优化(新协议), type: hysteria, server: 31es.prometheusnet01.xyz, port: 6740, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇷🇺32俄罗斯-全网优化(新协议), type: hysteria, server: 32ru.prometheusnet01.xyz, port: 8472, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇭🇰1香港集群-全网优化(新协议)(限速30M), type: hysteria, server: 1hk.prometheusnet01.xyz, port: 8341, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 50, down: 100, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇭🇰2香港集群-全网优化(新协议)(限速30M), type: hysteria, server: 2hk.prometheusnet01.xyz, port: 6507, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 50, down: 100, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇭🇰3香港集群-全网优化(新协议), type: hysteria, server: 3hk.prometheusnet01.xyz, port: 9418, ports: 5000-10000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 50, down: 100, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } + - { name: 🇨🇳5台湾-联通/移动(新协议), type: hysteria, server: 5tw.prometheusnet01.xyz, port: 40290, ports: 40001-45000, auth_str: 4e9a52a5-379e-4952-93da-f01ba7c2ff89, alpn: [h3], protocol: udp, up: 70, down: 150, fast-open: true, disable_mtu_discovery: true, skip-cert-verify: true } +proxy-groups: + - { name: 狗狗加速.com, type: select, proxies: [♻️自动选择, 🔯故障转移, Hysteria2, ⚡新协议, 🐴Trojan, ✈️Shadowsocks, 🔥ChatGPT, '🌏自动最优线路(hy2)-网址: www.dg6.me', 🇯🇵7日本-联通/移动(hy2), 🇯🇵10日本-全网优化(hy2), 🇰🇷8韩国集群-全网优化(hy2), 🇰🇷9韩国-全网优化(hy2), 🇰🇷25韩国-全网优化(hy2), 🇺🇸11美国西集群-全网优化(hy2), 🇺🇸12美国凤凰城-全网优化(hy2), 🇺🇸29美国芝加哥-全网优化(hy2), 🇦🇪13迪拜-电信/移动/南方联通(hy2), 🇮🇳14印度-移动/南方联通(hy2), 🇸🇬15新加坡-全网优化(hy2), 🇸🇬24新加坡-联通/移动(hy2), 🇩🇪16德国-电信/联通(hy2), 🇬🇧17英国-全网优化(hy2), 🇨🇦18加拿大-全网优化(hy2), 🇨🇦26加拿大-全网优化(hy2), 🇦🇺19澳洲-移动优化(hy2), 🇧🇷20巴西-全网优化(hy2), 🇨🇱21智利-全网优化(hy2), 🇫🇷23法国-全网优化(hy2), 🇲🇽27墨西哥-全网优化(hy2), 🇳🇱28荷兰-全网优化(hy2), 🇪🇸31西班牙-全网优化(hy2), 🇷🇺32俄罗斯-全网优化(hy2), 🇭🇰1香港集群-全网优化(hy2)(限速30M), 🇭🇰2香港集群-全网优化(hy2)(限速30M), 🇭🇰3香港集群-全网优化(hy2), 🇨🇳4台湾-联通优化(hy2), 🇨🇳5台湾-联通/移动(hy2), '🌏自动最优线路(新协议)-网址: www.dg6.me', 🇯🇵10日本-全网优化(新协议), 🇯🇵10日本-专线(TCP), 🇰🇷8韩国-专线(TCP), 🇰🇷9韩国-全网优化(新协议), 🇰🇷9韩国-专线(TCP), 🇰🇷25韩国-专线(TCP), 🇺🇸11美国西集群-全网优化(新协议), 🇺🇸11美国西集群-专线(TCP), 🇺🇸12美国凤凰城-ChatGPT(新协议), 🇺🇸12美国凤凰城-专线(TCP), 🇮🇳14印度-移动/南方联通(新协议), 🇸🇬15新加坡-全网优化(新协议), 🇸🇬15新加坡-专线(TCP), 🇸🇬24新加坡-联通/移动(新协议), 🇸🇬24新加坡-专线(TCP), 🇩🇪16德国-电信/联通(新协议), 🇬🇧17英国-ChatGPT(新协议), 🇨🇦18加拿大-ChatGPT(新协议), 🇨🇦26加拿大-ChatGPT(新协议), 🇦🇺19澳洲-ChatGPT(新协议), 🇦🇺19澳洲-专线(TCP), 🇭🇰1香港-专线(ss), 🇭🇰2香港-专线(ss), 🇭🇰1香港-专线(TCP), 🇭🇰2香港-专线(TCP), 🇧🇷20巴西-ChatGPT(新协议), 🇨🇱21智利-ChatGPT(新协议), 🇫🇷23法国-全网优化(新协议), 🇲🇽27墨西哥-全网优化(新协议), 🇳🇱28荷兰-全网优化(新协议), 🇪🇸31西班牙-全网优化(新协议), 🇷🇺32俄罗斯-全网优化(新协议), 🇭🇰1香港集群-全网优化(新协议)(限速30M), 🇭🇰2香港集群-全网优化(新协议)(限速30M), 🇭🇰3香港集群-全网优化(新协议), 🇨🇳5台湾-联通/移动(新协议)] } + - { name: ♻️自动选择, type: url-test, proxies: ['🌏自动最优线路(hy2)-网址: www.dg6.me', 🇯🇵7日本-联通/移动(hy2), 🇯🇵10日本-全网优化(hy2), 🇰🇷8韩国集群-全网优化(hy2), 🇰🇷9韩国-全网优化(hy2), 🇰🇷25韩国-全网优化(hy2), 🇺🇸11美国西集群-全网优化(hy2), 🇺🇸12美国凤凰城-全网优化(hy2), 🇺🇸29美国芝加哥-全网优化(hy2), 🇦🇪13迪拜-电信/移动/南方联通(hy2), 🇮🇳14印度-移动/南方联通(hy2), 🇸🇬15新加坡-全网优化(hy2), 🇸🇬24新加坡-联通/移动(hy2), 🇩🇪16德国-电信/联通(hy2), 🇬🇧17英国-全网优化(hy2), 🇨🇦18加拿大-全网优化(hy2), 🇨🇦26加拿大-全网优化(hy2), 🇦🇺19澳洲-移动优化(hy2), 🇧🇷20巴西-全网优化(hy2), 🇨🇱21智利-全网优化(hy2), 🇫🇷23法国-全网优化(hy2), 🇲🇽27墨西哥-全网优化(hy2), 🇳🇱28荷兰-全网优化(hy2), 🇪🇸31西班牙-全网优化(hy2), 🇷🇺32俄罗斯-全网优化(hy2), 🇭🇰1香港集群-全网优化(hy2)(限速30M), 🇭🇰2香港集群-全网优化(hy2)(限速30M), 🇭🇰3香港集群-全网优化(hy2), 🇨🇳4台湾-联通优化(hy2), 🇨🇳5台湾-联通/移动(hy2), '🌏自动最优线路(新协议)-网址: www.dg6.me', 🇯🇵10日本-全网优化(新协议), 🇯🇵10日本-专线(TCP), 🇰🇷8韩国-专线(TCP), 🇰🇷9韩国-全网优化(新协议), 🇰🇷9韩国-专线(TCP), 🇰🇷25韩国-专线(TCP), 🇺🇸11美国西集群-全网优化(新协议), 🇺🇸11美国西集群-专线(TCP), 🇺🇸12美国凤凰城-ChatGPT(新协议), 🇺🇸12美国凤凰城-专线(TCP), 🇮🇳14印度-移动/南方联通(新协议), 🇸🇬15新加坡-全网优化(新协议), 🇸🇬15新加坡-专线(TCP), 🇸🇬24新加坡-联通/移动(新协议), 🇸🇬24新加坡-专线(TCP), 🇩🇪16德国-电信/联通(新协议), 🇬🇧17英国-ChatGPT(新协议), 🇨🇦18加拿大-ChatGPT(新协议), 🇨🇦26加拿大-ChatGPT(新协议), 🇦🇺19澳洲-ChatGPT(新协议), 🇦🇺19澳洲-专线(TCP), 🇭🇰1香港-专线(ss), 🇭🇰2香港-专线(ss), 🇭🇰1香港-专线(TCP), 🇭🇰2香港-专线(TCP), 🇧🇷20巴西-ChatGPT(新协议), 🇨🇱21智利-ChatGPT(新协议), 🇫🇷23法国-全网优化(新协议), 🇲🇽27墨西哥-全网优化(新协议), 🇳🇱28荷兰-全网优化(新协议), 🇪🇸31西班牙-全网优化(新协议), 🇷🇺32俄罗斯-全网优化(新协议), 🇭🇰1香港集群-全网优化(新协议)(限速30M), 🇭🇰2香港集群-全网优化(新协议)(限速30M), 🇭🇰3香港集群-全网优化(新协议), 🇨🇳5台湾-联通/移动(新协议)], url: 'http://1.1.1.1', interval: 600 } + - { name: 🔯故障转移, type: fallback, proxies: ['🌏自动最优线路(hy2)-网址: www.dg6.me', 🇯🇵7日本-联通/移动(hy2), 🇯🇵10日本-全网优化(hy2), 🇰🇷8韩国集群-全网优化(hy2), 🇰🇷9韩国-全网优化(hy2), 🇰🇷25韩国-全网优化(hy2), 🇺🇸11美国西集群-全网优化(hy2), 🇺🇸12美国凤凰城-全网优化(hy2), 🇺🇸29美国芝加哥-全网优化(hy2), 🇦🇪13迪拜-电信/移动/南方联通(hy2), 🇮🇳14印度-移动/南方联通(hy2), 🇸🇬15新加坡-全网优化(hy2), 🇸🇬24新加坡-联通/移动(hy2), 🇩🇪16德国-电信/联通(hy2), 🇬🇧17英国-全网优化(hy2), 🇨🇦18加拿大-全网优化(hy2), 🇨🇦26加拿大-全网优化(hy2), 🇦🇺19澳洲-移动优化(hy2), 🇧🇷20巴西-全网优化(hy2), 🇨🇱21智利-全网优化(hy2), 🇫🇷23法国-全网优化(hy2), 🇲🇽27墨西哥-全网优化(hy2), 🇳🇱28荷兰-全网优化(hy2), 🇪🇸31西班牙-全网优化(hy2), 🇷🇺32俄罗斯-全网优化(hy2), 🇭🇰1香港集群-全网优化(hy2)(限速30M), 🇭🇰2香港集群-全网优化(hy2)(限速30M), 🇭🇰3香港集群-全网优化(hy2), 🇨🇳4台湾-联通优化(hy2), 🇨🇳5台湾-联通/移动(hy2), '🌏自动最优线路(新协议)-网址: www.dg6.me', 🇯🇵10日本-全网优化(新协议), 🇯🇵10日本-专线(TCP), 🇰🇷8韩国-专线(TCP), 🇰🇷9韩国-全网优化(新协议), 🇰🇷9韩国-专线(TCP), 🇰🇷25韩国-专线(TCP), 🇺🇸11美国西集群-全网优化(新协议), 🇺🇸11美国西集群-专线(TCP), 🇺🇸12美国凤凰城-ChatGPT(新协议), 🇺🇸12美国凤凰城-专线(TCP), 🇮🇳14印度-移动/南方联通(新协议), 🇸🇬15新加坡-全网优化(新协议), 🇸🇬15新加坡-专线(TCP), 🇸🇬24新加坡-联通/移动(新协议), 🇸🇬24新加坡-专线(TCP), 🇩🇪16德国-电信/联通(新协议), 🇬🇧17英国-ChatGPT(新协议), 🇨🇦18加拿大-ChatGPT(新协议), 🇨🇦26加拿大-ChatGPT(新协议), 🇦🇺19澳洲-ChatGPT(新协议), 🇦🇺19澳洲-专线(TCP), 🇭🇰1香港-专线(ss), 🇭🇰2香港-专线(ss), 🇭🇰1香港-专线(TCP), 🇭🇰2香港-专线(TCP), 🇧🇷20巴西-ChatGPT(新协议), 🇨🇱21智利-ChatGPT(新协议), 🇫🇷23法国-全网优化(新协议), 🇲🇽27墨西哥-全网优化(新协议), 🇳🇱28荷兰-全网优化(新协议), 🇪🇸31西班牙-全网优化(新协议), 🇷🇺32俄罗斯-全网优化(新协议), 🇭🇰1香港集群-全网优化(新协议)(限速30M), 🇭🇰2香港集群-全网优化(新协议)(限速30M), 🇭🇰3香港集群-全网优化(新协议), 🇨🇳5台湾-联通/移动(新协议)], url: 'http://1.1.1.1', interval: 450 } + - { name: 🔥ChatGPT, type: select, proxies: ['🌏自动最优线路(hy2)-网址: www.dg6.me', 🇯🇵7日本-联通/移动(hy2), 🇯🇵10日本-全网优化(hy2), 🇰🇷8韩国集群-全网优化(hy2), 🇰🇷9韩国-全网优化(hy2), 🇰🇷25韩国-全网优化(hy2), 🇺🇸11美国西集群-全网优化(hy2), 🇺🇸12美国凤凰城-全网优化(hy2), 🇺🇸29美国芝加哥-全网优化(hy2), 🇦🇪13迪拜-电信/移动/南方联通(hy2), 🇮🇳14印度-移动/南方联通(hy2), 🇸🇬15新加坡-全网优化(hy2), 🇸🇬24新加坡-联通/移动(hy2), 🇩🇪16德国-电信/联通(hy2), 🇬🇧17英国-全网优化(hy2), 🇨🇦18加拿大-全网优化(hy2), 🇨🇦26加拿大-全网优化(hy2), 🇦🇺19澳洲-移动优化(hy2), 🇧🇷20巴西-全网优化(hy2), 🇨🇱21智利-全网优化(hy2), 🇫🇷23法国-全网优化(hy2), 🇲🇽27墨西哥-全网优化(hy2), 🇳🇱28荷兰-全网优化(hy2), 🇪🇸31西班牙-全网优化(hy2), 🇷🇺32俄罗斯-全网优化(hy2), '🌏自动最优线路(新协议)-网址: www.dg6.me', 🇯🇵10日本-全网优化(新协议), 🇯🇵10日本-专线(TCP), 🇰🇷8韩国-专线(TCP), 🇰🇷9韩国-全网优化(新协议), 🇰🇷9韩国-专线(TCP), 🇰🇷25韩国-专线(TCP), 🇺🇸11美国西集群-全网优化(新协议), 🇺🇸11美国西集群-专线(TCP), 🇺🇸12美国凤凰城-ChatGPT(新协议), 🇺🇸12美国凤凰城-专线(TCP), 🇮🇳14印度-移动/南方联通(新协议), 🇸🇬15新加坡-全网优化(新协议), 🇸🇬15新加坡-专线(TCP), 🇸🇬24新加坡-联通/移动(新协议), 🇸🇬24新加坡-专线(TCP), 🇩🇪16德国-电信/联通(新协议), 🇬🇧17英国-ChatGPT(新协议), 🇨🇦18加拿大-ChatGPT(新协议), 🇨🇦26加拿大-ChatGPT(新协议), 🇦🇺19澳洲-ChatGPT(新协议), 🇦🇺19澳洲-专线(TCP), 🇧🇷20巴西-ChatGPT(新协议), 🇨🇱21智利-ChatGPT(新协议), 🇫🇷23法国-全网优化(新协议), 🇲🇽27墨西哥-全网优化(新协议), 🇳🇱28荷兰-全网优化(新协议), 🇪🇸31西班牙-全网优化(新协议), 🇷🇺32俄罗斯-全网优化(新协议)] } + - { name: ✈️Shadowsocks, type: select, proxies: [🇭🇰1香港-专线(ss), 🇭🇰2香港-专线(ss)] } + - { name: 🐴Trojan, type: select, proxies: [🇯🇵10日本-专线(TCP), 🇰🇷8韩国-专线(TCP), 🇰🇷9韩国-专线(TCP), 🇰🇷25韩国-专线(TCP), 🇺🇸11美国西集群-专线(TCP), 🇺🇸12美国凤凰城-专线(TCP), 🇸🇬15新加坡-专线(TCP), 🇸🇬24新加坡-专线(TCP), 🇦🇺19澳洲-专线(TCP), 🇭🇰1香港-专线(TCP), 🇭🇰2香港-专线(TCP)] } + - { name: ⚡新协议, type: select, proxies: ['🌏自动最优线路(新协议)-网址: www.dg6.me', 🇯🇵10日本-全网优化(新协议), 🇰🇷9韩国-全网优化(新协议), 🇺🇸11美国西集群-全网优化(新协议), 🇺🇸12美国凤凰城-ChatGPT(新协议), 🇮🇳14印度-移动/南方联通(新协议), 🇸🇬15新加坡-全网优化(新协议), 🇸🇬24新加坡-联通/移动(新协议), 🇩🇪16德国-电信/联通(新协议), 🇬🇧17英国-ChatGPT(新协议), 🇨🇦18加拿大-ChatGPT(新协议), 🇨🇦26加拿大-ChatGPT(新协议), 🇦🇺19澳洲-ChatGPT(新协议), 🇧🇷20巴西-ChatGPT(新协议), 🇨🇱21智利-ChatGPT(新协议), 🇫🇷23法国-全网优化(新协议), 🇲🇽27墨西哥-全网优化(新协议), 🇳🇱28荷兰-全网优化(新协议), 🇪🇸31西班牙-全网优化(新协议), 🇷🇺32俄罗斯-全网优化(新协议), 🇭🇰1香港集群-全网优化(新协议)(限速30M), 🇭🇰2香港集群-全网优化(新协议)(限速30M), 🇭🇰3香港集群-全网优化(新协议), 🇨🇳5台湾-联通/移动(新协议)] } + - { name: Hysteria2, type: select, proxies: ['🌏自动最优线路(hy2)-网址: www.dg6.me', 🇯🇵7日本-联通/移动(hy2), 🇯🇵10日本-全网优化(hy2), 🇰🇷8韩国集群-全网优化(hy2), 🇰🇷9韩国-全网优化(hy2), 🇰🇷25韩国-全网优化(hy2), 🇺🇸11美国西集群-全网优化(hy2), 🇺🇸12美国凤凰城-全网优化(hy2), 🇺🇸29美国芝加哥-全网优化(hy2), 🇦🇪13迪拜-电信/移动/南方联通(hy2), 🇮🇳14印度-移动/南方联通(hy2), 🇸🇬15新加坡-全网优化(hy2), 🇸🇬24新加坡-联通/移动(hy2), 🇩🇪16德国-电信/联通(hy2), 🇬🇧17英国-全网优化(hy2), 🇨🇦18加拿大-全网优化(hy2), 🇨🇦26加拿大-全网优化(hy2), 🇦🇺19澳洲-移动优化(hy2), 🇧🇷20巴西-全网优化(hy2), 🇨🇱21智利-全网优化(hy2), 🇫🇷23法国-全网优化(hy2), 🇲🇽27墨西哥-全网优化(hy2), 🇳🇱28荷兰-全网优化(hy2), 🇪🇸31西班牙-全网优化(hy2), 🇷🇺32俄罗斯-全网优化(hy2), 🇭🇰1香港集群-全网优化(hy2)(限速30M), 🇭🇰2香港集群-全网优化(hy2)(限速30M), 🇭🇰3香港集群-全网优化(hy2), 🇨🇳4台湾-联通优化(hy2), 🇨🇳5台湾-联通/移动(hy2)] } +rules: + - 'DOMAIN,subapi.doggysub.uk,DIRECT' + - 'PROCESS-NAME,v2ray,DIRECT' + - 'PROCESS-NAME,xray,DIRECT' + - 'PROCESS-NAME,naive,DIRECT' + - 'PROCESS-NAME,trojan,DIRECT' + - 'PROCESS-NAME,trojan-go,DIRECT' + - 'PROCESS-NAME,ss-local,DIRECT' + - 'PROCESS-NAME,privoxy,DIRECT' + - 'PROCESS-NAME,leaf,DIRECT' + - 'PROCESS-NAME,v2ray.exe,DIRECT' + - 'PROCESS-NAME,xray.exe,DIRECT' + - 'PROCESS-NAME,naive.exe,DIRECT' + - 'PROCESS-NAME,trojan.exe,DIRECT' + - 'PROCESS-NAME,trojan-go.exe,DIRECT' + - 'PROCESS-NAME,ss-local.exe,DIRECT' + - 'PROCESS-NAME,privoxy.exe,DIRECT' + - 'PROCESS-NAME,leaf.exe,DIRECT' + - 'PROCESS-NAME,Surge,DIRECT' + - 'PROCESS-NAME,Surge 2,DIRECT' + - 'PROCESS-NAME,Surge 3,DIRECT' + - 'PROCESS-NAME,Surge 4,DIRECT' + - 'PROCESS-NAME,Surge%202,DIRECT' + - 'PROCESS-NAME,Surge%203,DIRECT' + - 'PROCESS-NAME,Surge%204,DIRECT' + - 'PROCESS-NAME,Thunder,DIRECT' + - 'PROCESS-NAME,DownloadService,DIRECT' + - 'PROCESS-NAME,qBittorrent,DIRECT' + - 'PROCESS-NAME,Transmission,DIRECT' + - 'PROCESS-NAME,fdm,DIRECT' + - 'PROCESS-NAME,aria2c,DIRECT' + - 'PROCESS-NAME,Folx,DIRECT' + - 'PROCESS-NAME,NetTransport,DIRECT' + - 'PROCESS-NAME,uTorrent,DIRECT' + - 'PROCESS-NAME,WebTorrent,DIRECT' + - 'PROCESS-NAME,aria2c.exe,DIRECT' + - 'PROCESS-NAME,BitComet.exe,DIRECT' + - 'PROCESS-NAME,fdm.exe,DIRECT' + - 'PROCESS-NAME,NetTransport.exe,DIRECT' + - 'PROCESS-NAME,qbittorrent.exe,DIRECT' + - 'PROCESS-NAME,Thunder.exe,DIRECT' + - 'PROCESS-NAME,ThunderVIP.exe,DIRECT' + - 'PROCESS-NAME,transmission-daemon.exe,DIRECT' + - 'PROCESS-NAME,transmission-qt.exe,DIRECT' + - 'PROCESS-NAME,uTorrent.exe,DIRECT' + - 'PROCESS-NAME,WebTorrent.exe,DIRECT' + - 'PROCESS-NAME,aDrive.exe,DIRECT' + - 'DOMAIN-SUFFIX,services.googleapis.cn,狗狗加速.com' + - 'DOMAIN-SUFFIX,xn--ngstr-lra8j.com,狗狗加速.com' + - 'DOMAIN,safebrowsing.urlsec.qq.com,DIRECT' + - 'DOMAIN,safebrowsing.googleapis.com,DIRECT' + - 'DOMAIN,developer.apple.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,digicert.com,狗狗加速.com' + - 'DOMAIN,ocsp.apple.com,狗狗加速.com' + - 'DOMAIN,ocsp.comodoca.com,狗狗加速.com' + - 'DOMAIN,ocsp.usertrust.com,狗狗加速.com' + - 'DOMAIN,ocsp.sectigo.com,狗狗加速.com' + - 'DOMAIN,ocsp.verisign.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,apple-dns.net,狗狗加速.com' + - 'DOMAIN,testflight.apple.com,狗狗加速.com' + - 'DOMAIN,sandbox.itunes.apple.com,狗狗加速.com' + - 'DOMAIN,itunes.apple.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,apps.apple.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blobstore.apple.com,狗狗加速.com' + - 'DOMAIN,cvws.icloud-content.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mzstatic.com,DIRECT' + - 'DOMAIN-SUFFIX,itunes.apple.com,DIRECT' + - 'DOMAIN-SUFFIX,icloud.com,DIRECT' + - 'DOMAIN-SUFFIX,icloud-content.com,DIRECT' + - 'DOMAIN-SUFFIX,me.com,DIRECT' + - 'DOMAIN-SUFFIX,aaplimg.com,DIRECT' + - 'DOMAIN-SUFFIX,cdn20.com,DIRECT' + - 'DOMAIN-SUFFIX,cdn-apple.com,DIRECT' + - 'DOMAIN-SUFFIX,akadns.net,DIRECT' + - 'DOMAIN-SUFFIX,akamaiedge.net,DIRECT' + - 'DOMAIN-SUFFIX,edgekey.net,DIRECT' + - 'DOMAIN-SUFFIX,mwcloudcdn.com,DIRECT' + - 'DOMAIN-SUFFIX,mwcname.com,DIRECT' + - 'DOMAIN-SUFFIX,apple.com,DIRECT' + - 'DOMAIN-SUFFIX,apple-cloudkit.com,DIRECT' + - 'DOMAIN-SUFFIX,apple-mapkit.com,DIRECT' + - 'DOMAIN,browser-intake-datadoghq.com,🔥ChatGPT' + - 'DOMAIN,chat.openai.com.cdn.cloudflare.net,🔥ChatGPT' + - 'DOMAIN,gemini.google.com,🔥ChatGPT' + - 'DOMAIN,openai-api.arkoselabs.com,🔥ChatGPT' + - 'DOMAIN,openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net,🔥ChatGPT' + - 'DOMAIN,openaicomproductionae4b.blob.core.windows.net,🔥ChatGPT' + - 'DOMAIN,production-openaicom-storage.azureedge.net,🔥ChatGPT' + - 'DOMAIN,static.cloudflareinsights.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,ai.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,algolia.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,api.statsig.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,auth0.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,chatgpt.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,chatgpt.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-SUFFIX,client-api.arkoselabs.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,events.statsigapi.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,featuregates.org,🔥ChatGPT' + - 'DOMAIN-SUFFIX,host.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-SUFFIX,identrust.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,intercom.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,intercomcdn.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,launchdarkly.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,oaistatic.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,oaiusercontent.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,observeit.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openai.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openaiapi-site.azureedge.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openaicom.imgix.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,segment.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,sentry.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,stripe.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,turn.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-SUFFIX,sora.com,🔥ChatGPT' + - 'DOMAIN-KEYWORD,openai,🔥ChatGPT' + - 'DOMAIN,api.msn.com,🔥ChatGPT' + - 'DOMAIN,api.statsig.com,🔥ChatGPT' + - 'DOMAIN,assets.msn.com,🔥ChatGPT' + - 'DOMAIN,browser-intake-datadoghq.com,🔥ChatGPT' + - 'DOMAIN,chat.openai.com.cdn.cloudflare.net,🔥ChatGPT' + - 'DOMAIN,copilot.microsoft.com,🔥ChatGPT' + - 'DOMAIN,gateway.bingviz.microsoft.net,🔥ChatGPT' + - 'DOMAIN,gateway.bingviz.microsoftapp.net,🔥ChatGPT' + - 'DOMAIN,in.appcenter.ms,🔥ChatGPT' + - 'DOMAIN,location.microsoft.com,🔥ChatGPT' + - 'DOMAIN,odc.officeapps.live.com,🔥ChatGPT' + - 'DOMAIN,openai-api.arkoselabs.com,🔥ChatGPT' + - 'DOMAIN,openaicomproductionae4b.blob.core.windows.net,🔥ChatGPT' + - 'DOMAIN,production-openaicom-storage.azureedge.net,🔥ChatGPT' + - 'DOMAIN,r.bing.com,🔥ChatGPT' + - 'DOMAIN,self.events.data.microsoft.com,🔥ChatGPT' + - 'DOMAIN,services.bingapis.com,🔥ChatGPT' + - 'DOMAIN,static.cloudflareinsights.com,🔥ChatGPT' + - 'DOMAIN,sydney.bing.com,🔥ChatGPT' + - 'DOMAIN,www.bing.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,algolia.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,api.microsoftapp.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,auth0.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,bing-shopping.microsoft-falcon.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,challenges.cloudflare.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,chatgpt.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,chatgpt.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-SUFFIX,client-api.arkoselabs.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,edgeservices.bing.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,events.statsigapi.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,featuregates.org,🔥ChatGPT' + - 'DOMAIN-SUFFIX,host.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-SUFFIX,identrust.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,intercom.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,intercomcdn.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,launchdarkly.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,oaistatic.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,oaiusercontent.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,observeit.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openai.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openaiapi-site.azureedge.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,openaicom.imgix.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,segment.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,sentry.io,🔥ChatGPT' + - 'DOMAIN-SUFFIX,stripe.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,turn.livekit.cloud,🔥ChatGPT' + - 'DOMAIN-KEYWORD,openaicom-api,🔥ChatGPT' + - 'DOMAIN,ai.google.dev,🔥ChatGPT' + - 'DOMAIN,alkalimakersuite-pa.clients6.google.com,🔥ChatGPT' + - 'DOMAIN,makersuite.google.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,bard.google.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,deepmind.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,deepmind.google,🔥ChatGPT' + - 'DOMAIN-SUFFIX,gemini.google.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,generativeai.google,🔥ChatGPT' + - 'DOMAIN-SUFFIX,proactivebackend-pa.googleapis.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,apis.google.com,🔥ChatGPT' + - 'DOMAIN-KEYWORD,colab,🔥ChatGPT' + - 'DOMAIN-KEYWORD,developerprofiles,🔥ChatGPT' + - 'DOMAIN-KEYWORD,generativelanguage,🔥ChatGPT' + - 'DOMAIN,cdn.usefathom.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,anthropic.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,claude.ai,🔥ChatGPT' + - 'DOMAIN-SUFFIX,razie.ai,🔥ChatGPT' + - 'DOMAIN-SUFFIX,razie.aws.intellij.net,🔥ChatGPT' + - 'DOMAIN-SUFFIX,etbrains.ai,🔥ChatGPT' + - 'DOMAIN-SUFFIX,meta.com,🔥ChatGPT' + - 'DOMAIN-SUFFIX,cn,DIRECT' + - 'DOMAIN-KEYWORD,-cn,DIRECT' + - 'DOMAIN-SUFFIX,126.com,DIRECT' + - 'DOMAIN-SUFFIX,126.net,DIRECT' + - 'DOMAIN-SUFFIX,127.net,DIRECT' + - 'DOMAIN-SUFFIX,163.com,DIRECT' + - 'DOMAIN-SUFFIX,360buyimg.com,DIRECT' + - 'DOMAIN-SUFFIX,36kr.com,DIRECT' + - 'DOMAIN-SUFFIX,acfun.tv,DIRECT' + - 'DOMAIN-SUFFIX,air-matters.com,DIRECT' + - 'DOMAIN-SUFFIX,aixifan.com,DIRECT' + - 'DOMAIN-KEYWORD,alicdn,DIRECT' + - 'DOMAIN-KEYWORD,alipay,DIRECT' + - 'DOMAIN-KEYWORD,taobao,DIRECT' + - 'DOMAIN-SUFFIX,amap.com,DIRECT' + - 'DOMAIN-SUFFIX,autonavi.com,DIRECT' + - 'DOMAIN-KEYWORD,baidu,DIRECT' + - 'DOMAIN-SUFFIX,bdimg.com,DIRECT' + - 'DOMAIN-SUFFIX,bdstatic.com,DIRECT' + - 'DOMAIN-SUFFIX,bilibili.com,DIRECT' + - 'DOMAIN-SUFFIX,bilivideo.com,DIRECT' + - 'DOMAIN-SUFFIX,caiyunapp.com,DIRECT' + - 'DOMAIN-SUFFIX,clouddn.com,DIRECT' + - 'DOMAIN-SUFFIX,cnbeta.com,DIRECT' + - 'DOMAIN-SUFFIX,cnbetacdn.com,DIRECT' + - 'DOMAIN-SUFFIX,cootekservice.com,DIRECT' + - 'DOMAIN-SUFFIX,csdn.net,DIRECT' + - 'DOMAIN-SUFFIX,ctrip.com,DIRECT' + - 'DOMAIN-SUFFIX,dgtle.com,DIRECT' + - 'DOMAIN-SUFFIX,dianping.com,DIRECT' + - 'DOMAIN-SUFFIX,douban.com,DIRECT' + - 'DOMAIN-SUFFIX,doubanio.com,DIRECT' + - 'DOMAIN-SUFFIX,duokan.com,DIRECT' + - 'DOMAIN-SUFFIX,easou.com,DIRECT' + - 'DOMAIN-SUFFIX,ele.me,DIRECT' + - 'DOMAIN-SUFFIX,feng.com,DIRECT' + - 'DOMAIN-SUFFIX,fir.im,DIRECT' + - 'DOMAIN-SUFFIX,frdic.com,DIRECT' + - 'DOMAIN-SUFFIX,g-cores.com,DIRECT' + - 'DOMAIN-SUFFIX,godic.net,DIRECT' + - 'DOMAIN-SUFFIX,gtimg.com,DIRECT' + - 'DOMAIN,cdn.hockeyapp.net,DIRECT' + - 'DOMAIN-SUFFIX,hongxiu.com,DIRECT' + - 'DOMAIN-SUFFIX,hxcdn.net,DIRECT' + - 'DOMAIN-SUFFIX,iciba.com,DIRECT' + - 'DOMAIN-SUFFIX,ifeng.com,DIRECT' + - 'DOMAIN-SUFFIX,ifengimg.com,DIRECT' + - 'DOMAIN-SUFFIX,ipip.net,DIRECT' + - 'DOMAIN-SUFFIX,iqiyi.com,DIRECT' + - 'DOMAIN-SUFFIX,jd.com,DIRECT' + - 'DOMAIN-SUFFIX,jianshu.com,DIRECT' + - 'DOMAIN-SUFFIX,knewone.com,DIRECT' + - 'DOMAIN-SUFFIX,le.com,DIRECT' + - 'DOMAIN-SUFFIX,lecloud.com,DIRECT' + - 'DOMAIN-SUFFIX,lemicp.com,DIRECT' + - 'DOMAIN-SUFFIX,luoo.net,DIRECT' + - 'DOMAIN-SUFFIX,meituan.com,DIRECT' + - 'DOMAIN-SUFFIX,meituan.net,DIRECT' + - 'DOMAIN-SUFFIX,mi.com,DIRECT' + - 'DOMAIN-SUFFIX,miaopai.com,DIRECT' + - 'DOMAIN-SUFFIX,microsoft.com,DIRECT' + - 'DOMAIN-SUFFIX,microsoftonline.com,DIRECT' + - 'DOMAIN-SUFFIX,miui.com,DIRECT' + - 'DOMAIN-SUFFIX,miwifi.com,DIRECT' + - 'DOMAIN-SUFFIX,mob.com,DIRECT' + - 'DOMAIN-SUFFIX,netease.com,DIRECT' + - 'DOMAIN-SUFFIX,office.com,DIRECT' + - 'DOMAIN-SUFFIX,office365.com,DIRECT' + - 'DOMAIN-KEYWORD,officecdn,DIRECT' + - 'DOMAIN-SUFFIX,oschina.net,DIRECT' + - 'DOMAIN-SUFFIX,ppsimg.com,DIRECT' + - 'DOMAIN-SUFFIX,pstatp.com,DIRECT' + - 'DOMAIN-SUFFIX,qcloud.com,DIRECT' + - 'DOMAIN-SUFFIX,qdaily.com,DIRECT' + - 'DOMAIN-SUFFIX,qdmm.com,DIRECT' + - 'DOMAIN-SUFFIX,qhimg.com,DIRECT' + - 'DOMAIN-SUFFIX,qhres.com,DIRECT' + - 'DOMAIN-SUFFIX,qidian.com,DIRECT' + - 'DOMAIN-SUFFIX,qihucdn.com,DIRECT' + - 'DOMAIN-SUFFIX,qiniu.com,DIRECT' + - 'DOMAIN-SUFFIX,qiniucdn.com,DIRECT' + - 'DOMAIN-SUFFIX,qiyipic.com,DIRECT' + - 'DOMAIN-SUFFIX,qq.com,DIRECT' + - 'DOMAIN-SUFFIX,qqurl.com,DIRECT' + - 'DOMAIN-SUFFIX,rarbg.to,DIRECT' + - 'DOMAIN-SUFFIX,ruguoapp.com,DIRECT' + - 'DOMAIN-SUFFIX,segmentfault.com,DIRECT' + - 'DOMAIN-SUFFIX,sinaapp.com,DIRECT' + - 'DOMAIN-SUFFIX,smzdm.com,DIRECT' + - 'DOMAIN-SUFFIX,snapdrop.net,DIRECT' + - 'DOMAIN-SUFFIX,sogou.com,DIRECT' + - 'DOMAIN-SUFFIX,sogoucdn.com,DIRECT' + - 'DOMAIN-SUFFIX,sohu.com,DIRECT' + - 'DOMAIN-SUFFIX,soku.com,DIRECT' + - 'DOMAIN-SUFFIX,speedtest.net,DIRECT' + - 'DOMAIN-SUFFIX,sspai.com,DIRECT' + - 'DOMAIN-SUFFIX,suning.com,DIRECT' + - 'DOMAIN-SUFFIX,taobao.com,DIRECT' + - 'DOMAIN-SUFFIX,tencent.com,DIRECT' + - 'DOMAIN-SUFFIX,tenpay.com,DIRECT' + - 'DOMAIN-SUFFIX,tianyancha.com,DIRECT' + - 'DOMAIN-SUFFIX,tmall.com,DIRECT' + - 'DOMAIN-SUFFIX,tudou.com,DIRECT' + - 'DOMAIN-SUFFIX,umetrip.com,DIRECT' + - 'DOMAIN-SUFFIX,upaiyun.com,DIRECT' + - 'DOMAIN-SUFFIX,upyun.com,DIRECT' + - 'DOMAIN-SUFFIX,veryzhun.com,DIRECT' + - 'DOMAIN-SUFFIX,weather.com,DIRECT' + - 'DOMAIN-SUFFIX,weibo.com,DIRECT' + - 'DOMAIN-SUFFIX,xiami.com,DIRECT' + - 'DOMAIN-SUFFIX,xiami.net,DIRECT' + - 'DOMAIN-SUFFIX,xiaomicp.com,DIRECT' + - 'DOMAIN-SUFFIX,ximalaya.com,DIRECT' + - 'DOMAIN-SUFFIX,xmcdn.com,DIRECT' + - 'DOMAIN-SUFFIX,xunlei.com,DIRECT' + - 'DOMAIN-SUFFIX,yhd.com,DIRECT' + - 'DOMAIN-SUFFIX,yihaodianimg.com,DIRECT' + - 'DOMAIN-SUFFIX,yinxiang.com,DIRECT' + - 'DOMAIN-SUFFIX,ykimg.com,DIRECT' + - 'DOMAIN-SUFFIX,youdao.com,DIRECT' + - 'DOMAIN-SUFFIX,youku.com,DIRECT' + - 'DOMAIN-SUFFIX,zealer.com,DIRECT' + - 'DOMAIN-SUFFIX,zhihu.com,DIRECT' + - 'DOMAIN-SUFFIX,zhimg.com,DIRECT' + - 'DOMAIN-SUFFIX,zimuzu.tv,DIRECT' + - 'DOMAIN-SUFFIX,zoho.com,DIRECT' + - 'DOMAIN,fastly-download.epicgames.com,DIRECT' + - 'DOMAIN,epicgames-download1.akamaized.net,DIRECT' + - 'DOMAIN,steamcdn-a.akamaihd.net,DIRECT' + - 'DOMAIN-SUFFIX,steamserver.net,DIRECT' + - 'DOMAIN-SUFFIX,cm.steampowered.com,DIRECT' + - 'DOMAIN-SUFFIX,synology.com,DIRECT' + - 'DOMAIN-SUFFIX,dyndns.org,DIRECT' + - 'DOMAIN-SUFFIX,egdownload.fastly-edge.com,DIRECT' + - 'DOMAIN-KEYWORD,amazon,狗狗加速.com' + - 'DOMAIN-KEYWORD,google,狗狗加速.com' + - 'DOMAIN-KEYWORD,gmail,狗狗加速.com' + - 'DOMAIN-KEYWORD,youtube,狗狗加速.com' + - 'DOMAIN-KEYWORD,facebook,狗狗加速.com' + - 'DOMAIN-SUFFIX,fb.me,狗狗加速.com' + - 'DOMAIN-SUFFIX,fbcdn.net,狗狗加速.com' + - 'DOMAIN-KEYWORD,twitter,狗狗加速.com' + - 'DOMAIN-KEYWORD,instagram,狗狗加速.com' + - 'DOMAIN-KEYWORD,dropbox,狗狗加速.com' + - 'DOMAIN-SUFFIX,twimg.com,狗狗加速.com' + - 'DOMAIN-KEYWORD,blogspot,狗狗加速.com' + - 'DOMAIN-SUFFIX,youtu.be,狗狗加速.com' + - 'DOMAIN-KEYWORD,whatsapp,狗狗加速.com' + - 'DOMAIN-SUFFIX,ipleak.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,browserscan.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,surfsharkdns.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,edns.ip-api.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dnsleaktest.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dnsleak.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,expressvpn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,nordvpn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,surfshark.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,perfect-privacy.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,browserleaks.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,browserleaks.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,browserleaks.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,vpnunlimited.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,whoer.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,whrq.net,狗狗加速.com' + - 'DOMAIN-KEYWORD,admarvel,REJECT' + - 'DOMAIN-KEYWORD,admaster,REJECT' + - 'DOMAIN-KEYWORD,adsage,REJECT' + - 'DOMAIN-KEYWORD,adsmogo,REJECT' + - 'DOMAIN-KEYWORD,adsrvmedia,REJECT' + - 'DOMAIN-KEYWORD,adwords,REJECT' + - 'DOMAIN-KEYWORD,adservice,REJECT' + - 'DOMAIN-SUFFIX,appsflyer.com,REJECT' + - 'DOMAIN-KEYWORD,domob,REJECT' + - 'DOMAIN-SUFFIX,doubleclick.net,REJECT' + - 'DOMAIN-KEYWORD,duomeng,REJECT' + - 'DOMAIN-KEYWORD,dwtrack,REJECT' + - 'DOMAIN-KEYWORD,guanggao,REJECT' + - 'DOMAIN-KEYWORD,lianmeng,REJECT' + - 'DOMAIN-SUFFIX,mmstat.com,REJECT' + - 'DOMAIN-KEYWORD,mopub,REJECT' + - 'DOMAIN-KEYWORD,omgmta,REJECT' + - 'DOMAIN-KEYWORD,openx,REJECT' + - 'DOMAIN-KEYWORD,partnerad,REJECT' + - 'DOMAIN-KEYWORD,pingfore,REJECT' + - 'DOMAIN-KEYWORD,supersonicads,REJECT' + - 'DOMAIN-KEYWORD,uedas,REJECT' + - 'DOMAIN-KEYWORD,umeng,REJECT' + - 'DOMAIN-KEYWORD,usage,REJECT' + - 'DOMAIN-SUFFIX,vungle.com,REJECT' + - 'DOMAIN-KEYWORD,wlmonitor,REJECT' + - 'DOMAIN-KEYWORD,zjtoolbar,REJECT' + - 'DOMAIN-SUFFIX,linkedin.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,licdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,9to5mac.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,abpchina.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,adblockplus.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,adobe.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,akamaized.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,alfredapp.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,amplitude.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ampproject.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,android.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,angularjs.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,aolcdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,apkpure.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,appledaily.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,appshopper.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,appspot.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,arcgis.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,archive.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,armorgames.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,aspnetcdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,att.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,awsstatic.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,azurewebsites.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,bing.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,bintray.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,bit.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,bit.ly,狗狗加速.com' + - 'DOMAIN-SUFFIX,bitbucket.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,bjango.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,bkrtx.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blog.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blogcdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blogger.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blogsmithmedia.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blogspot.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,blogspot.hk,狗狗加速.com' + - 'DOMAIN-SUFFIX,bloomberg.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,box.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,box.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,cachefly.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,chromium.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,cl.ly,狗狗加速.com' + - 'DOMAIN-SUFFIX,cloudflare.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,cloudfront.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,cloudmagic.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,cmail19.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,cnet.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,cocoapods.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,comodoca.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,crashlytics.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,culturedcode.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,d.pr,狗狗加速.com' + - 'DOMAIN-SUFFIX,danilo.to,狗狗加速.com' + - 'DOMAIN-SUFFIX,dayone.me,狗狗加速.com' + - 'DOMAIN-SUFFIX,db.tt,狗狗加速.com' + - 'DOMAIN-SUFFIX,deskconnect.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,disq.us,狗狗加速.com' + - 'DOMAIN-SUFFIX,disqus.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,disquscdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dnsimple.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,docker.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dribbble.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,droplr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,duckduckgo.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dueapp.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,dytt8.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,edgecastcdn.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,edgekey.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,edgesuite.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,engadget.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,entrust.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,eurekavpt.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,evernote.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,fabric.io,狗狗加速.com' + - 'DOMAIN-SUFFIX,fast.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,fastly.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,fc2.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,feedburner.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,feedly.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,feedsportal.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,fiftythree.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,firebaseio.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,flexibits.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,flickr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,flipboard.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,g.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,gabia.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,geni.us,狗狗加速.com' + - 'DOMAIN-SUFFIX,gfx.ms,狗狗加速.com' + - 'DOMAIN-SUFFIX,ggpht.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ghostnoteapp.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,git.io,狗狗加速.com' + - 'DOMAIN-KEYWORD,github,狗狗加速.com' + - 'DOMAIN-SUFFIX,globalsign.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,gmodules.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,godaddy.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,golang.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,gongm.in,狗狗加速.com' + - 'DOMAIN-SUFFIX,goo.gl,狗狗加速.com' + - 'DOMAIN-SUFFIX,goodreaders.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,goodreads.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,gravatar.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,gstatic.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,gvt0.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,hockeyapp.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,hotmail.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,icons8.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ifixit.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ift.tt,狗狗加速.com' + - 'DOMAIN-SUFFIX,ifttt.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,iherb.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,imageshack.us,狗狗加速.com' + - 'DOMAIN-SUFFIX,img.ly,狗狗加速.com' + - 'DOMAIN-SUFFIX,imgur.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,imore.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,instapaper.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ipn.li,狗狗加速.com' + - 'DOMAIN-SUFFIX,is.gd,狗狗加速.com' + - 'DOMAIN-SUFFIX,issuu.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,itgonglun.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,itun.es,狗狗加速.com' + - 'DOMAIN-SUFFIX,ixquick.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,j.mp,狗狗加速.com' + - 'DOMAIN-SUFFIX,js.revsci.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,jshint.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,jtvnw.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,justgetflux.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,kat.cr,狗狗加速.com' + - 'DOMAIN-SUFFIX,klip.me,狗狗加速.com' + - 'DOMAIN-SUFFIX,libsyn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,line-apps.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,linode.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,lithium.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,littlehj.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,live.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,live.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,livefilestore.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,llnwd.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,macid.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,macromedia.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,macrumors.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mashable.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mathjax.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,medium.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mega.co.nz,狗狗加速.com' + - 'DOMAIN-SUFFIX,mega.nz,狗狗加速.com' + - 'DOMAIN-SUFFIX,megaupload.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,microsofttranslator.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mindnode.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,mobile01.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,modmyi.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,msedge.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,myfontastic.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,name.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,nextmedia.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,nsstatic.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,nssurge.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,nyt.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,nytimes.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,omnigroup.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,onedrive.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,onenote.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ooyala.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,openvpn.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,openwrt.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,orkut.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,osxdaily.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,outlook.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ow.ly,狗狗加速.com' + - 'DOMAIN-SUFFIX,paddleapi.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,parallels.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,parse.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,pdfexpert.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,periscope.tv,狗狗加速.com' + - 'DOMAIN-SUFFIX,pinboard.in,狗狗加速.com' + - 'DOMAIN-SUFFIX,pinterest.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,pixelmator.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,pixiv.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,playpcesor.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,playstation.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,playstation.com.hk,狗狗加速.com' + - 'DOMAIN-SUFFIX,playstation.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,playstationnetwork.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,pushwoosh.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,rime.im,狗狗加速.com' + - 'DOMAIN-SUFFIX,servebom.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,sfx.ms,狗狗加速.com' + - 'DOMAIN-SUFFIX,shadowsocks.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,sharethis.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,shazam.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,skype.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,smartdns狗狗加速.com.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,smartmailcloud.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,sndcdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,sony.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,soundcloud.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,sourceforge.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,spotify.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,squarespace.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,sstatic.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,st.luluku.pw,狗狗加速.com' + - 'DOMAIN-SUFFIX,stackoverflow.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,startpage.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,staticflickr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,steamcommunity.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,symauth.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,symcb.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,symcd.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tapbots.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tapbots.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,tdesktop.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,techcrunch.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,techsmith.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,thepiratebay.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,theverge.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,time.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,timeinc.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,tiny.cc,狗狗加速.com' + - 'DOMAIN-SUFFIX,tinypic.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tmblr.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,todoist.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,trello.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,trustasiassl.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tumblr.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,tumblr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tweetdeck.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,tweetmarker.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,twitch.tv,狗狗加速.com' + - 'DOMAIN-SUFFIX,txmblr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,typekit.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,ubertags.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ublock.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,ubnt.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ulyssesapp.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,urchin.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,usertrust.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,v.gd,狗狗加速.com' + - 'DOMAIN-SUFFIX,v2ex.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,vimeo.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,vimeocdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,vine.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,vivaldi.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,vox-cdn.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,vsco.co,狗狗加速.com' + - 'DOMAIN-SUFFIX,vultr.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,w.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,w3schools.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,webtype.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wikiwand.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wikileaks.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,wikimedia.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,wikipedia.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wikipedia.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,windows.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,windows.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,wire.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wordpress.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,workflowy.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wp.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wsj.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,wsj.net,狗狗加速.com' + - 'DOMAIN-SUFFIX,xda-developers.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,xeeno.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,xiti.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,yahoo.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,yimg.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,ying.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,yoyo.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,ytimg.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,signal.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,whispersystems.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,cangku.moe,狗狗加速.com' + - 'DOMAIN-SUFFIX,tradingview.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,x.com,狗狗加速.com' + - 'DOMAIN-SUFFIX,asmr.one,狗狗加速.com' + - 'DOMAIN-SUFFIX,telegra.ph,狗狗加速.com' + - 'DOMAIN-SUFFIX,telegram.org,狗狗加速.com' + - 'DOMAIN-SUFFIX,t.me,狗狗加速.com' + - 'DOMAIN-SUFFIX,telegram.me,狗狗加速.com' + - 'IP-CIDR,91.108.4.0/22,狗狗加速.com,no-resolve' + - 'IP-CIDR,91.108.8.0/21,狗狗加速.com,no-resolve' + - 'IP-CIDR,91.108.16.0/22,狗狗加速.com,no-resolve' + - 'IP-CIDR,91.108.56.0/22,狗狗加速.com,no-resolve' + - 'IP-CIDR,149.154.160.0/20,狗狗加速.com,no-resolve' + - 'IP-CIDR6,2001:67c:4e8::/48,狗狗加速.com,no-resolve' + - 'IP-CIDR6,2001:b28:f23d::/48,狗狗加速.com,no-resolve' + - 'IP-CIDR6,2001:b28:f23f::/48,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.232.181.162/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.241.147.226/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.253.253.226/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.253.255.162/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.253.255.34/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,120.253.255.98/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,180.163.150.162/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,180.163.150.34/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,180.163.151.162/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,180.163.151.34/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,203.208.39.0/24,狗狗加速.com,no-resolve' + - 'IP-CIDR,203.208.40.0/24,狗狗加速.com,no-resolve' + - 'IP-CIDR,203.208.41.0/24,狗狗加速.com,no-resolve' + - 'IP-CIDR,203.208.43.0/24,狗狗加速.com,no-resolve' + - 'IP-CIDR,203.208.50.0/24,狗狗加速.com,no-resolve' + - 'IP-CIDR,220.181.174.162/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,220.181.174.226/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,220.181.174.34/32,狗狗加速.com,no-resolve' + - 'IP-CIDR,24.199.123.28/32,🔥ChatGPT,no-resolve' + - 'IP-CIDR,64.23.132.171/32,🔥ChatGPT,no-resolve' + - 'IP-CIDR,24.199.123.28/32,🔥ChatGPT,no-resolve' + - 'IP-CIDR,64.23.132.171/32,🔥ChatGPT,no-resolve' + - 'DOMAIN,injections.adguard.org,DIRECT' + - 'DOMAIN,local.adguard.org,DIRECT' + - 'DOMAIN-SUFFIX,local,DIRECT' + - 'IP-CIDR,127.0.0.0/8,DIRECT' + - 'IP-CIDR,172.16.0.0/12,DIRECT' + - 'IP-CIDR,192.168.0.0/16,DIRECT' + - 'IP-CIDR,10.0.0.0/8,DIRECT' + - 'IP-CIDR,17.0.0.0/8,DIRECT' + - 'IP-CIDR,100.64.0.0/10,DIRECT' + - 'IP-CIDR,224.0.0.0/4,DIRECT' + - 'IP-CIDR6,fe80::/10,DIRECT' + - 'GEOIP,CN,DIRECT' + - 'MATCH,狗狗加速.com' diff --git a/src/main/resources/temp.json b/src/main/resources/temp.json new file mode 100644 index 0000000..ebb9ee2 --- /dev/null +++ b/src/main/resources/temp.json @@ -0,0 +1,7 @@ +{ + "ab-cd": "abc", + "b-cd": [ + 1, + 2 + ] +} \ No newline at end of file diff --git a/src/main/resources/temp.yml b/src/main/resources/temp.yml new file mode 100644 index 0000000..988aaa4 --- /dev/null +++ b/src/main/resources/temp.yml @@ -0,0 +1,4 @@ +a: abc +b: + - 1 + - 2 \ No newline at end of file