Skip to content

Repository files navigation

@lzwme/sserver

@lzwme/sserver

NPM version node version npm download GitHub issues GitHub forks GitHub stars

一个基于 Node.js 的简易静态服务器,用于辅助开发调试随启随用。

# 快速启动一个静态服务器
npx @lzwme/sserver -d ./dist

安装

# 全局安装
npm i -g @lzwme/sserver
ss -h

# 或者在项目中安装
npm i -D @lzwme/sserver
npm exec ss -- -h

# 或者直接使用 `npx`
npx @lzwme/sserver -h

使用

示例:

# 以当前目录下的 dist 作为静态根目录
ss -d ./dist

# 启用 https
ss --https

# 启用 https,指定域名(默认为 localhost)
ss -H --host local.lzw.me

# 启用 https,并保存默认生成的 ssl 证书
ss -H --ssl-cache ./cache

# 开启 localsend 局域网文件传输功能
ss --localsend

配置代理转发

支持通过配置文件 ss.config.js 指定代理转发等详细配置规则。

# 在当前目录初始化一个 ss.config.js 配置文件
ss init

配置文件内容示例:

// ss.config.js

/** @type {import('@lzwme/sserver').SSConfig} */
module.exports = {
  port: 8888,
  https: false,
  sslCache: '',
  rootDir: '.',
  // 代理转发配置
  proxyConfig: [
    // 内网代理企业微信机器人接口示例
    {
      api: '/proxy/cgi-bin/webhook/send',
      config: {
        target: 'https://qyapi.weixin.qq.com',
        changeOrigin: true,
        pathRewrite: {
          '^/proxy/cgi-bin': '/cgi-bin',
        },
      },
    },
  ],
}

LocalSend 局域网文件传输

开启后可通过 http://<本机IP>:<port>/localsend 访问,实现同网段设备间的文件快速传输(支持多文件上传/下载、实时进度、二维码扫码访问、扫码直连下载、文件预览与排序等):

# 命令行方式开启
ss --localsend

# 指定文件存储目录(也可用环境变量 SS_LOCALSEND_DIR 指定)
ss --localsend --localsend-dir /tmp/localsend

配置文件方式开启:

// ss.config.js
module.exports = {
  port: 8888,
  localsend: {
    enabled: true,
    // 文件存储目录。默认 ~/.static-server/localsend,可用环境变量 SS_LOCALSEND_DIR 覆盖
    dir: '/tmp/localsend',
    // 单个文件上传大小限制(字节),默认 1GB
    maxSize: 1024 * 1024 * 1024,
  },
};

开发

本地二次开发:

git clone https://github.com/lzwme/static-server.git
pnpm install
pnpm build

# dev
pnpm dev

# global link
npm link

或者 fork 本项目进行代码贡献。

欢迎贡献想法与代码。

License

@lzwme/sserver is released under the MIT license.

该插件由志文工作室开发和维护。

About

一个基于 nodejs 的简易静态服务器,方便随时开发调试使用。支持简单的 PHP 服务。

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages