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
3d64cb5c00
|
4 years ago | |
---|---|---|
.env.example | ||
.gitignore | ||
LICENSE | ||
README.md | ||
ass.js | ||
package-lock.json | ||
package.json | ||
sample_config.sxcu | ||
utils.js | ||
zws.js |
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
- Thumbnail support
- Delete support
- Multiple database types (JSON, Mongo, MySQL, PostgreSQL, etc.)
- Multiple access types (original, mixed-case alphanumeric, ZWS, etc. Currently uses ZWS)
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/
- Install the required dependencies using
npm i
- Configure
.env.example
before running if you wish to. This will let you configure your port number & domain name. - 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
- Automatically copy
- You must also configure an SSL-enabled reverse proxy:
- I personally use Caddy, see my tutorial on setting that up
- You may also 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
- 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 automatically in the future with some ZWS redirect tricks. - It won't work over HTTP: Yes because HTTP is outdated crap, why are you still using it??