vytal-io / vytal-extension

Browser extension to spoof timezone, geolocation, locale and user agent.
https://vytal.io
GNU General Public License v3.0
1.8k stars 95 forks source link

Suggestions for Functional Improvements (Rule-based Location Config + More Spoofing Configurations) #38

Open Accademia opened 11 months ago

Accademia commented 11 months ago

Suggestions for Functional Improvements (Rule-based Location Config + More Spoofing Configurations)

@z0ccc

I hope the software can support rules similar to the "Clash Rule," enabling rule-based routing, such as:


# ---------------------
#  Configuration: Grouping of Location Settings
# ---------------------
location-config-groups: 

  - name: Location_And_TimeZone_Config_for_US
     timezone: America/New_York
     locale: en-US
     location_city: Washingon, USA
     location_gps: 38.9072, -77.0369
     system_os: Linux
     language: en-US
     webrtc: Disable

  - name: Location_And_TimeZone_Config_for_JP
     timezone: Asia/Tokyo
     locale: ja-JP
     location_city: Tokyo, Japan
     location_gps: 35.6895, 139.6917
     system_os: Linux
     language: ja-JP
     webrtc: Disable

  - name: Location_And_TimeZone_Config_for_Final
     timezone: Default
     locale: Default
     location_city: Default
     location_gps: Default
     system_os: Default
     language: Default
     webrtc: Default

# ---------------------
# Configuration: Rule-based Location Data 
# ---------------------
rule:
    - DOMAIN-SUFFIX , us  ,  Location_And_TimeZone_Config_for_US
    - DOMAIN-SUFFIX , jp  , Location_And_TimeZone_Config_for_JP

    - GeoIP  , us  ,  Location_And_TimeZone_Config_for_US
    - GeoIP  , jp  , Location_And_TimeZone_Config_for_JP

    - IP-CIDR   , 103.41.167.0/24  , Location_And_TimeZone_Config_for_US

   # external rules
    - RULE-SET , netflix_no_resolve  ,  Location_And_TimeZone_Config_for_US  

   # final rules
    - MATCH ,  Location_And_TimeZone_Config_for_Final

# ---------------------
# Configuration: Subscription Rule Sets
# ---------------------
rule-providers: 

  netflix_no_resolve: 
    type: http
    behavior: classical
    url: 'https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Netflix/Netflix_No_Resolve.yaml'
    path: ./ruleset/netflix_no_resolve.yaml
    interval: 86400

The reason for adding support for the above configurations is to bypass the VPN detection of websites. You can use the following link to see if the website can detect your VPN: https:ipdog.io/

Especially when users use VPN based on the Clash proxy software, Clash will route according to the user's rules. However, Vytal currently has a single global configuration, which cannot meet the demand for automatic configuration modification during routing