mirror of https://github.com/tycrek/ass
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tycrek
dbdfb4ae76
|
4 years ago | |
---|---|---|
idgen | 4 years ago | |
.gitignore | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
ass.js | 4 years ago | |
package-lock.json | 4 years ago | |
package.json | 4 years ago | |
sample_config.sxcu | 4 years ago | |
setup.js | 4 years ago | |
utils.js | 4 years ago |
README.md
anssxustawai
A Not Shitty ShareX Upload Server That Actually Works As Intended (Pronounced "an-zoo-sta-why")
This project is still very young, so don't expect everything to be perfect yet.
Features
- ✔️ Token authorization via HTTP
Authorization
header - ✔️ Upload images, videos, files
- ✔️ Discord compatibility mode for video embed
- ❌ Thumbnail support
- ✔️ Delete support
- ❌ Multiple database types (JSON, Mongo, MySQL, PostgreSQL, etc. Currently uses JSON)
- ✔️ Multiple access types
- ZWS
- Mixed-case alphanumeric
- Original
- ❌ Multi-user support (upload restrictions, web library, etc.)
- ❌ Block-storage support including Amazon S3
- ❌ Usage metrics
Access types
Type | What is it? |
---|---|
ZWS (Zero-width spaces) | The "fancy" mode. When pasted elsewhere, the URL appears to be just your domain name. |
Mixed-case alphanumeric | The "safe" mode. URL's are browser safe as the character set is just letters & numbers. |
Original | The "basic" mode. URL matches the same filename as when the file was uploaded. This may be prone to conflicts with files of the same name. |
Installation
The installation may look daunting but it's really pretty straightforward. Just follow it word-for-word & you'll be fine. If you are not fine, then by all means open an Issue & I'll try my best to help.
- First of all you must have Node.js 14 or later installed. It might work with Node.js 12 but just use 14.
- Clone this repo using
git clone https://github.com/tycrek/anssxustawai.git && cd anssxustawai/
- Run
npm i
to install the required dependencies - Run
npm run setup
to start the easy configuration - Run
npm start
to start the server. The first-time run will:- Create
data.json
&auth.json
- Generate your first authorization token & save it to
auth.json
- Create
- (Optional) You must also configure an SSL-enabled reverse proxy (only if you want to use HTTPS):
- I personally use Caddy, see my tutorial on setting that up
- You may also use Apache or Nginx as reverse proxies
Configure ShareX
- Add a new Custom Uploader in ShareX by going to
Destinations > Custom uploader settings...
- Under Uploaders, click New & name it whatever you like.
- Set Destination type to
Image
,Text
, &File
- Request tab:
- Method:
POST
- URL:
https://your.domain.name.here/
- Body:
Form data (multipart/form-data)
- File from name:
file
(literally put "file
" in the field) - Headers:
- Name:
Authorization
- Value: (the value provided by
npm start
on first run)
- Name:
- Method:
- Response tab:
- URL:
$json:.resource$
- Deletion URL:
$json:.delete$
- URL:
- The file
sample_config.sxcu
can also be modified & imported to suit your needs
Known issues
- Videos won't embed on Discord: I know. This is because Discord developers make some really stupid decisions & only show embeds if the URL ends with
.mp4
. So the workaround: manually type ".mp4
" after pasting your URL. This will be fixed in the future with a "Discord mode" for video uploads.