open-index/open-npm huggingface dataset:
npm package: @shro/cli
Description: `shro` is an encrypted temporary sharing CLI for files, directories, and text.
Latest version: 0.1.1

# @shro/cli

`shro` is an encrypted temporary sharing CLI for files, directories, and text.

It encrypts content locally, uploads only encrypted payloads to your configured worker, and returns a share URL with the decryption key and delete token kept in the URL fragment.

## Install

```bash
npm install -g @shro/cli
```

## Requirements

- Node.js 20+
- A deployed `shro` worker

Set the worker base URL before use:

```bash
export SHARE_BASE_URL="https://shro-worker.example.workers.dev"
```

## Quick Start

```bash
shro ./report.pdf
shro ./photos
echo "hello world" | shro -
shro --text "hello world"
```

## Download And Delete

```bash
shro download "https://shro-worker.example.workers.dev/s/<id>#k=...&d=..."
shro delete "https://shro-worker.example.workers.dev/s/<id>#k=...&d=..."
```

## Example Session

Upload a file:

```bash
$ shro ./report.pdf
Preparing upload...
Uploading 1/1 chunks (2.4 MiB / 2.4 MiB, 100%)...
Finalizing upload...
https://shro-worker.example.workers.dev/s/abc123#k=...&d=...
Expires: 2026-04-08T12:34:56.000Z
QR:
[terminal QR code]
```

Upload text and get machine-readable output:

```bash
$ shro --text "hello world" --json
{"url":"https://shro-worker.example.workers.dev/s/abc123#k=...&d=...","expiresAt":"2026-04-08T12:34:56.000Z"}
```

Download and decrypt locally:

```bash
$ shro download "https://shro-worker.example.workers.dev/s/abc123#k=...&d=..." ./report.pdf
Downloaded: ./report.pdf
```

Delete a share:

```bash
$ shro delete "https://shro-worker.example.workers.dev/s/abc123#k=...&d=..."
Deleted: abc123
```

## Features

- Encrypts files, directories, and text locally with AES-GCM
- Supports up to 3 GiB file or archive uploads
- Splits large uploads into encrypted chunks
- Downloads and decrypts shared content locally
- Prints a terminal QR code for the share URL by default

## Security Notes

- Treat share URLs as bearer links
- Anyone with the full URL can access the share until it expires
- Anyone with the full URL can also delete the share
- Do not use it for regulated or highly sensitive data

## Publish

From the CLI package directory:

```bash
npm publish --access public
```

From the monorepo root:

```bash
npm publish --workspace @shro/cli --access public
```
npm package: @shrood/ds
Description: This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Latest version: 0.0.10

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
  },
}
```

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list