Skip to content

tempikanget/xray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XRAY VLESS Websocket on Docker + Cloudflared

Required

  1. Domain parked on Cloudflare
  2. Cloudflare One Account (ZeroTrust)
  3. Github - Personal Access Token
  4. Docker Hub Account [optional]

Github Actions Secrets

Github Repository Secrets List

Settings Path : Github Repository > Settings > Secrets and Variables > Actions

DOCKER_HUB_USERNAME : Use this when you want to create private docker repos

DOCKER_HUB_PASSWORD : Use this when you want to create private docker repos

PERSONAL_ACCESS_TOKEN : Use this when you want a private github workflow

PRIVATE_UUID : Use this when you want a private UUID for VLESS authentication. [optional] | default: 730b6e0c-e463-11ef-a734-b36930036fe6

TUNNEL_TOKEN : Put your Cloudflared Tunnel Token here to bind it. [required] - GUIDE

Get Cloudflared Tunnel Token

Cloudflared Tunnel Token

  1. Go to Cloudflare One

  2. Networks > Tunnels > Create Tunnel > Select "Cloudflared" > follow the instructions

  3. Copy syntax and take the part of the text

>... run --token eyJhIjoiNDZkYTFhZTYwNDM1ZjFhODk2YjIwNjUwMjA0NGRlNmIiLCJ0IjoiMmQxZDFhODktNjc2Yy00MjQ4LTkwMmUtZjYxZmFjYTg2ZGUwIiwicyI6Ik5tVXdaRFF3TnpJdE5HTmlOaTAwTm1NM0xXRXpaR1F0xxxxxxxxxxxxxxxxxxxxxxxx
  1. Your tunnel token is
eyJhIjoiNDZkYTFhZTYwNDM1ZjFhODk2YjIwNjUwMjA0NGRlNmIiLCJ0IjoiMmQxZDFhODktNjc2Yy00MjQ4LTkwMmUtZjYxZmFjYTg2ZGUwIiwicyI6Ik5tVXdaRFF3TnpJdE5HTmlOaTAwTm1NM0xXRXpaR1F0xxxxxxxxxxxxxxxxxxxxxxxx

Docker Compose

# .env
TUNNEL_TOKEN=<YOUR_TUNNEL_TOKEN> # required
PRIVATE_UUID=<YOUR_PRIVATE_UUID> # optional (default: 730b6e0c-e463-11ef-a734-b36930036fe6)
# docker-compose.yaml
version: "3.2"

services:
  cfd:
    image: cloudflare/cloudflared:latest
    env_file:
      - .env
    command: tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}
  vless:
    image: gegedesembri/xray-vless:latest

VLESS Default Settings

{
  "listen": "0.0.0.0",
  "port": "80",
  "protocol": "vless",
  "tag": "vless-ws",
  "settings": {
    "decryption": "none",
    "clients": [
      {
	    "id": "730b6e0c-e463-11ef-a734-b36930036fe6",
	    "level": 0,
	    "alterId": 0,
	    "email": "vless.ws@xray.docker"
      }
    ]
  },
  "streamSettings": {
    "network": "ws",
    "security": "none",
    "wsSettings": {
      "path": "/vless"
    }
  }
}

Cloudflared Hostname Setting

Hostname Settings

HOW TO USE

  1. Fork this Repository to your Github
  2. Enter some required credentials according to the instructions and requirements listed here.
  3. Goto tab "Actions" on your repository > VLESS Tunnel > Run workflow Run workflow
  4. Your VLESS Tunnel is up and running VLESS Tunnel Running
  5. VLESS Link example : vless://730b6e0c-e463-11ef-a734-b36930036fe6@vless.docker.git:443?path=%2Fvless&security=tls&encryption=none&host=vless.docker.git&fp=randomized&type=ws&sni=vless.docker.git#VLESS+Docker

Limitations

  1. VLESS Tunnel will restart every 6 hours due to Github Actions limitation on timeout for each job
  2. Downtime ±20 seconds occurs every time job session switches
  3. Can only use Cloudflared as outbound traffic

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published