Skip to content

REALITY: add multiple condition #1701

@hiddify-com

Description

@hiddify-com

The reality seems great. However, adding a list instead of a single condition makes it more powerful.
For example, if a client with tls1.2 wants to connect to our servers obviously it is the GTW bot. So no request should be processed by xray and just forward to decoy site.

Additionally, if we want to use FakeTLS protocols like MTProxy it can be useful.

I suggest to change the reality settings to support a list entries instead of a single entry.

Example:

"realitySettings": {
    "serverNames": ["reality.com"],
     "minClientVer" : "1.7.5", 
     "maxClientVer" : "1.8.0",
     "private_key": "",
      ...
     "fallback":[
           { "minTlsVer" : "1.3", "serverNames" : [ "google.com"], "dest": "127.0.0.1:1000", "xver": 0}, //for faketls protocol
           { "serverNames" : ["google.com"], "dest": "google.com:443", "xver": 0}, // if tls version is less than 1.3 for sni google.com 
           { "dest" : "@decoy_or_xtls_inbound", "xver": 2} // similar to fallback, means all others go to decoy_or_xtls_inbound without ssl termination
     ]
}

related to #1486

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions