Commit Graph
180 Commits
Author SHA1 Message Date
jomo d967db3ad4 use environment variables for configuration 2020-03-29 07:32:39 +02:00
jomo d81e2777d2 delete unused function 2020-03-28 23:38:20 +01:00
jomo ea1ae64283 add 403 to expected response codes 2020-03-28 23:37:08 +01:00
jomo 424a4ab93b remove notice from website 2020-03-24 18:51:20 +01:00
jomo 16948de18d don't warn about closed connections 2020-03-24 18:50:58 +01:00
jomo c975cc793b remove cleaner.js 2020-03-24 18:49:42 +01:00
jomo b3a9793b87 add note about rate limit 2020-03-21 12:10:13 +01:00
jomo 168457dfd9 update to node 12 2020-03-21 01:50:50 +01:00
jomo 1816b18b12 update deps 2018-02-16 18:45:56 +01:00
jomo dff58c66e7 drop support for usernames
Mojang has disabled their legacy skins API:
https://twitter.com/MojangSupport/status/964511258601865216

With their API rate limits, it's now practially impossible
for us to support usernames.

Fixes #142. The default parameter allows using:

- UUID
- URL
- MHF_Alex
- MHF_Steve
- Alex
- Steve

Contrary to UUIDs, using alex/steve doesn't redirect
and instead provides the skin from a locally stored file.
2018-02-16 18:01:41 +01:00
jomo 4fdbfb442b use pajk-lwip as a temporary workaround for EyalAr/lwip#297 2017-07-13 13:03:32 +02:00
jomo 305ed1c65f update sponsor info 2017-02-12 18:31:48 +01:00
jomo a65cc63ec8 remove alex faces from website
kappe and minecraftchick decided to delete their skins
welcome @aikar and @ammaraskar!
2016-11-08 01:07:18 +01:00
jomo 4a2226be12 update Crafatar Tools & Plugins 2016-11-08 00:41:37 +01:00
jomo 3b7b42a2f6 update Popular Crafatar users
- NameMC now has its own interactive renders, so long, and thanks for all the fish!
- PlayMindCrack has shut down
2016-11-08 00:36:46 +01:00
jomo 24cfc03811 print 'Not found' on invalid path 2016-11-08 00:21:33 +01:00
jomo c02d3d33e9 don't respond with 304 on error when debugging is enabled 2016-11-07 04:08:19 +01:00
jomo f1f3ba6709 use response.js for all responses
results in:
1) less duplicated code
2) default response headers being used at all times
3) *all* requests being logged properly

- adds documentation for result.code
- allows using result.code to override HTTP 500
- uses response.js for too-busy, server error, method not allowed
2016-11-07 03:59:07 +01:00
jomo 57115202d2 don't rely on hasOwnProperty to exist
from MDN:
JavaScript does not protect the property name hasOwnProperty; thus, if the possibility exists that an object might have a property with this name, it is necessary to use an external hasOwnProperty to get correct results
2016-11-04 16:19:12 +01:00
jomo 23948afae5 catch ExtremelyRare™ 502 response from CloudFront
happens occasionally when they can't reach the mojang upstream server
2016-07-05 01:04:34 +02:00
jomo 6c132f5c51 fix Shotbow server name 2016-04-24 12:18:11 +02:00
jomo 159060df77 fix typo in Crafatar users 2016-03-26 22:02:56 +01:00
jomo 96b277b806 add missing documentation 2016-02-19 19:24:27 +01:00
jomo 3620a63d14 fs.exists is deprecated, switch to fs.access 2016-02-14 20:17:09 +01:00
jomo 22ecc6f8aa make User-Agent RFC1945 compliant
This is the product name without the optional '/' + version.
The parens are a comment, the '+' preceding the URL is common practice

