Estimated reading time: 1 minute
Note:
Beginning June 1, 2024, all newly created App Service apps will have the option to create a unique default hostname with a naming convention of
For more information, refer to Unique Default Hostname for App Service Resource.<app-name>
–<random-hash>
.<region>
.azurewebsites.net
. The names of existing apps will not change.
概述
Subconverter是一款开源于GitHub的实用工具,可以轻松地将Surge、V2Ray、SS等等常用协议的订阅互相转换,使得我们可以轻松将订阅添加到舒适自己使用的客户端软件,避免某些提供商不提供想要协议订阅的烦恼。支持容器化运行且官方提供Docker镜像。
而Azure App Service 是一种基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。可以使用自己喜欢的语言进行开发,无论是 .NET、.NET Core、Java、Node.js、PHP 还是 Python。应用程序可在基于 Windows 和 Linux 的环境中轻松运行和扩展。
App Service将 Microsoft Azure 的强大功能添加到应用程序,例如安全性、负载均衡、自动缩放和自动管理。此外,还可以利用其 DevOps 功能,例如从 Azure DevOps、GitHub、Docker Hub 和其他源持续部署、包管理、过渡环境、自定义域和 TLS/SSL 证书。
总而言之,可以简单理解为(触发运行式/可持续运行)一个容器。而且App Service的F1服务计划为始终免费,参见下表:
Free Plan | Cores | RAM | Storage | Pay as you go |
---|---|---|---|---|
F1 Free | Shared (60 CPU minutes / day) | 1 GB | 1.00 GB | $0 |
部署步骤
前提条件
- 已验证银行卡的Azure账户(是否过免费体验期均可)
Note:
如果没有合适的银行卡完成注册,可求助淘宝虚拟卡或自行搜索其他虚拟卡平台(注意稳定性和声誉,建议即充即用,防止被骗)。
国内发行的Visa/Mastercard借记卡同样可以用于注册(如:中国银行长城跨境通万事达世界卡(即莫奈卡))
步骤一:创建Azure App Service
- 登录Azure门户: 打开Azure门户并使用您的Azure账号登录。
- 创建资源组:
- 在左侧导航栏中选择“资源组”,点击“添加”并填写资源组的名称和区域,点击“查看 + 创建”。
- *进阶替代:打开Azure CLI,选择bash,输入:
az group create --name subconverter-rg --location eastasia
- 创建App Service:
- 在左侧导航栏中选择“创建资源”。
- 搜索“App Service”,点击“创建”。
- 填写应用服务的基本信息,如订阅、资源组、名称和发布类型(选择Docker)。
- *进阶替代:Azure CLI输入:
az appservice plan create --name subconverter-plan --resource-group subconverter-rg --sku F1 --is-linux
az webapp create --resource-group subconverter-rg --plan subconverter-plan --name subconverter-app --deployment-container-image-name tindy2013/subconverter:latest
步骤二:配置Docker容器
- 设置Docker镜像:
- 在创建App Service的过程中,选择“Docker”选项卡。
- 选择“单容器”并在“镜像和标签”中填写
subconverter
的Docker镜像信息,例如tindy2013/subconverter:latest
。 - *第三步使用进阶替代的跳过此步
- 配置环境变量:
- 在“配置”选项卡中,添加必要的环境变量。例如,
SUBCONVERTER_PORT
设置为25500
(或其他端口)。 - *进阶替代:Azure CLI输入:
az webapp config appsettings set --resource-group subconverter-rg --name subconverter-app --settings PORT=25500
- 在“配置”选项卡中,添加必要的环境变量。例如,
步骤三:部署并验证
- 部署应用:
- 检查所有设置,点击“创建”。
- 部署过程可能需要几分钟。部署完成后,导航到您的App Service应用。
- *步骤二使用进阶替代的跳过此步
- 验证部署:
- 在Azure门户中,找到您的App Service并点击”Browse”(”浏览”)以打开应用,如图:
- *进阶替代:Azure Cloud Shell输入:
az webapp show --resource-group subconverter-rg --name subconverter-app --query defaultHostName --output tsv
并复制并打开所输出的*.azurewebsites.net,HTTPS应是默认启用的。
步骤四:配置和使用
通过输入不同格式的订阅链接,验证转换结果是否符合预期。
https://<你的App Service名称>.azurewebsites.net/sub?target=<目标协议>&url=
<源订阅链接>(&emoji=false&list=true&sort=false&udp=false&tfo=false&scv=false&append_type=false&fdn=false&new_name=true
) 众多参数可参照文档选用
常见问题
App Service F1计划不支持持续运行,故其运行是触发式的,有访问请求时启动容器,数分钟(可自行设置)无活动自动停止运行,直到下一次收到访问请求。而每次启动容器都需要时间,故需要等待,如果超过了软件的超时时长,可隔15s左右再试一次。
你可能已经注意到了,App Service会分配 *.azurewebsites.net 的子域名,而这类公共服务域名是绝对不会被GFW完全阻断的;而且App Service F1是据微软所称是永久免费的。