JSPM

  • Created
  • Published
  • Downloads 74
  • Score
    100M100P100Q120713F
  • License ISC

Lightweight Bluesky labeler server for Cloudflare Workers.

Package Exports

  • @rito-blue/labeler
  • @rito-blue/labeler/dist/index.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rito-blue/labeler) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Rito Labeler

English | 日本語


English

npm version license

Lightweight Bluesky labeler server designed for Cloudflare Workers. Fast, serverless, and easy to deploy.

Features

  • 🚀 Full Stack: Both Solo PDS (Cirrus) and Labeler in a single Cloudflare Worker.
  • 🛠️ Unified CLI: Zero-config setup for both identity and moderation services.
  • 🛡️ Secure by Design: Automatic password hashing and separate signing keys.

Prerequisites

Before you start, you will need:

  • Cloudflare Account: To host the worker and storage.
  • Managed Domain: A domain name managed in your Cloudflare account (used for your Handle and did:web).
  • pnpm / npm: To install dependencies.

Supported Endpoints

This library implements a subset of atproto XRPC endpoints relevant to labeling and moderation:

  • Labeling: queryLabels, subscribeLabels (Websocket).
  • Moderation: emitEvent, queryStatuses, queryEvents, createReport.
  • Team: listMembers, updateMember.

日本語

🚀 特徴

  • 🚀 フルスタック: Solo PDS (Cirrus) とラベラーを1つの Cloudflare Worker に統合。
  • 🛠️ 統合CLI: アイデンティティとモデレーションサービスの両方を設定不要でセットアップ可能。
  • 🛡️ 安全な設計: パスワードの自動ハッシュ化と個別の署名鍵管理。

📋 前提条件

開始する前に以下が必要です:

  • Cloudflare アカウント: Worker とストレージのホスティング用。
  • 管理ドメイン: Cloudflare で管理されているドメイン名(ハンドル名および did:web として使用)。
  • pnpm / npm: 依存関係のインストール用。

📡 サポートされているエンドポイント

atproto の XRPC エンドポイントのうち、ラベリングとモデレーションに関連するサブセットを実装しています:

  • ラベリング: ラベルの取得 (queryLabels)、リアルタイム配信 (subscribeLabels)。
  • モデレーション: イベント発行、ステータス照会、履歴照会、ユーザーからの通報受付。
  • チーム管理: モデレーターの一覧表示、ロール設定。

Quick Start / クイックスタート

1. Setup / セットアップ

Create a new directory and initialize your project: 新しいディレクトリを作成し、プロジェクトを初期化します:

mkdir my-rito-labeler
cd my-rito-labeler
npx @rito-blue/labeler@latest setup

Follow the prompts for Domain (Handle) and Password. The CLI handles everything. プロンプトに従って ドメイン(ハンドル)パスワード を入力してください。残りの設定はすべて CLI が自動で行います。

2. Deploy / デプロイ

pnpm install
pnpm run deploy

CLI Commands / CLIコマンド

  • npx @rito-blue/labeler setup: Interactive setup. / インタラクティブなセットアップ。
  • npx @rito-blue/labeler deploy: Set secrets and deploy. / シークレットを設定してデプロイ。

Architecture / アーキテクチャ

Rito Labeler uses Hono (High-performance web framework) and Durable Objects (Websocket & state management).

License

MIT License - Copyright (c) 2026 usounds.work

Contributing

Vulnerabilities should be reported via Bluesky @usounds.work.