diff --git a/README.md b/README.md index 81116fa..9b15fd1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,40 @@ # anssxustawai A Not Shitty ShareX Upload Server That Actually Works As Intended (Pronounced "an-zoo-sta-why") -### Todo +## Features -- [x] Token authorization via HTTP headers -- [x] Upload images -- [ ] Upload videos -- [ ] Upload files +- [x] Token authorization via HTTP `Authorization` header +- [x] Upload images, videos, files - [ ] Thumbnail support - [x] Delete support - [ ] Multiple database types (JSON, Mongo, MySQL, PostgreSQL, etc.) -- [ ] Multiple access types (original, mixed-case alphanumeric, [ZWS](https://zws.im)) \ No newline at end of file +- [ ] Multiple access types (original, mixed-case alphanumeric, [ZWS](https://zws.im), etc. Currently uses ZWS) + +## Installation + +1. First of all you must have Node.js 14 or later installed. It might work with Node.js 12 but just use 14. +2. Clone this repo using `git clone https://github.com/tycrek/anssxustawai.git && cd anssxustawai/` +3. Install the required dependencies using `npm i` +4. Configure `.env.example` *before* running if you wish to +5. Run `npm start` to start. This will: + - Automatically copy `.env.example` to `.env` + - Creates `data.json` & `auth.json` + - Generates your first authorization token & saves it to `auth.json` + +## Configure ShareX + +1. Add a new Custom Uploader in ShareX by going to `Destinations > Custom uploader settings...` +2. Under **Uploaders**, click **New** & name it whatever you like. +3. Set **Destination type** to `Image`, `Text`, & `File` +4. **Request** tab: + - Method: `POST` + - URL: `https://your.domain.name.here/` + - Body: `Form data (multipart/form-data)` + - File from name: `file` + - Headers: + - Name: `Authorization` + - Value: (the value provided by `npm start` on first run) +5. **Response** tab: + - URL: `$json:.resource$` + - Deletion URL: `$json:.delete$` +6. The file `sample_config.sxcu` can also be modified and imported to suit your needs