Releases: tycrek/ass
0.7.1 - Audio & other files
ass now supports audio & other files!! The web viewer will have an inline player & the thumbnail endpoint will return a placeholder image I designed. You can also download any resource directly from the web viewer with the provided Download link.
On another note: this is the first release to not be marked as a pre-release. Woo-hoo!
All changes
- Added audio support
- Added Download link to viewer
- Added support for custom index's attached through frontends
- Added mimetype blocking (requires
npm run setup
after pulling) - Added placeholder thumbnails for audio & files
- Added
is
&ext
properties to resource dat - Added improved link styles
- Improved some colours
- Viewer now shows mimetype for other files
Update command:
git pull && npm i && npm run setup
# then restart your process
0.7.0 - StorageEngines!
ass now supports StorageEngines! StorageEngines are a thing I made to allow easy drop-in support for new ways of storing your data.
By default it will use the standard JsonStorageEngine, but don't worry: StorageEngines are designed to allow other developers to implement their own storage methods, including databases. As long as it follows a format ass recognizes, virtually any storage method you can think of storage can be used!
- Learn more about StorageEngines on the README
- StorageEngine GitHub repo
- StorageEngine on npm
Update command:
git pull && npm i
# if using a custom frontend, make sure your frontend is updated to support StorageEngines
# restart your process
0.6.0 - Custom frontends!
Custom frontend support is now ready for a proper release! It is still in its early stages so it will be improved over time.
Why only custom support?
I don't want to release my own frontend publicly. So, I made the custom system using Git Submodules to allow other developers to build their own frontends with either public or private repos (my own is private). ass automatically detects your submodule frontend and assigns your chosen route to the router you built. This means that any developer can use whatever tools they want to build their dashboards! I'm using Pug.js, but you could also use React, Vue, Angular, Mustache, or even static files. The router you build handles all the logic, ass just assigns the route, so feel free to experiment!
(for hyperlinks, view on GitHub)
All changes
- Added custom frontend system (detailed wiki coming soon)
- Added saving domain along with file info
- Added dedicated routers for
/
&/:resourceId
- Added GET parameter for downloading direct resource as attachment
- Removed
.json
from oEmbed URL - Removed reliance on DarkReader
- Improved thumbnail generation parameters
- Replaced
"
with'
auth.json
&data.json
creation is now done in their respective managers- Node 14 & npm 7 are now required rather than suggested.
0.5.1 - New storage system
With this update, I've overhauled the storage system & generally improved the upload flow. All uploads are first saved (after verifying the token, of course) to a temporary location so thumbnails, vibrants, & hashes can be generated. This is significantly faster than the previous method. After those items are generated, the file is then either uploaded to Amazon S3 or copied to the proper upload directory, then the temporary file is deleted.
All changes
- Overhauled storage system
- Added configurable global upload limits & proper upload limit handling (will need to run
npm setup
to activate new config values; per-user limits coming soon) - Added better error responses (update your ShareX config using Step 5 here: https://github.com/tycrek/ass#configure-sharex)
- Fixed
500
instead of401
whenauthorization
header was missing
Update command
git pull && npm i && npm run setup
0.5.0 - Fancy media viewer!
This update brings an epic fancy media viewer to ass! Viewing images & videos in browsers will now show the filename, uploader username, upload time, & file size. The viewer works for all content types (images, gifs, videos) & will render nicely on both desktop & mobile.
All changes
- Added fancy image/video viewer
- Added endpoint for directly viewing resource (S3 resources proxied via pipe)
- Fixed not using the
diskFilePath
variable - Fixed DarkReader fetch method
- Improved security with Helmet
- Moved OpenGraph & oEmbed operations into main file
0.4.0 - Block-storage & beefier security
This is a big one!
Added Amazon S3 as a storage option
You can now host your images on S3-compatible block-storage servers! This includes Amazon S3 Buckets & DigitalOcean Spaces (I personally tested using Spaces)
Beefier security
Turns out at some point, it was possible for an unauthorized user to upload files without a valid token. That was clearly a mistake and that issue has now been fixed. Additionally, request blocking received general improvements.
I also improved the ratelimiting. Users will be limited to 90 requests per 60 seconds. This is not configurable at the moment unless you edit these values.
This update also updates a large number of dependencies thanks to Dependabot and CodeQL. Zero alerts or advisories sure looks nice in the Security tab! Part of this involved me forking and publishing Multer S3 (my fork is the 4th fork in the chain from the original... yikes).
Quicker setup
The setup command (npm run setup
) now references your existing config for defaults. This makes it easier to upgrade existing configs with new features.
Update command
git pull && npm i && npm run setup
# Then restart your process
0.3.0 - Early metrics & fancier embeds!
Ever wanted to know how much data your users have uploaded? Now you can find out easily with the new Metrics script! At the moment it is very basic but will be improved in the future. To use it, simply run npm run metrics
in your ass directory.
In addition, ass is now even fancier than before:
- Customizable Webhook avatars using the
X-Ass-Webhook-Avatar
HTTP header. For the value, use the full URL (includinghttps://
) to your image resource. - Author URL's & Providers are now possible using oEmbed. To set these new values (Author URL, Provider, Provider URL), check out the Fancy Embeds section of the README. Both the Author and Provider will become clickable when a URL is provided.
0.2.3 - User info! Sort of?
ass now has a really basic implementation of users. Users are connected to a token, a username, and an upload count. Run npm run new-token EpicUsername
to add a token with a specified name (maximum of 20 characters). If omitted, a random one will be generated. Existing tokens can still be used; a random username will be generated on upload.
Also, @ToxicAven has kindly provided a Flameshot script for Linux users!
Lastly, I updated the README to include the X-Ass-Webhook-Username
header for changing the webhook username. The header was there in 0.2.2, I just forgot to include it in the README.
0.2.2 - Webhooks!
ass now supports Discord Webhooks as a way for you to keep track of your uploads. For more info, read the Webhooks section of the README.
0.2.1 - GIF support!
However you say it, we all love sharing GIFs. Now you can share your own, using ass!