#steel #fox #lambda #aws-lambda #plate #arctic #popcat

app steel-plate

适用于北极狐的钢板,类似于POP CAT

1 个不稳定版本

0.1.0 2022年8月2日

#3#fox

MIT 许可证

535KB
301

钢板

项目:为北极狐(或雪狐桑)打造的钢板

志愿者

您可以通过pull request改进UI设计。
此外,还非常欢迎授权的媒体材料。

测试过的浏览器

  1. Safari(存在已知错误)
  2. Google Chrome

安装

AWS Lambda

构建

Mac OS

(仅在Apple Silicon上测试过)

  1. 安装Rust开发环境
  2. 使用以下命令添加目标 x86_64-unknown-linux-musl
$ rustup target add x86_64-unknown-linux-musl
  1. 安装ross编译工具链
$ brew install filosottile/musl-cross/musl-cross
  1. 导航到项目根目录,然后运行
$ mkdir .cargo
$ echo '[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"' > .cargo/config
  1. x86_64-linux-musl-gcc 添加命令别名
$ ln -s `where x86_64-linux-musl-gcc` /usr/local/bin/musl-gcc
  1. 交叉编译
$ cargo build --release --target x86_64-unknown-linux-musl
  1. 打包成zip文件
$ zip -j rust.zip ./target/x86_64-unknown-linux-musl/release/bootstrap
Linux amd64

!!! 待测试 !!!

  1. 安装Rust开发环境
  2. 导航到项目根目录
  3. 编译
$ cargo build --release
  1. 打包成zip文件
$ zip -j rust.zip ./target/release/bootstrap

Lambda 准备

  1. 在Lambda函数页面点击 从零开始创建函数
  2. 选择 作者从头开始
  3. 输入您的函数名称
  4. 运行时 设置为 在Amazon Linux 2 上提供自己的引导
  5. 架构 设置为 x86_64
  6. 点击 创建函数 完成创建
  7. 进入您创建的函数,在 代码源 下的卡片 上传来源 点击 上传
  8. 选择 .zip file
  9. 上传之前打包的 rust.zip 并点击 保存
  10. 等待完成

DynamoDB 准备

  1. 在DynamoDB表页面点击 创建表
  2. 输入您的 表名称
  3. 分区键 设置为 key,类型为 String
  4. 根据您的需求设置 表设置
  5. 点击 创建表 完成创建
  6. 在侧边栏点击 探索项
  7. 选择您之前设置的 表名称
  8. 点击 创建项
  9. 添加新属性 下,选择 数字
  10. 设置为 total,其中 属性名称 显示 key
  11. NewValue 更改为 value 并将其 设置为 0
  12. 点击 创建项目 完成

编辑角色

  1. 前往 IAM 并打开 角色
  2. 选择之前创建的lambda函数绑定的角色
  3. 添加权限 下点击 附加策略
  4. 要么创建自己的策略(更安全,更复杂),要么使用AWS提供的 AmazonDynamoDBFullAccess(更危险,但更简单)
  5. 点击 附加策略 完成角色编辑 示例自定义策略
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "0",
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:GetItem",
        "dynamodb:UpdateItem"
      ],
      "Resource": "arn:aws:dynamodb:xxxxxx:xxxxxxx:table/xxxxxx"
    },
    {
      "Sid": "1",
      "Effect": "Allow",
      "Action": "dynamodb:ListTables",
      "Resource": "*"
    }
  ]
}

API网关设置

  1. 创建一个 HTTP API
  2. 集成 设置为您的lambda函数
  3. 配置路由 下,将 方法 设置为 ANY资源路径 设置为 /{proxy+}集成目标 设置为您的lambda函数
  4. 将其他设置为默认值或根据您的喜好进行编辑
  5. 打开 调用 URL 中显示的URL,您最终可以享受到100%纯钢板的北极狐

独立

!!! 独立版将在服务器内存中存储总点击量,并且只存储在内存中!!!
但是,通过设置环境变量 STEEL_PLATE_COUNT_BASE,您可以设置基本点击次数

  1. 安装Rust开发环境
  2. 导航到项目根目录
  3. 使用以下命令编译
$ cargo build --release
  1. 运行
$ ./target/release/steel-plate
  1. http://127.0.0.1:8082/ 上享受北极狐的高纯度钢板

已知错误

  1. 在快速点击Safari后无法播放音频

许可证

MIT许可证
2022 Richard Chen

依赖关系

~35–52MB
~1M SLoC