Learn how to configure client-side routing for Russian websites using Xray JSON subscriptions and geofiles to bypass VPN traffic efficiently.
Key Takeaways
- Client-side routing with JSON mode offers greater customization and control over traffic routing.
- Geofiles enable detailed categorization and routing rules for specific websites or services.
- Proper header configuration is essential for automatic geofile downloads with subscriptions.
- Server-side routing is useful for traffic splitting but is not suitable for bypassing VPN for Russian sites.
- Using the provided GitHub repository and Telegram resources simplifies setup and enhances routing capabilities.
What the video covers
- Explanation of routing configuration methods for Russian websites using Xray and Remnawave.
- Comparison between JSON and non-JSON subscription modes in Xray panel.
- Advantages of JSON mode for local server-based, customizable routing configurations.
- Difference between client-side and server-side routing and their use cases.
- Focus on client-side routing to avoid routing Russian traffic through foreign servers.
- Use of geofiles with multiple categories for precise routing rules.
- Collaboration with I VPN team to provide extensive geofiles repository on GitHub.
- Step-by-step guide to setting up geofile downloading via subscription headers.
- Instructions on creating and applying custom Xray JSON templates for routing.
- Encouragement to follow the creator's Telegram channel for additional resources and updates.
Chapters
- 00:00Introduction and Overview of Routing Methods
- 00:25Non-JSON Mode and Connection Link Details
- 00:56JSON Mode and Local Server Setup
- 01:35Client-Side vs Server-Side Routing Explained
- 02:08Use Cases for Server-Side Routing
- 02:31Client-Side Routing and Geofile Usage
- 03:02Geofiles Repository and Collaboration with I VPN
- 03:22Setting Up Geofile Downloading via Subscription Headers
- 04:06Configuring Xray JSON Subscription and Routing Rules
- 05:26Applying JSON Templates and Final Setup
Full Transcript — Download SRT & Markdown
Speaker A
Hi there. Today, I'll explain how to properly configure routing for Russia on your service. I should clarify that there are several ways to configure routing, and I will describe the one I consider most logical and architecturally sound. There will be a
Speaker A
bit of theory first, but if you need the setup steps immediately, you can skip to the timestamp appearing on your screen now. It's worth clarifying that there are two subscription types: JSON and non-JSON. This mode is toggled in
Speaker A
the Xray panel. In non-JSON mode, the client receives a standard list of connection links, like V2Ray, Shadowsocks, and so on. Each link contains specific server parameters: address, port, UUID, transport, TLS, and other connection settings. Along with this header, you can pass geofiles
Speaker A
for routing configuration and DNS settings. The advantage of this format is its compatibility with all applications, but it limits broader configuration options. That is, one DNS setting for all servers. The rest of the settings are taken from the client
Speaker A
application. JSON mode builds its JSON locally. So, we have a device, and a local server is set up on it. Let's illustrate it this way. And within it, you can specify settings for each server separately. So, for example, we
Speaker A
have Node 1. When connecting to Node 1, it will use specific routing rules. Then our client switches to Node 2, another local JSON is built, corresponding to the one we assigned to Node 2, and different routing rules are
Speaker A
applied to it. This increases customization and versatility. Most services use this exact method. Routing itself can happen on two sides: server-side and client-side. For our task, we need client-side routing so that traffic doesn't pass through a foreign server at all. So, the scheme
Speaker A
is like this. Our local JSON has been launched. It already decides where the traffic should go. And server-side routing is suitable for other tasks.
Speaker A
For example, if we want to route traffic to our server first and then split it, say, all traffic goes through it, but video hosting goes through Albania to serve content without ads.
Speaker A
And server-side routing, as we understood, means traffic goes to the server first, and then the server decides where to route it. The splitting process happens here. So, let's say we set up an Albania server; traffic reaches here, goes to Albania,
Speaker A
and then to the internet. But that's only for, say, video hosting sites. By the way, a little tip on how to remove ads on YouTube. And client-side is when our JSON decides for itself how the traffic should go. Few people use this
Speaker A
feature, but in JSON mode, you can also download and configure geofiles. In the geofiles, we need to find the necessary category and set the routing rules for it via a tag. Since we will be working with geofiles, I worked with the I VPN
Speaker A
team specifically for this video to collect geofiles with a huge number of categories, and we uploaded them to GitHub. The link to the repository for further work will be in my Telegram channel. That is also where you will
Speaker A
find all the configurations and many other useful materials. For example, on how to choose hosting. There are a multitude of categories in this repository. We can see just how many.
Speaker A
And examples for implementing them into JSON. Before configuring them, we need to set up geofile downloading along with our subscription. In the repository, we find the "Headers" section. Copy the header. Go to our panel. Here, in the subscription
Speaker A
section, we open the settings section, response headers, and add two values. The first value is for the hap, we call it routing. We paste the hap value from our GitHub here. And the second one, autorouting. This value will pick up
Speaker A
the instance. We also copy autorouting from the repository. Now, when your client updates their subscription or connects for the first time, the geofiles will download into your app along with the subscription for further use. Don't forget to also ensure that
Speaker A
our JSON subscription mode is enabled. Now, after that, we go to the X-ray JSON subscription section. And you can either edit your existing JSON or take a ready-made JSON from my Telegram channel. In our case, I will create a
Speaker A
new JSON. Let's call it RU. Delete all the content and paste the JSON from the Telegram channel. Here, we are specifically interested in this block.
Speaker A
An example of this block is also provided in the GitHub repository. We can copy it and paste it into the routing rules. And now, it will take all the information about which sites to route directly based on the tags
Speaker A
from our geofiles. Save it. Go to the hosts section. Go to the hosts section.
Speaker A
After that, choose the host we need, for example, Switzerland. Then, in the options section, click add. X-ray JSON template, and assign it the template we just created. Save it. Once we update the subscription, the geofiles will download, the local X-ray JSON will be
Speaker A
applied, and traffic on this server will go according to the local X-ray JSON rules. I hope I explained everything in detail and clearly. There are many more variations for using geofiles. I will talk about them in more detail on my Telegram channel.
Speaker A
Subscribe to it. Thank you all for watching. I hope you have become a little bit smarter. M.
Topics:XrayRemnawaveVPN routingclient-side routinggeofilesJSON subscriptionRussian websitesVPN bypassnetwork configurationrouting rules


![How To Start Day Trading In 2026 [Full Tutorial] — Transcript](https://i.ytimg.com/vi/yiuFUp0kFz8/maxresdefault.jpg)








