Easy Xray + xtls-vision + reality in Docker
Go to file
quackerd d32be906d9
All checks were successful
continuous-integration/drone/push Build is passing
Merge branch 'master' of git.quacker.org:d/d2ray
2023-08-21 09:41:58 -04:00
opt fix xray log filepath 2023-08-21 09:41:48 -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 refactor 2023-08-21 09:22:57 -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 Update README.md 2023-08-21 13:40:56 +00: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_URL: the target domain to redirect non proxy connections.
    • TARGET_PORT: the target port to redirect non proxy connections.
    • 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 private key file exists at path /etc/xray/certs/private_key and generates a new private key 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 both printed to the container log (docker logs) and written to /etc/xray/certs/public_key, which clients use to connect.

How To Update?

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