https://tools.ietf.org/html/rfc1945#section-10.15
2016-02-14 17:37:41 +01:00
jomo 0940b50f2c networking.save_texture should return image buffer, not lwip image object
This led to a crash when a cape or skin was not stored on disk.
The function caled skins.save_image and returned that function's lwip image object instead of the expected buffer.
skins.save_image also no longer returns the image object because it's not used anywhere
2016-02-14 17:04:33 +01:00
jomo f088c27012 use '201 Created' when 'status' is 'downloaded' 2016-02-03 02:49:43 +01:00
jomo f2dda3b939 check for transparency in hat transparency-bounding-box for avatars, fixes #117 2016-02-02 23:57:40 +01:00
jomo 29fa734148 remove 'public' part from Cache-Control, not required 2016-01-23 06:26:41 +01:00
jomo 5654d51eec renders are no longer beta 2016-01-23 06:24:28 +01:00
jomo c9f04e470b update crafatar users list 2016-01-21 23:23:04 +01:00
jomo c39019074b use cache lookup for username skin types
fixes steve-model renders for usernames on first request after uuid request was made before
2016-01-21 22:12:23 +01:00
jomo 4468b55b4f username request shouldn't set skin model
if it's set to slim (by a uuid request before), that would have been overwritten and set to not slim
2016-01-21 21:54:46 +01:00
jomo 4f667cc99f remove transparency from avatar, fixes #129 2016-01-20 23:44:33 +01:00
jomo 6a5967dfba downstream caches shouldn't cache server errors, fixes #136 2016-01-20 02:00:10 +01:00
jomo e7242ce773 respond 304 on server error, fixes #135 2016-01-20 01:50:30 +01:00
jomo 9ccb0151bc don't search/replace username in path
fixes faulty URLs when part of the path is used as username (e.g. 'avatars')
2016-01-20 01:28:54 +01:00
jomo 8367c1e519 mhf_alex should default to mhf_alex if skin not accessible
We only use the 'hard stored' mhf_alex skin when it's part of the 'default' query parameter.
In the rare event that mhf_alex is requested but the skin is not accessible, we would fall back to 'mhf_steve' because it's the default for usernames.
This commit adds the special case to use the stored version of the 'mhf_alex' skin when it's not accessible otherwise
2016-01-20 00:56:20 +01:00
jomo b9f6a21942 ignore case when checking for mhf_alex or mhf_steve 2016-01-20 00:12:53 +01:00
jomo 5b1ad851ef mhf_alex is always slim 2016-01-19 23:08:56 +01:00
jomo fcdb03173a Use UUID's profileName response to update username model type, see #125 2016-01-13 02:15:47 +01:00
jomo 1f0f696151 Make sure 'slim' model is correctly checked
The 'textures.SKIN.metadata.model' field seems to be only present if set to 'slim', so currently this change has no effect
however, if the field is returned in other cases (in future), we need to make sure it acually reports 'slim'
2016-01-11 07:37:28 +01:00
jomo 1144b6755a always use crc32 for etag, much more reliable than mojang skin hash
had to make quite a few changes to tests to prevent them from failing
also, etag is now only sent with a 200 response, as defined in RFC7232
2015-12-16 00:47:51 +01:00
jomo 7d02138c1e solve merge conflicts 2015-12-14 01:51:49 +01:00
jomo 3c21a59c94 add support for slim renders, fixes #125, adjust tests 2015-12-13 14:08:59 +01:00
jomo 7eed1fa09b clean up renders again
- improved readability a lot
- now applies overlays directly to underlying skin part *before* transforming
2015-11-23 21:58:47 +01:00
jomo 6e6eff5299 add back missing helpers.js 2015-11-23 03:45:17 +01:00
jomo 67f317aeac add overlay 'logic', deciding which overlays to render; tweak position & size +/- to get around anti-aliasing 'cracks'; remove transparency from base model
fixes #32
fixes #112
fixes #117
fixes #153
2015-11-23 03:21:58 +01:00
jomo 6e500d8652 fix HTML
from https://validator.w3.org:
> Document checking completed. No errors or warnings to show.
2015-11-22 07:22:56 +01:00
jomo 4627aecd17 clean up
uses 'parts' object instead of tons of variables
2015-11-22 05:33:48 +01:00