This extension allows for easy, shortened URL link generation using a [Chhoto URL server][chhoto-github].
## Requirements
### Chhoto URL server
In order to use this extension, a [Chhoto URL server][chhoto-github] is required. If you don't have one already, refer to the [installation instructions][install-instructions].
### Set the `api_key` environment variable
The `api_key` environment variable must be configured in the [Chhoto URL server][chhoto-github] configuration.
For example, using Docker Compose, you can add the `api_key` environment variable under `environment:` like so:
```yaml
environment:
- api_key=SECURE_API_KEY
```
Alternatively, using Docker Run, you can add `-e api_key="SECURE_API_KEY" \` to the command arguments.
**Note:** The Chhoto URL server will output a warning if this is insecure, and a generated API key will be output. You may use that value if you can't think of a secure key, or you may generate an API key using your operating system's terminal.
For example, on Linux, you could generate an API key by running `tr -dc A-Za-z0-9 </dev/urandom | head -c 128`
## Installation
*This extension will be published to extension stores in the near future*
Once you have installed the extension, either through an extension store or [from source][install-from-source], you must configure the extension.
1. Right-click on the Chhoto URL extension icon (). If the extension is not pinned, the Chhoto URL extension icon will be under this highlighted icon:
5. Configure the settings under `Instance URL`, `API Key`, and `Protocol Filters`
## Usage
When the Chhoto URL extension icon is clicked, the current page's URL will be shortened. The shortened link will be copied to the clipboard.
## Privacy and Security
This extension only communicates to the Chhoto URL server instance you configure. All of the extension's data is stored locally in your local browser storage. The API key is kept in plaintext.
### Extension Permissions
| Permission | Required so that the extension can... |