npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

auto-static-web

v1.0.4

Published

一键部署静态网站到阿里云 OSS

Readme

auto-static-web

一键部署静态网站到阿里云 OSS,支持可选 HTTPS(CDN 加速 + 免费 SSL 证书)。

给定一个本地文件夹(或单个 HTML 文件)和一个域名,自动完成:

  1. 创建 OSS Bucket(或复用已有的)
  2. 上传文件(自动设置 MIME 类型和缓存策略)
  3. 开启静态网站托管
  4. 配置 CNAME 解析
  5. 绑定自定义域名
  6. (可选)启用 HTTPS — 自动创建 CDN 加速域名 + 配置免费 SSL 证书

全程自动,无需打开阿里云控制台。


前置准备

1. 安装 Node.js

需要 Node.js 18 或更高版本。

下载地址:https://nodejs.org/ (选 LTS 版本)

验证安装:

node -v
# 应显示 v18.x.x 或更高

2. 开通阿里云 OSS

  1. 注册/登录 阿里云
  2. 搜索「对象存储 OSS」并进入
  3. 按提示开通服务(按量付费,部署一个小静态站费用可忽略)

3. 获取 AccessKey

强烈建议使用 RAM 子用户,不要用主账号的 AccessKey。

  1. 登录 RAM 控制台
  2. 左侧 身份管理 → 用户 → 创建用户
  3. 填写用户名(如 auto-static-web),勾选 OpenAPI 调用访问
  4. 创建后,立即保存 AccessKey ID 和 Secret(Secret 仅显示一次)
  5. 给用户授权,搜索并添加:
    • AliyunOSSFullAccess(OSS 读写权限)
    • AliyunDNSFullAccess(DNS 解析权限)
    • AliyunCDNFullAccess(CDN 权限,启用 HTTPS 时需要)

4. 准备域名

  • 一个域名(已备案或不需要备案的都可以)
  • 域名的 DNS 解析托管在阿里云(工具会自动配置 CNAME 记录)

安装

# 克隆项目
git clone <repo-url>
cd auto-static-web

# 安装依赖
npm install

# 编译
npm run build

# 全局链接(之后可在任意目录使用 auto-static-web 命令)
npm link

配置 AccessKey

在项目根目录创建 .env 文件:

ALIBABA_CLOUD_ACCESS_KEY_ID=你的AccessKey_ID
ALIBABA_CLOUD_ACCESS_KEY_SECRET=你的AccessKey_Secret

.env 文件已在 .gitignore 中,不会被提交到 Git 仓库。


使用方式

一行命令部署(HTTP)

auto-static-web deploy -d ./dist --domain static.example.com

一行命令部署(HTTPS)

加 --https 参数,自动走 CDN 流路并配置免费 SSL 证书:

auto-static-web deploy -d ./dist --domain static.example.com --https

交互过程:

? 该域名是否已完成 ICP 备案? No
? 是否启用 HTTPS?(通过 CDN 加速,自动配置免费 SSL 证书) Yes

  ── 部署配置确认 ──
  Bucket:    asw-m1a2b3-xyz
  文件路径:  /path/to/dist
  地域:      香港
  访问域名:  static.example.com
  HTTPS:    启用

? 请确认:确认,开始部署

✔ Bucket [asw-m1a2b3-xyz] 已就绪 (cn-hongkong)
✔ 上传完成: 34 个文件已上传
✔ 静态网站托管已开启 (首页: index.html, 404: index.html)
✔ CDN 加速域名已创建
✔ CNAME 记录已配置
✔ HTTPS 已启用 (免费 SSL 证书)

  ✨ 部署完成!
     访问地址: https://static.example.com
     OSS 地址: http://asw-m1a2b3-xyz.oss-cn-hongkong.aliyuncs.com
     文件数量: 34
     HTTPS 已启用

交互式部署

只传文件路径,其他选项通过交互选择:

auto-static-web deploy -d ./dist

