mirror of https://github.com/mack-a/v2ray-agent
feat(脚本): 增加xray-core mldsa65
parent
321a886bea
commit
6a196e418b
62
install.sh
62
install.sh
|
@ -433,6 +433,9 @@ readInstallProtocolType() {
|
|||
currentRealityPrivateKey=
|
||||
currentRealityPublicKey=
|
||||
|
||||
currentRealityMldsa65Seed=
|
||||
currentRealityMldsa65Verify=
|
||||
|
||||
singBoxVLESSVisionPort=
|
||||
singBoxHysteria2Port=
|
||||
singBoxTrojanPort=
|
||||
|
@ -515,6 +518,10 @@ readInstallProtocolType() {
|
|||
|
||||
currentRealityPublicKey=$(jq -r .inbounds[0].streamSettings.realitySettings.publicKey "${row}.json")
|
||||
currentRealityPrivateKey=$(jq -r .inbounds[0].streamSettings.realitySettings.privateKey "${row}.json")
|
||||
|
||||
currentRealityMldsa65Seed=$(jq -r .inbounds[0].streamSettings.realitySettings.mldsa65Seed "${row}.json")
|
||||
currentRealityMldsa65Verify=$(jq -r .inbounds[0].streamSettings.realitySettings.mldsa65Verify "${row}.json")
|
||||
|
||||
frontingTypeReality=07_VLESS_vision_reality_inbounds
|
||||
|
||||
elif [[ "${coreInstallType}" == "2" ]]; then
|
||||
|
@ -4332,6 +4339,7 @@ EOF
|
|||
initXrayXHTTPort
|
||||
initRealityClientServersName
|
||||
initRealityKey
|
||||
initRealityMldsa65
|
||||
cat <<EOF >/etc/v2ray-agent/xray/conf/12_VLESS_XHTTP_inbounds.json
|
||||
{
|
||||
"inbounds":[
|
||||
|
@ -4515,6 +4523,7 @@ EOF
|
|||
initXrayRealityPort
|
||||
initRealityClientServersName
|
||||
initRealityKey
|
||||
initRealityMldsa65
|
||||
|
||||
cat <<EOF >/etc/v2ray-agent/xray/conf/07_VLESS_vision_reality_inbounds.json
|
||||
{
|
||||
|
@ -5307,17 +5316,19 @@ EOF
|
|||
elif [[ "${type}" == "vlessReality" ]]; then
|
||||
local realityServerName=${xrayVLESSRealityServerName}
|
||||
local publicKey=${currentRealityPublicKey}
|
||||
local realityMldsa65Verify=${currentRealityMldsa65Verify}
|
||||
|
||||
if [[ "${coreInstallType}" == "2" ]]; then
|
||||
realityServerName=${singBoxVLESSRealityVisionServerName}
|
||||
publicKey=${singBoxVLESSRealityPublicKey}
|
||||
fi
|
||||
echoContent yellow " ---> 通用格式(VLESS+reality+uTLS+Vision)"
|
||||
echoContent green " vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&type=tcp&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&flow=xtls-rprx-vision#${email}\n"
|
||||
echoContent green " vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&pqv=${realityMldsa65Verify}&type=tcp&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&flow=xtls-rprx-vision#${email}\n"
|
||||
|
||||
echoContent yellow " ---> 格式化明文(VLESS+reality+uTLS+Vision)"
|
||||
echoContent green "协议类型:VLESS reality,地址:$(getPublicIP),publicKey:${publicKey},shortId: 6ba85179e30d4fc2,serverNames:${realityServerName},端口:${port},用户ID:${id},传输方式:tcp,账户名:${email}\n"
|
||||
echoContent green "协议类型:VLESS reality,地址:$(getPublicIP),publicKey:${publicKey},shortId: 6ba85179e30d4fc2,pqv=${realityMldsa65Verify},serverNames:${realityServerName},端口:${port},用户ID:${id},传输方式:tcp,账户名:${email}\n"
|
||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||
vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&type=tcp&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&flow=xtls-rprx-vision#${email}
|
||||
vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&pqv=${realityMldsa65Verify}&type=tcp&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&flow=xtls-rprx-vision#${email}
|
||||
EOF
|
||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||
- name: "${email}"
|
||||
|
@ -5340,23 +5351,25 @@ EOF
|
|||
echo "${singBoxSubscribeLocalConfig}" | jq . >"/etc/v2ray-agent/subscribe_local/sing-box/${user}"
|
||||
|
||||
echoContent yellow " ---> 二维码 VLESS(VLESS+reality+uTLS+Vision)"
|
||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40$(getPublicIP)%3A${port}%3Fencryption%3Dnone%26security%3Dreality%26type%3Dtcp%26sni%3D${realityServerName}%26fp%3Dchrome%26pbk%3D${publicKey}%26sid%3D6ba85179e30d4fc2%26flow%3Dxtls-rprx-vision%23${email}\n"
|
||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40$(getPublicIP)%3A${port}%3Fencryption%3Dnone%26security%3Dreality%26pqv%3D${realityMldsa65Verify}%26type%3Dtcp%26sni%3D${realityServerName}%26fp%3Dchrome%26pbk%3D${publicKey}%26sid%3D6ba85179e30d4fc2%26flow%3Dxtls-rprx-vision%23${email}\n"
|
||||
|
||||
elif [[ "${type}" == "vlessRealityGRPC" ]]; then
|
||||
local realityServerName=${xrayVLESSRealityServerName}
|
||||
local publicKey=${currentRealityPublicKey}
|
||||
local realityMldsa65Verify=${currentRealityMldsa65Verify}
|
||||
|
||||
if [[ "${coreInstallType}" == "2" ]]; then
|
||||
realityServerName=${singBoxVLESSRealityGRPCServerName}
|
||||
publicKey=${singBoxVLESSRealityPublicKey}
|
||||
fi
|
||||
|
||||
echoContent yellow " ---> 通用格式(VLESS+reality+uTLS+gRPC)"
|
||||
echoContent green " vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&type=grpc&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&path=grpc&serviceName=grpc#${email}\n"
|
||||
echoContent green " vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&pqv=${realityMldsa65Verify}&type=grpc&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&path=grpc&serviceName=grpc#${email}\n"
|
||||
|
||||
echoContent yellow " ---> 格式化明文(VLESS+reality+uTLS+gRPC)"
|
||||
echoContent green "协议类型:VLESS reality,serviceName:grpc,地址:$(getPublicIP),publicKey:${publicKey},shortId: 6ba85179e30d4fc2,serverNames:${realityServerName},端口:${port},用户ID:${id},传输方式:gRPC,client-fingerprint:chrome,账户名:${email}\n"
|
||||
echoContent green "协议类型:VLESS reality,serviceName:grpc,地址:$(getPublicIP),publicKey:${publicKey},shortId: 6ba85179e30d4fc2,pqv=${realityMldsa65Verify},serverNames:${realityServerName},端口:${port},用户ID:${id},传输方式:gRPC,client-fingerprint:chrome,账户名:${email}\n"
|
||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||
vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&type=grpc&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&path=grpc&serviceName=grpc#${email}
|
||||
vless://${id}@$(getPublicIP):${port}?encryption=none&security=reality&pqv=${realityMldsa65Verify}&type=grpc&sni=${realityServerName}&fp=chrome&pbk=${publicKey}&sid=6ba85179e30d4fc2&path=grpc&serviceName=grpc#${email}
|
||||
EOF
|
||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||
- name: "${email}"
|
||||
|
@ -5380,7 +5393,7 @@ EOF
|
|||
echo "${singBoxSubscribeLocalConfig}" | jq . >"/etc/v2ray-agent/subscribe_local/sing-box/${user}"
|
||||
|
||||
echoContent yellow " ---> 二维码 VLESS(VLESS+reality+uTLS+gRPC)"
|
||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40$(getPublicIP)%3A${port}%3Fencryption%3Dnone%26security%3Dreality%26type%3Dgrpc%26sni%3D${realityServerName}%26fp%3Dchrome%26pbk%3D${publicKey}%26sid%3D6ba85179e30d4fc2%26path%3Dgrpc%26serviceName%3Dgrpc%23${email}\n"
|
||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40$(getPublicIP)%3A${port}%3Fencryption%3Dnone%26security%3Dreality%26pqv%3D${realityMldsa65Verify}%26type%3Dgrpc%26sni%3D${realityServerName}%26fp%3Dchrome%26pbk%3D${publicKey}%26sid%3D6ba85179e30d4fc2%26path%3Dgrpc%26serviceName%3Dgrpc%23${email}\n"
|
||||
elif [[ "${type}" == "tuic" ]]; then
|
||||
local tuicUUID=
|
||||
tuicUUID=$(echo "${id}" | awk -F "[_]" '{print $1}')
|
||||
|
@ -9371,6 +9384,34 @@ initRealityKey() {
|
|||
echoContent green "\n privateKey:${realityPrivateKey}"
|
||||
echoContent green "\n publicKey:${realityPublicKey}"
|
||||
}
|
||||
# 初始化 mldsa65Seed
|
||||
initRealityMldsa65() {
|
||||
echoContent skyBlue "\n生成Reality mldsa65\n"
|
||||
if [[ -n "${currentRealityMldsa65}" && -z "${lastInstallationConfig}" ]]; then
|
||||
read -r -p "读取到上次安装记录,是否使用上次安装时的Seed/Verify ?[y/n]:" historyMldsa65Status
|
||||
if [[ "${historyMldsa65Status}" == "y" ]]; then
|
||||
realityMldsa65Seed=${currentRealityMldsa65Seed}
|
||||
realityMldsa65Verify=${currentRealityMldsa65Verify}
|
||||
fi
|
||||
elif [[ -n "${currentRealityMldsa65Seed}" && -n "${lastInstallationConfig}" ]]; then
|
||||
realityMldsa65Seed=${currentRealityMldsa65Seed}
|
||||
realityMldsa65Verify=${currentRealityMldsa65Verify}
|
||||
fi
|
||||
if [[ -z "${realityMldsa65Seed}" ]]; then
|
||||
# if [[ "${selectCoreType}" == "2" || "${coreInstallType}" == "2" ]]; then
|
||||
# realityX25519Key=$(/etc/v2ray-agent/sing-box/sing-box generate reality-keypair)
|
||||
# realityPrivateKey=$(echo "${realityX25519Key}" | head -1 | awk '{print $2}')
|
||||
# realityPublicKey=$(echo "${realityX25519Key}" | tail -n 1 | awk '{print $2}')
|
||||
# echo "publicKey:${realityPublicKey}" >/etc/v2ray-agent/sing-box/conf/config/reality_key
|
||||
# else
|
||||
realityMldsa65=$(/etc/v2ray-agent/xray/xray mldsa65)
|
||||
realityMldsa65Seed=$(echo "${realityMldsa65}" | head -1 | awk '{print $2}')
|
||||
realityMldsa65Verify=$(echo "${realityMldsa65}" | tail -n 1 | awk '{print $2}')
|
||||
# fi
|
||||
fi
|
||||
echoContent green "\n Seed:${realityMldsa65Seed}"
|
||||
echoContent green "\n Verify:${realityMldsa65Verify}"
|
||||
}
|
||||
# 检查reality域名是否符合
|
||||
checkRealityDest() {
|
||||
local traceResult=
|
||||
|
@ -9529,6 +9570,7 @@ initXrayRealityConfig() {
|
|||
echoContent skyBlue "\n进度 $1/${totalProgress} : 初始化 Xray-core reality配置"
|
||||
initXrayRealityPort
|
||||
initRealityKey
|
||||
initRealityMldsa65
|
||||
initRealityClientServersName
|
||||
}
|
||||
# 修改reality域名端口等信息
|
||||
|
@ -9796,7 +9838,7 @@ menu() {
|
|||
cd "$HOME" || exit
|
||||
echoContent red "\n=============================================================="
|
||||
echoContent green "作者:mack-a"
|
||||
echoContent green "当前版本:v3.4.16"
|
||||
echoContent green "当前版本:v3.4.17"
|
||||
echoContent green "Github:https://github.com/mack-a/v2ray-agent"
|
||||
echoContent green "描述:八合一共存脚本\c"
|
||||
showInstallStatus
|
||||
|
@ -9805,6 +9847,8 @@ menu() {
|
|||
echoContent red " "
|
||||
echoContent green "VPS选购攻略:https://www.v2ray-agent.com/archives/1679975663984"
|
||||
echoContent green "年付10美金低价VPS AS4837:https://www.v2ray-agent.com/archives/racknerdtao-can-zheng-li-nian-fu-10mei-yuan"
|
||||
echoContent green "优质常驻套餐DMIT CN2-GIA:https://www.v2ray-agent.com/archives/186cee7b-9459-4e57-b9b2-b07a4f36931c"
|
||||
echoContent green "VPS探针:https://ping.v2ray-agent.com/"
|
||||
echoContent red "=============================================================="
|
||||
if [[ -n "${coreInstallType}" ]]; then
|
||||
echoContent yellow "1.重新安装"
|
||||
|
|
Loading…
Reference in New Issue