Creates Hysteria 2 / Reality / Shadowsocks tunnels very fast with one command while having the ability to customize every option if you want.
Optimized for Iran
- Features
- Requirements
- Usage
- General Arguments
- Hysteria Arguments
- Reality Arguments
- ShadowSocks Arguments
- install and run LATEST Reality server with one command for the following architectures:
i386
i686
amd64
x86_64
armv5tel
armv6l
armv7
armv7l
arm64
aarch64
mips
mipsle
mips64
mips64le
ppc64
ppc64le
riscv64
s390x
- Install and run LATEST Hysteria 2 server with one command for the following architectures:
i386
i686
amd64
x86_64
amd64v3
armv7
armv7l
arm64
aarch64
s390x
- install and run
shadowsocks-libev
usingsnap
- Update required packages automatically (can be disabled)
- Optimize server settings for best performance (can be disabled)
- Sets up the protocol on a separate user (NOT
root
) that is randomly created (can be customized) - Configures
ufw
to allow port (can be customized) - Uses
AVX
optimized package automatically if the machine supports it (amd64v3
) - Generates required certificates and keys (CN can be customized)
- Generates QR-Code to connect easily (can be disabled)
- VPS with Linux OS (Tests were done on Ubuntu 22.04)
- Optionally upgrade all your OS packages to the latest version (for security and performance)
- Run the following command in your VPS:
sudo curl -s https://raw.githubusercontent.com/MohsenHNSJ/TunlDigr/main/Dig.sh | bash
- Select the desired protocol
- Wait a few minutes and scan the QR Code
by specifying this argument, the script will automatically pass the tunnel selection part and proceed to creation.
useful for one-tap situations.
h2
: Hysteria 2xr
: Realityss
: Shadowsocks
by adding this flag, the script will NOT update repositories and install required packages.
useful if you already have the following packages installed:
wget
tar
openssl
gawk
sshpass
ufw
coreutils
curl
adduser
sed
grep
util-linux
qrencode
unzip
snapd
haveged
by adding this flag, the script will NOT optimize the sysctl.conf
and limits.conf
file.
not recommended
by adding this flag, the script will NOT show the connection information at the end of setup.
useful in case you have customized everything.
by adding this flag, the script will NOT show QR Code at the end of setup.
useful in case the screen resolution is too small.
by adding this flag, the script will NOT show the startup message.
the script generates a random username each time, you can override this behavior and provide your custom username to be used when creating a new user.
the script generates a random password each time, you can override this behavior and provide your custom password to be used when creating a new user.
you can set custom port for protocols.
Acceptable range is 0 - 65535
. if input is invalid, it will be ignored.
default is 443
you can set custom name for the server to show in connection configuration link.
default is server host name
you can set custom common name for SSL certificate.
default: google-analytics.com
you can set custom password for hysteria obfs (salamander).
default is random
you can set custom password for authentication to hysteria 2 protocol.
default is random
you can set custom UUID for reality protocol.
default generates random.
you can set custom private key.
MUST set -setxrpubkey
too or it will be ignored.
default generates random.
you can set custom public key.
MUST set -setxrprivkey
too or it will be ignored.
default generates random.
you can set custom short ID.
default generates random.
The file path for the access log.
The value is a valid file path, such as "/var/log/Xray/access.log".
When this item is not specified or is an empty value, the log is output to stdout.
Disables writing access logs.
The file path for the error log.
The value is a valid file path, such as "/var/log/Xray/error.log".
When this item is not specified or is an empty value, the log is output to stdout.
Disables writing error logs.
The log level for error logs, indicating the information that needs to be recorded.
Acceptable range 0 - 4
.
The default value is "warning" 3
.
0
"none": Do not record any content.
1
"debug": Output information used for debugging the program. Includes all "info" content.
2
"info": Runtime status information, etc., which does not affect normal use. Includes all "warning" content.
3
"warning": Information output when there are some problems that do not affect normal operation but may affect user experience. Includes all "error" content.
4
"error": Xray encountered a problem that cannot be run normally and needs to be resolved immediately.
If input is invalid, the script will revert back to default value.
Whether to enable DNS query logs.
For example: DOH//doh.server got answer: domain.com -> [ip1, ip2] 2.333ms.
Default disabled.
by adding this flag, the script will install the edge channel version of shadowsocks-libev