|

SAP免费容器拓展玩法

首先,非常感谢罗叔带来的SAP免费容器,大家可以在油管上搜索罗叔对SAP的介绍及其基本的玩法。因在使用罗叔的镜像之后,不是太稳定,可能是用的人太多,经常会重启或崩溃,所以这里给大家介绍另外的玩法,同时也希望罗叔那边的镜像后面会更加完善。OK,开始!(这里主要是通过vps来进行操作,通过其它的途径也是可以的,可观看罗叔油管视频。)

###此教程无需你有台VPS,你有能执行登陆你账号的环境即可操作!!!

一、安装cf cli平台

cf平台的安装包地址是这个,这里我们直接对应vps架构选择 cf8-cli-installer_8.14.1_x86-64.deb 这个安装包,然后直接安装在vps上,命令如下:(注意在root权限下运行)

wget https://github.com/cloudfoundry/cli/releases/download/v8.14.1/cf8-cli-installer_8.14.1_x86-64.deb && apt install ./cf8-cli-installer_8.14.1_x86-64.deb
二、搭建节点

1、此处默认大家都已经申请了SAP的试用账号,登陆:(以新加坡平台以例)

cf login -a https://api.cf.ap21.hana.ondemand.com

2、push镜像,把 XXXX 换成你的应用名(下同)。

cf push XXXX --docker-image ghcr.io/hide3110/sap-argo:latest -m 1024M --health-check-type port

其实此时查看日志 cf logs XXXX –recent 就可以得到三个临时隧道的节点了,可以检查下节点是否通畅。

3、设置环境变量。设置镜像内对应的变量,注意空格。下面示例中的变量值是我乱填的,你们自行更改。示例中参数为哪吒v0的,如果不用哪吒删掉对应的三行即可。ARGO隧道部分自行在cloudflare中设置,端口为8001。

cf set-env XXXX UUID 306884b0-4e8e-4ed1-ac9b-8607eee8cca3
cf set-env XXXX NEZHA_SERVER nz.yeah.nom.za
cf set-env XXXX NEZHA_PORT 443
cf set-env XXXX NEZHA_KEY z4UXbutcLReAOyoVty
cf set-env XXXX ARGO_DOMAIN sapsg.yeah.nyc.mn
cf set-env XXXX ARGO_AUTH eyJhIjoiNWQ3YzdlN2I2NGFmNTUwYzNlOSI0ZmU3ZTg1Y2U4ZDAiLCJ0IjoiMzIyMjE5FTgtNDZhYi00OWVlLTg3MTItYmY3MWZkMDllOTRhIiwicyI6Ik56VmpNR016WkdVdE1qVTVZUzAwTWpGbUxUZzNZamd0D1dJME9XUTVNamcxWldSayJ9

注:上面代码全部粘贴至vps回车即可。如果使用哪吒v1,参数变量如下:

cf set-env XXXX NEZHA_SERVER nz.yeah.nom.za:8008
cf set-env XXXX NEZHA_KEY 填写哪吒v1的NZ_CLIENT_SECRET
#使用哪吒v1,启用不同的容器app时需修改UUID,否则会覆盖。NEZHA_PORT那项不用设置。

4、保存变量并重启。

cf restage XXXX

5、查看日志,获得订阅协议。

cf logs XXXX --recent

6、至此,你将得到vmess、vless、trjon三个节点,也可以不用查看日志,按下面填定协议内容即可。

7、cf 其它命令介绍,非必要操作!!!

cf delete xxxx -r    #删除指定容器

有挂探针的检查下应该已经上线。

三、保活脚本

另附上vps保活脚本,大家应该都有自己的保话方法,仅供参考。此vps保活拉起速度快非常省心,可观察探针状态。

#!/bin/bash

# --- 配置变量 (全部使用绝对路径) ---
# Cloud Foundry CLI 可执行文件路径
readonly CF_EXECUTABLE="/usr/bin/cf"
# 日志文件路径
readonly LOG_FILE="/root/cf_start.log"

# --- 身份认证信息 ---
readonly CF_API="https://api.cf.ap21.hana.ondemand.com"
readonly CF_USER="[email protected]"
readonly CF_PASSWORD='xxxx'
readonly CF_ORG="xxxxtrial"
readonly CF_SPACE="dev"

# --- 应用列表 ---
# 在这里添加所有需要启动的应用名称,可以同时拉起多个。
readonly CF_APPS=("xxx1" "xxx2")

# --- 函数定义 ---

# 日志记录函数
# 参数1: 日志信息
log() {
    # 将时间和日志信息追加到日志文件
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] - $1" >> "${LOG_FILE}"
}

# 主函数
main() {
    log "----------------------------------------------------"
    log "任务开始"

    # 1. 执行非交互式登录
    log "正在登录 Cloud Foundry..."
    if ! "${CF_EXECUTABLE}" login -a "${CF_API}" -u "${CF_USER}" -p "${CF_PASSWORD}" -o "${CF_ORG}" -s "${CF_SPACE}" >> "${LOG_FILE}" 2>&1; then
        log "错误:Cloud Foundry 登录失败。请检查凭证和网络连接。"
        log "任务异常结束"
        log "----------------------------------------------------"
        # 登录失败,直接退出
        exit 1
    fi

    log "登录成功。"

    # 2. 遍历并启动所有应用
    # 使用 for 循环处理 CF_APPS 数组中的每一个应用
    for app_name in "${CF_APPS[@]}"; do
        log "正在尝试启动应用: ${app_name}..."
        
        # 3. 执行启动命令
        if "${CF_EXECUTABLE}" start "${app_name}" >> "${LOG_FILE}" 2>&1; then
            log "应用 ${app_name} 启动命令已成功执行。"
        else
            log "错误:应用 ${app_name} 启动失败。请查看上面的日志获取详细信息。"
            # 可根据需求决定是否在一个应用启动失败后继续尝试下一个
        fi
    done

    log "所有应用启动任务完成。"
    log "任务结束"
    log "----------------------------------------------------"
}

# --- 脚本执行入口 ---
main

在vps上新建一个cf_start.sh文件,将上面内容粘贴进去后chomd +x赋权,新建个crontab计划任务即可使用!

have fun!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注