CLI 会依次询问:

  1. 自定义域名
  2. 是否已备案(已备案 → 华东1,未备案 → 香港)
  3. 是否启用 HTTPS
  4. 确认配置(可反复修改 Bucket / 域名 / 地域)

常用命令速查

| 场景 | 命令 | |------|------| | 最简单部署 | auto-static-web deploy -d ./dist --domain static.example.com | | HTTPS 部署 | auto-static-web deploy -d ./dist --domain static.example.com --https | | 指定 Bucket 名称 | auto-static-web deploy -d ./dist -b my-site --domain static.example.com | | 指定地域 | auto-static-web deploy -d ./dist --domain static.example.com -r cn-hangzhou | | 交互式 | auto-static-web deploy -d ./dist |


参数说明

| 参数 | 短参 | 必填 | 说明 | |------|------|------|------| | --dist | -d | 是 | 本地文件夹路径或单个 HTML 文件路径 | | --domain | | 否 | 自定义域名(不传则交互式询问) | | --bucket | -b | 否 | OSS Bucket 名称(不传则自动生成) | | --region | -r | 否 | OSS 地域(默认根据备案状态自动选择) | | --https | | 否 | 启用 HTTPS(通过 CDN 加速 + 免费 SSL 证书) |


域名与地域选择

| 场景 | 地域 | 说明 | |------|------|------| | 已备案域名 | cn-hangzhou | 国内访问更快 | | 未备案域名 | cn-hongkong | 无需备案即可使用 |


工作原理

HTTP 部署流程

创建/复用 Bucket → 上传文件 → 开启静态托管 → 配置 CNAME → 绑定域名

关键设计:先配置 CNAME 再绑定域名。OSS 绑定域名时会检查域名是否已解析到该 Bucket。CNAME 已存在时,同账号域名通常可直接绑定成功,无需手动验证。

HTTPS 部署流程

创建/复用 Bucket → 上传文件 → 开启静态托管 → 创建 CDN 加速域名 → 配置 CNAME → CDN → 配置免费 SSL

HTTPS 路径通过 CDN 代理 OSS 流量,CDN 自动配置免费 SSL 证书。不需要在 OSS 上绑定域名(CDN 直接回源 OSS Bucket)。


常见问题

Q: 域名不在阿里云 DNS 怎么办?

工具自动配置 CNAME 仅支持阿里云 DNS。如果域名 DNS 在其他服务商,需要手动添加 CNAME 记录:

  • HTTP:指向 {bucket}.oss-{region}.aliyuncs.com
  • HTTPS:指向 CDN 分配的 CNAME(工具会显示)

Q: 已备案域名选华东1还是香港?

已备案域名可选华东1(国内访问更快),也可以选香港。未备案域名只能选香港。

Q: Bucket 名称被占用怎么办?

OSS Bucket 名称全局唯一。如果指定的名称被占用,工具会提示并询问是否自动生成新名称。

Q: 重新部署会覆盖旧文件吗?

会。同名文件会被覆盖。建议使用相同的 Bucket 和域名重复部署。

Q: CDN 创建失败提示 RAM 权限不足?

使用 --https 需要 CDN 权限。在 RAM 控制台 给用户添加 AliyunCDNFullAccess 权限策略。


许可

ISC

作为 Claude Code Skill 使用

如果你使用 Claude Code,可以将 ossify 安装为 skill,通过对话即可部署:

  1. 将 skill/ 目录复制到 ~/.claude/skills/ossify/
  2. 在 Claude Code 中说「帮我把 ./dist 部署到 xxx.com」
  3. 首次使用会自动打开图文引导页,帮助你配置阿里云 AccessKey
  4. 后续使用直接部署,无需再次配置

Skill 优势

  • 浏览器图文引导:首次配置时自动打开带截图的引导页面
  • 对话式部署:自然语言交互,无需记命令行参数
  • 凭证本地管理:AccessKey 保存在 ~/.ossify/auth.json,不经过任何外部服务
  • 记忆上次配置:重新部署时自动使用上次的域名、地域等设置
  • 跨平台支持:macOS、Windows、Linux