Background#
The reason is that I purchased the BandwagonHost CN2 GIA Special Limited Edition for over 300 yuan on September 13th. It is indeed good, but I did not notice that the monthly 500GB traffic is billed in both directions, which means it is actually 250GB, which is far from enough for me. So I negotiated a refund with BandwagonHost, and after several emails, BandwagonHost said that although I meet the 30-day refund policy, the traffic has already exceeded 1/10, so they will not give me a refund. (I consumed 100GB in the previous review).
Boosted by Oracle Cloud#
So I had to take out my precious Oracle Cloud Japan as a backup. Since the Oracle Cloud Japan node is often 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#
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 different time periods for testing
September 18, 2023, 12:10 Test#
VLESS-gRPC-uTLS-REALITY
Hysteria2
September 18, 2023, 19:30 (Evening Peak) Test (Ten times??)#
VLESS-gRPC-uTLS-REALITY
Hysteria2
VLESS-gRPC-uTLS-REALITY
Hysteria2
VLESS-gRPC-uTLS-REALITY
Hysteria2
The results are amazing, it's like a full recovery! The backup of BandwagonHost is also sufficient.
Summary: Friends with client conditions can directly use it, 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 your 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 # Disguised website
rewriteHost: true
EOF
Server-related commands#
# 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
}
}