175 Commits

Author SHA1 Message Date
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
jomo
25c4912db9 add back new (1.8) skin support 2015-11-22 05:05:47 +01:00
jomo
abdacdc713 fix rendering of slim arms 2015-11-22 04:18:32 +01:00
jomo
82727cb24d add back head support 2015-11-22 03:28:09 +01:00
jomo
cb25872498 rewrite renders
- renders are now fully isometric
- used position -0.5 and size +1 at some places to fix #32
- does not support overlay yet
- does not support left/right arms/legs
- does not support slim renders yet
- currently only renders full body, not head
2015-11-22 03:15:41 +01:00
jomo
4302a95f6c clarify size is only used for avatars. Related: crafatar/setup#5 2015-11-15 20:06:40 +01:00