# @coboxcoop/superusers

> private spaces for superusers to administrate a seeder

Latest version **1.0.7-alpha.1** (published 2022-04-07) · AGPL-3.0-only license · 0 weekly downloads

## Install

```sh
npm install @coboxcoop/superusers
pnpm add @coboxcoop/superusers
yarn add @coboxcoop/superusers
bun add @coboxcoop/superusers
```

## Health

**Score 5/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: insecure dependencies; abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.7-alpha.1 |
| Published | 2022-04-07 |
| First published | 2020-07-29 |
| Weekly downloads | 0 |
| License | AGPL-3.0-only |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 17 |
| Unpacked size | 48.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | magma collective |
| Maintainers | kyphae, ameba23 |
| Keywords | cobox, admin, seeder, superusers, kappa-core |

## Links

- npm: https://www.npmjs.com/package/@coboxcoop/superusers
- Repository: https://gitlab.com/coboxcoop/superusers
- Homepage: https://cobox.cloud
- Issues: https://gitlab.com/coboxcoop/superusers/issues
- npm.io page: https://npm.io/package/@coboxcoop/superusers

## Dependencies (17)

- [debug](https://npm.io/package/debug.md) ^4.1.1
- [level](https://npm.io/package/level.md) ^6.0.0
- [assert](https://npm.io/package/assert.md) ^2.0.0
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.5
- [thunky](https://npm.io/package/thunky.md) ^1.1.0
- [through2](https://npm.io/package/through2.md) ^3.0.1
- [kappa-core](https://npm.io/package/kappa-core.md) github:Frando/kappa-core#exp-0.2.3
- [subleveldown](https://npm.io/package/subleveldown.md) ^4.1.4
- [call-me-maybe](https://npm.io/package/call-me-maybe.md) ^1.0.1
- [@coboxcoop/log](https://npm.io/package/@coboxcoop/log.md) ^1.0.6-alpha.1
- [@coboxcoop/keys](https://npm.io/package/@coboxcoop/keys.md) ^1.0.2-alpha.1
- [kappa-view-query](https://npm.io/package/kappa-view-query.md) ^3.0.1
- [@coboxcoop/crypto](https://npm.io/package/@coboxcoop/crypto.md) ^1.0.2-alpha.1
- [@coboxcoop/logger](https://npm.io/package/@coboxcoop/logger.md) ^1.0.1-alpha.1
- [@coboxcoop/schemas](https://npm.io/package/@coboxcoop/schemas.md) 1.0.0-alpha.1
- [@coboxcoop/constants](https://npm.io/package/@coboxcoop/constants.md) ^1.0.1-alpha.1
- [@coboxcoop/replicator](https://npm.io/package/@coboxcoop/replicator.md) ^1.0.6-alpha.1

## Recent versions

- 1.0.7-alpha.1 (latest) — 2022-04-07
- 1.0.6-alpha.1 — 2022-04-07
- 1.0.5-alpha.1 — 2021-06-17
- 1.0.4-alpha.1 — 2020-07-29
- 1.0.3-alpha.1 — 2020-07-29
- 1.0.2-alpha.1 — 2020-07-29
- 1.0.1-alpha.1 — 2020-07-29
- 1.0.0-alpha.1 — 2020-07-29

## README

# Superusers

<div align="center">
  <img src="https://cobox.cloud/src/svg/logo.svg">
</div>

[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)

## Table of Contents

  - [About](#about)
  - [Install](#install)
  - [Usage](#usage)
  - [API](#api)
  - [Contributing](#contributing)
  - [License](#license)

## About
**CoBox** is an encrypted p2p file system and distributed back-up tool. [README](https://gitlab.com/coboxcoop/readme) provides a map of the project.

`superuser` provides a superuser space which is like a special kind of `@coboxcoop/space`. Rather than managing an archive of files together, it represents the space who manage a cobox hardware seeder, the superuser space, allowing them to control which spaces it replicates.

This is done by sending encrypted messages to [@coboxcoop/seeder](https://gitlab.com/coboxcoop/seeder).

An superuser space simply contains a `@coboxcoop/log` which uses a `kappa-core` and `multifeed` instance, inherited from `@coboxcoop/replicator`, `kappa-view-query` for querying the log, and wraps it all with a cryptographic value encoder so the log is fully encrypted.

# Install

```
npm install @coboxcoop/superusers
```

# Usage

```js
const crypto = require('@coboxcoop/crypto')
const Superusers = require('./')

const storage = tmp()
const address = crypto.address()
const encryptionKey = crypto.encryptionKey()
const identity = crypto.boxKeyPair()
const superusers = Superusers(storage, address, identity, { encryptionKey })

let query = { $filter: { value: { type: 'peer/about' } } }
let stream = superusers.log.read({ query })
stream.on('data', console.log)

superusers.log.publish({ type: 'peer/about', content: { name: 'Magpie' } })
superusers.swarm()
```

## API
See swagger documentation... (we won't have this for a while).

## Contributing

PRs accepted.

Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.

# License

[`AGPL-3.0-or-later`](./LICENSE)

---
_Source: https://npm.io/package/@coboxcoop/superusers · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
