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

@duobox/server

v0.1.1

Published

Duobox Organization、Remote Space 与 Git Smart HTTP 服务。

Downloads

167

Readme

@duobox/server

Duobox Organization、Remote Space 与 Git Smart HTTP 服务。

服务端复用 Downcity Federation 身份,并通过 Federation organizations service 实时验证 Organization Membership。Organization 与成员治理由 Federation 负责;Duobox Server 只保存 Space、Git repository、项目 ACL 与审计记录。

启动

duobox server init
duobox server start

server start 默认以后台进程运行。使用 statusrestartstop 管理进程;开发调试或交给 systemd、Docker、Dokploy 管理时使用 duobox server start --foreground

配置默认写入 ~/.duobox/server.env,数据默认写入 ~/.duobox/serverDUOBOX_REMOTE_URL 是 Organization 访问 API 和 Git repository 的公开地址,必须与 Federation Organization 中的 server_url 一致。服务端需要系统中存在 git

登录 Organization Owner 账户后,可以发现 Organization 并绑定当前 Server:

duobox login
duobox server organization list
duobox server organization link <organization-id-or-key>

权限模型

Federation Organization 角色负责治理:

  • Owner、Admin 自动获得 Duobox manager
  • Member 默认获得 viewer
  • active Membership 是所有 Space API 和 Git 操作的前置条件。

Duobox 项目角色负责 Space 与 Git 权限:

  • manager:创建和读取 Space、管理项目 ACL、读取和推送;
  • editor:读取和推送;
  • viewer:只读。

服务器管理员可以维护独立的 Duobox ACL:

duobox server organization access list <organization-id>
duobox server organization access set <organization-id> <user-id> --role editor
duobox server organization access remove <organization-id> <user-id>
duobox server space rename <space-id> --name "New name"
duobox server space archive <space-id>

服务端仅接受 refs/heads/main 的 fast-forward 更新,拒绝删除 main、force push 和其他分支。单个 Git blob 上限为 20 MiB。

开发验证

pnpm --filter @duobox/server run typecheck
pnpm --filter @duobox/server run test
pnpm --filter @duobox/server run build