Easy Xray + xtls-vision + reality in Docker
Go to file
2023-08-21 12:12:10 -04:00
opt separate SNIs from URLs 2023-08-21 12:12:10 -04:00
.drone.yml clean new images 2022-12-02 13:52:11 +01:00
.gitignore Initial commit 2020-05-04 09:13:58 +00:00
docker-compose.yml separate SNIs from URLs 2023-08-21 12:12:10 -04:00
Dockerfile reality 2023-08-21 09:05:44 -04:00
LICENSE Add license 2022-12-02 13:37:33 +00:00
README.md separate SNIs from URLs 2023-08-21 12:12:10 -04:00

Build Status

Xray + xtls-vision + reality all in Docker!

What Is d2ray?

d2ray is a single Docker container that provides easy 5-minute setups and braindead configurations for xtls-vision + reality.

Quickstart

  1. You can start with the example docker-compose.yml from this repo.
  2. Adjust environment variables:
    • PORT: the port Xray listens on.
    • TARGET_HOST: the target host to redirect non proxy connections.
    • TARGET_PORT: the target port to redirect non proxy connections.
    • TARGET_SNI: comma separated list of the target website's SNIs.
    • USERS: comma separated list of usernames that can access Xray.
    • LOG_LEVEL: the verbosity of Xray logs. Default: warn.
  3. docker compose up -d
  4. Test your connection.

Docker Volume

All d2ray logs and private/public key pairs are stored in /etc/d2ray in the container. You can mount an external folder to that location to persist settings. See the example docker-compose.yml.

Key Generation

d2ray checks whether a key file exists at path /etc/xray/certs/keys and generates a new key pair if not found.

You can either supply a pre-generated private key using xray x25519 or let d2ray generate one. The corresponding public key is printed to the container log (docker logs), which clients use to connect.

If you are generating the private key yourself, the key file must contain exactly the output of xray x25519.

How To Update?

  • docker compose down
  • docker compose pull
  • docker compose up -d