2021-01-16 23:15:03 +00:00
# d2ray
2020-05-04 09:49:33 +00:00
Clean, dockerized v2ray(Websocket + TLS) + Nginx + Let's Encrypt with official and well-maintained docker containers. No BS private containers.
2020-05-04 09:13:58 +00:00
2020-05-04 09:14:20 +00:00
## Supports:
2020-05-04 09:49:33 +00:00
- v2ray with websocket + TLS protocol using the [official v2ray docker image ](https://hub.docker.com/r/v2ray/official/ ).
2021-01-11 04:47:28 +00:00
- Nginx frontend and **auto-renewing** Let's Encrypt certificate using the popular [linuxserver/swag ](https://hub.docker.com/r/linuxserver/swag/ ).
2021-01-16 23:14:03 +00:00
- watchtower for automatic docker image updates (can be disabled) from [containrrr/watchtower ](https://hub.docker.com/r/containrrr/watchtower )
- Easy multiuser configuration and user conf file generation.
2020-05-04 09:14:20 +00:00
## Usage:
### Required packages
2021-01-16 23:22:23 +00:00
- python3.
2020-05-04 09:55:31 +00:00
- docker-ce.
- docker-compose.
2020-05-04 09:49:33 +00:00
- python-jinja2. A popular python template processor. Just search for jinja2 with your distro's package manager.
2020-05-04 09:14:20 +00:00
### Building
2021-01-16 23:14:03 +00:00
- Clone this repo.
- Modify `config.yml` to your liking. Please see the comments in the file for documentation.
- Run `configure.py` with python 3.
- Generated files are located in the `build` directory. Run `docker-compose up -d` within that directory to start the stack.
- To start over or to update the existing configuration. Simply change `config.yml` , rerun `configure.py` and restart the stack.
2020-05-04 09:49:33 +00:00
2021-01-16 23:18:48 +00:00
### Client connections
Client conf files are generated in `build/clients/[name]_[uuid]/config.json` . Clients simply need to download the most recent v2ray release and replace `config.json` with the ones generated. The config file by default directly connects to CN mainland websites and proxies foreign websites. The same goes for DNS lookups.
2020-05-04 09:49:33 +00:00
2021-01-16 23:22:23 +00:00
You can customize the template file `client_conf.in` to generate custom client conf files.
2020-05-04 09:49:33 +00:00
### Troubleshooting
- Make sure your subdomain.domain.tld points to the server.
2021-01-16 23:14:03 +00:00
- Use `docker logs v2ray_nginx` to check for nginx init errors. Detailed nginx logs and be found in `nginx/logs/nginx`
- Use `docker logs v2ray_v2ray` to check for v2ray init errors.
- Use `docker logs v2ray_watchtower` to check for watchtower errors.