d2ray/README.md

35 lines
2.0 KiB
Markdown

[![Build Status](https://ci.quacker.org/api/badges/d/d2ray/status.svg)](https://ci.quacker.org/d/d2ray)
# 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:
- `HOST`: the hostname/IP of the server. `REQUIRED`.
- `PORT`: the port Xray listens on. `Optional, default = 443`.
- `TARGET_HOST`: the target host to redirect non proxy connections. `Required`.
- `TARGET_PORT`: the target port to redirect non proxy connections. `Optional, default = 443`.
- `TARGET_SNI`: comma separated list of the target website's SNIs. `Required`.
- `PRIVATE_KEY` : server's private key. `Optional`.
- `USERS`: comma separated list of usernames that can access Xray. `Required`.
- `LOG_LEVEL`: the verbosity of Xray logs. `Optional, default = warn`.
3. `docker compose up -d`
4. Check the container log using `docker logs` for per user shareable links and QR codes supported by most Xray apps. These can also be found under `/etc/xray/users/[USERNAME]` folders.
5. Test your connection.
## Docker Volume
The logs and private key are stored in `/etc/d2ray` in the container. You can mount an external folder to that location to persist settings. Otherwise d2ray creates an anonymous Docker volume.
## Key Generation
If `PRIVATE_KEY` is provided, d2ray uses that key. Otherwise, d2ray generates a new key pair and persists it in `/etc/xray/certs/keys`. The corresponding public key is always printed to the container log, which clients use to connect.
To make d2ray regenerate a new key pair, manually delete the key file `/etc/xray/certs/keys` from the mounted volume.
## How To Update?
- `docker compose down`
- `docker compose pull`
- `docker compose up -d`
## Notes
- The old xtls-vision + TLS + Nginx fallback has been branched out to the `vision` branch.