banner
Geek

Geek

🧠在家居士 | 🥦素食者 | 🏃🏻马拉松爱好者 | 📡AI降临派 | 过🪜技术资深学者 | 🤖科技狂 | 📤更新狂🆅 https://www.igeekbb.com/
twitter
github

Hysteria2 & VLESS-gRPC-uTLS-REALITY Comparison Test

Background#

The reason for this is that I purchased the Bandwagonhost CN2 GIA Special Limited Edition on September 13th for over 300 yuan per year. It was indeed good, but I didn't notice that the monthly 500GB traffic is billed in both directions, so it's actually 250GB, which is far from enough for me. I immediately negotiated a refund with Bandwagonhost, and after several emails, Bandwagonhost stated that although I meet the 30-day refund policy, I have already used more than 1/10 of the traffic, so they will not refund me. (I consumed 100GB in the previous review).

Image

Using Oracle Cloud#

So I had to use my precious Oracle Cloud Japan as a backup. Since the Oracle Cloud Japan node's network is usually in a disabled state and cannot be used at all. Fortunately, in the latest video by "Bad Lin" Using Hysteria2 to Save Garbage VPS, I tried to see if I could revive the garbage line of Oracle Cloud.

Oracle Cloud Japan → China Unicom#

Image

Results#

After deploying Hysteria V2, let's take a look at the results:

  • Same VPS (Oracle Cloud Japan)
  • Same video speed test
  • Two protocols: Hysteria2 & VLESS-gRPC-uTLS-REALITY
  • Two testing periods

September 18, 2023, 12:10 Test#

VLESS-gRPC-uTLS-REALITY

Image

Hysteria2

Image


September 18, 2023, 19:30 (Peak Hour) Test (Ten Times??)#

VLESS-gRPC-uTLS-REALITY

Image

Hysteria2

Image


VLESS-gRPC-uTLS-REALITY

Image

Hysteria2

Image


VLESS-gRPC-uTLS-REALITY

Image

Hysteria2

Image

The results are amazing, it's like a full recovery! The backup from Bandwagonhost is also sufficient.

Summary: Friends with client conditions can go for it directly, especially for garbage line VPS, there is no need to hesitate!

Deploy Hysteria2#

"Bad Lin's" video tutorial is quite detailed, just follow the instructions: https://youtu.be/CXj-ID33MhU?si=O9rHNhcN7x06ttCL

Below are the relevant documents from the video tutorial for everyone's convenience.

Step 1: One-click installation of Hysteria2#

bash <(curl -fsSL https://get.hy2.sh/)

Step 2: Generate a self-signed certificate#

openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt

Step 3: Server configuration file#

cat << EOF > /etc/hysteria/config.yaml
listen: :443 # Listening port

# Use CA certificate
#acme:
#  domains:
#    - a.com # Your domain name, needs to be resolved to the server IP first
#  email: [email protected]

# Use self-signed certificate
#tls:
#  cert: /etc/hysteria/server.crt
#  key: /etc/hysteria/server.key

auth:
  type: password
  password: 123456 # Set authentication password
  
masquerade:
  type: proxy
  proxy:
    url: https://bing.com # Fake website URL
    rewriteHost: true
EOF
# Start Hysteria2
systemctl start hysteria-server.service
# Restart Hysteria2
systemctl restart hysteria-server.service
# Check Hysteria2 status
systemctl status hysteria-server.service
# Stop Hysteria2
systemctl stop hysteria-server.service
# Set to start on boot
systemctl enable hysteria-server.service
# View logs
journalctl -u hysteria-server.service

Client configuration file#

server: ip:443
auth: 123456

bandwidth:
  up: 20 mbps
  down: 100 mbps
  
tls:
  sni: a.com
  insecure: false # Change to true when using self-signed certificate

socks5:
  listen: 127.0.0.1:1080
http:
  listen: 127.0.0.1:8080

Sing-box configuration file (Android/IOS)#

{
  "dns": {
    "servers": [
      {
        "tag": "cf",
        "address": "https://1.1.1.1/dns-query"
      },
      {
        "tag": "local",
        "address": "223.5.5.5",
        "detour": "direct"
      },
      {
        "tag": "block",
        "address": "rcode://success"
      }
    ],
    "rules": [
      {
        "geosite": "category-ads-all",
        "server": "block",
        "disable_cache": true
      },
      {
        "outbound": "any",
        "server": "local"
      },
      {
        "geosite": "cn",
        "server": "local"
      }
    ],
    "strategy": "ipv4_only"
  },
  "inbounds": [
    {
      "type": "tun",
      "inet4_address": "172.19.0.1/30",
      "auto_route": true,
      "strict_route": false,
      "sniff": true
    }
  ],
  "outbounds": [
    {
      "type": "hysteria2",
      "tag": "proxy",
      "server": "ip",
      "server_port": 443,
      "up_mbps": 20,
      "down_mbps": 100,
      "password": "123456",
      "tls": {
        "enabled": true,
        "server_name": "a.com",
        "insecure": false
      }
    },
    {
      "type": "direct",
      "tag": "direct"
    },
    {
      "type": "block",
      "tag": "block"
    },
    {
      "type": "dns",
      "tag": "dns-out"
    }
  ],
  "route": {
    "rules": [
      {
        "protocol": "dns",
        "outbound": "dns-out"
      },
      {
        "geosite": "cn",
        "geoip": [
          "private",
          "cn"
        ],
        "outbound": "direct"
      },
      {
        "geosite": "category-ads-all",
        "outbound": "block"
      }
    ],
    "auto_detect_interface": true
  }
}
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.