Script for Linux which makes XRay installation and configuration easy
Find a file
2023-10-25 13:46:27 +03:00
.gitignore update readme with browser settings; change port 2023-10-25 11:35:04 +03:00
browser-proxy-settings.png update readme with browser settings; change port 2023-10-25 11:35:04 +03:00
ex.sh update readme with browser settings; change port 2023-10-25 11:35:04 +03:00
LICENSE Initial commit 2023-10-08 22:32:54 +03:00
README.md add note about no additional encryption layer 2023-10-25 13:46:27 +03:00
template_config_client.json update readme with browser settings; change port 2023-10-25 11:35:04 +03:00
template_config_server.json update readme with browser settings; change port 2023-10-25 11:35:04 +03:00

easy-xray

Script for Linux which makes XRay installation and configuration easy

(todo) Readme in Russian

(todo) Readme in Chinese

XRay (aka ProjectX) is a frontier solution to surpass the internet censorship. It can work as a server and as a client, but it's configuration sometimes confusing for a newcomer. So, here is a script which helps to

  • install/uninstall (todo: upgrade) XRay
  • generate credentials and server/client configs
  • (todo) add/delete users to the configs

First make the script ex.sh executable, then run it with a desired command. Use ./ex.sh help to see the list of all available commands and ./ex.sh install to start interactive prompt which installs and configures XRay.

$ chmod +x ex.sh
$ ./ex.sh help
$ sudo ./ex.sh install

Prerequisites

For manipulations with configs, jq is needed, it can be found in repositories of almost all popular Linux distributives.

How it works

With current configs, XRay creates a tunnel between the client (your laptop, phone etc.) and the server (your VPS). The tunnel uses VLESS Reality protocol that obfuscates traffic and in our case imitates grpc. For the censor the tunnel looks like a usual connection to a site. The server responses to https requests as some popular site thus it is not suspicious for an active probing. On the client side XRay creates a socks proxy which can be used by your Telegram or web browser like this:

browser proxy: http/https proxy 127.0.0.1 at port 801, socks v5 host 127.0.0.1 at port 800

Note that there is no additional encryption layer in VLESS; using it you rely on the encryption that the browser (Telegram app etc.) makes.

Other clients

For Windows, MacOS or Android you can try Nekobox, v2rayNG or ? (TODO): tests and config generation for them.

Acknowledgements

This article (in Russian) helped me to install XRay for the first time. XRay config reference is brilliant and helped me much. Configs on which the template configs are based.

(TODO) logging, choose domain names or geoip, configs for phone...