Surgio
Changelog
GitHub
Changelog
GitHub
  • 指南

    • 介绍
    • 快速上手
    • 自定义

      • 配置文件
      • Provider 服务提供者
      • Template 模板
      • Artifact 产品
    • 客户端规则维护指南

      • sing-box
      • Clash
      • 代码示例
    • 托管 API 功能
    • 命令行功能
    • 常见问题
    • v2 升级指南
    • v3 升级指南
    • 社区学习资源
  • 进阶

    • Surge 进阶 - 生成 SSR 订阅
    • 自定义过滤器
    • 编写更复杂的自定义 Provider
    • 自动化更新规则仓库
    • 快速搭建托管 API

      • 前言
      • 部署 - Zeabur
      • 部署 - Netlify Functions
      • 部署 - Railway
      • 部署 - Vercel
    • 开启 Redis 缓存
    • 苹果服务的连接策略推荐
Deployed on Zeabur

部署 - Netlify Functions

  • 准备
    • 开启接口鉴权
    • 增加平台配置
  • 部署
  • 配置 Redis 缓存
  • 查看用量
  • 使用

提示

  1. 该方法不要求代码托管平台,可为私有仓库(文章以 GitHub 为例)
  2. 已经部署其它平台的仓库可以修改之后增加部署到 Netlify Functions,互不影响
  3. 我们有一个运行的示例供你参考:netlify-demo

准备

确保 surgio 升级至 v2.17.0 或以上; @surgio/gateway 升级至 v1.5.0 或以上。

开启接口鉴权

注意

不建议关闭鉴权!

请阅读 这里。

增加平台配置

在代码库根目录新建文件 netlify.toml,内容如下:

[build]
  command = "exit 0"
  functions = "netlify/functions"
  publish = "."

[functions]
  included_files = [
    "node_modules/surgio/**",
    "node_modules/@surgio/**",
    "provider/**",
    "template/**",
    "*.js",
    "*.json"
  ]

[[redirects]]
  from = "/*"
  to = "/.netlify/functions/index"
  status = 200
  force = true

在代码库根目录新建目录 netlify/functions 并新建文件 netlify/functions/index.js,内容如下:

'use strict';

const gateway = require('@surgio/gateway');

module.exports.handler = gateway.createLambdaHandler();

将修改 push 到代码库。

部署

在 Netlify 中选择新建项目,并选择代码库平台。

授权成功之后即可选择代码库,然后会看到如下的页面:

点击 Deploy site 按钮,即可部署。

配置 Redis 缓存

此步骤可选,推荐配置

教程

查看用量

你可以在账户的 Billing 页面查询当月的用量。

使用

你可能还需要更新 surgio.conf.js 内 urlBase 的值,它应该类似:

https://surgio-demo.netlify.app/get-artifact/

移步至

托管 API 的功能介绍

帮助我们改善此页面!
Last Updated:
Contributors: Roy Li
Prev
部署 - Zeabur
Next
部署 - Railway