{"_id":"40xda","_rev":"4-61d91f07163fdfda8e2ed14ab6815935","name":"40xda","description":"Beautiful 40x error pages showing DA's daily deviations.","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"40xda","version":"0.1.1","description":"Beautiful 40x error pages showing DA's daily deviations.","main":"index.js","repository":{"type":"git","url":"git+https://github.com/as0n/40x-da.git"},"keywords":["deviantart","error","404","403"],"author":{"name":"as0n"},"homepage":"https://github.com/as0n/40x-da#readme","dependencies":{"damn":"0.0.1-b","debug":"^2.2.0","express":"^4.13.3","jade":"^1.11.0","underscore":"^1.8.3"},"devDependencies":{"less":"^2.5.1"},"gitHead":"f307c525d32e14482070cd02ce596c45d9461546","bugs":{"url":"https://github.com/as0n/40x-da/issues"},"_id":"40xda@0.1.1","scripts":{},"_shasum":"71cf17bee7f99e1cbf665c7d164f7f095ab7402c","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"as0n","email":"as0n@gnab.fr"},"dist":{"shasum":"71cf17bee7f99e1cbf665c7d164f7f095ab7402c","tarball":"https://registry.npmjs.org/40xda/-/40xda-0.1.1.tgz","integrity":"sha512-bp/JHQ8kiqptu9+fjiW2rVtXuTu0TnBcl3UInCpoaWBHwI8SHAyIU93kXPrtOvnl+HD5y3nciIzq+tku1kUKXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmJoADctC6aCgjTF0vqy19zgGOGYNMz8P/G9wAGFN/JgIhAITqJxyXfEOOsZ/2wY2r98Oox5mAJDC7A8RgBk/FNMHz"}]},"maintainers":[{"name":"as0n","email":"as0n@gnab.fr"}]},"0.1.2":{"name":"40xda","version":"0.1.2","description":"Beautiful 40x error pages showing DA's daily deviations.","main":"index.js","scripts":{"start":"node index.js"},"repository":{"type":"git","url":"git+https://github.com/as0n/40x-da.git"},"keywords":["deviantart","error","404","403"],"author":{"name":"as0n"},"homepage":"https://github.com/as0n/40x-da#readme","dependencies":{"damn":"0.0.1-b","debug":"^2.2.0","express":"^4.13.3","jade":"^1.11.0","underscore":"^1.8.3"},"devDependencies":{"less":"^2.5.1"},"gitHead":"5a0b8ce8e20ce5067ee322bacbc4e888a5f19c28","bugs":{"url":"https://github.com/as0n/40x-da/issues"},"_id":"40xda@0.1.2","_shasum":"a070b7aa0b19dc77df042b41e882e83be046728f","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"as0n","email":"as0n@gnab.fr"},"dist":{"shasum":"a070b7aa0b19dc77df042b41e882e83be046728f","tarball":"https://registry.npmjs.org/40xda/-/40xda-0.1.2.tgz","integrity":"sha512-NvEs0y67Xy19rp6z0NyyKx9sEZo3CJTt4AfdOa0Y74MLucRJdCDpqK+4p7knrOXsay3rcAV1kmHmY9d6SDF6gA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGilGL+ByJsW/2sBXM+KdieW3NM3dPJ3CNgANlt2kAQWAiEAodX2pS3OWruSsjGWH256NzNvAxNTq5v/XsVdAnzmOVU="}]},"maintainers":[{"name":"as0n","email":"as0n@gnab.fr"}]}},"readme":"# 40x-da\nBeautiful 40x error pages showing [DeviantArt's daily deviations](https://www.deviantart.com/dailydeviations/).\n\n![40x-da example page](doc/example.png)\n_This example shows [Thoughts Yavannas](http://kimberly80.deviantart.com/art/Thoughts-Yavannas-534648246) by [kimberly80](http://kimberly80.deviantart.com/)._\n\n__40x-da__ works as a separate web-server delivering html content for http error pages (400, 401, 402, hence `40x`and even 50x ...). It is not meant to be publicly available on the internet (why would you give you user access to a bunch of 40x and 50x pages ?).\n\n## Installation\n\nGet a DeviantArt API access from [here](https://www.deviantart.com/developers/).\n\nClone this repo and install npm dependencies :\n\n\t$ cd /path/to/install/directory\n\t$ git clone https://github.com/as0n/40x-da.git\n\t$ cd 40x-da\n\t$ npm install\n\nRun the server :\n\n\t$ DA_CLIENT_ID=0123 DA_CLIENT_SECRET=my_secret npm start\n\n(maybe you should demonize the process using something like [forever](https://www.npmjs.com/package/forever)).\n\nConfigure you internet-facing webserver to proxy 40x and 50x error pages to the 40x-da server.\nFor instance on nginx you could do something like :\n\n\tserver {\n\t\t...\n\n\t\terror_page\t403\t/errors/403\n\t\terror_page\t404\t/errors/404\n\t\terror_page\t500\t/errors/500\n\n\t\tlocation ~/errors/(\\d+) {\n\t\t\tproxy_pass\thttp://127.0.0.1:8004/$1;\n\t\t\tallow all;\n\t\t}\n\n\t\t...\n\t}\n\n## Features\n\n - Every http code is valid : you can GET any url like `http://40x-da-server/<status>` as long as `status` is a numeric value.\n - Custom error messages : message can be set via query parameters like so : `http://40x-da-server/404?message=These are not the droids you are looking for`.\n - Listening port is customizable via the `PORT` environment variable.\n - 40xda is compatible with heroku !\n\n## Todo\n\n [X] Add listening port parameter (either via `process.env` or `process.argv`);\n [ ] Add message configuration file to customize displayed messages.\n\n__Contributions welcomed !__\n","maintainers":[{"name":"as0n","email":"as0n@gnab.fr"}],"time":{"modified":"2022-06-12T14:07:38.545Z","created":"2015-09-07T22:42:15.962Z","0.1.1":"2015-09-07T22:42:15.962Z","0.1.2":"2015-09-30T19:29:32.012Z"},"homepage":"https://github.com/as0n/40x-da#readme","keywords":["deviantart","error","404","403"],"repository":{"type":"git","url":"git+https://github.com/as0n/40x-da.git"},"author":{"name":"as0n"},"bugs":{"url":"https://github.com/as0n/40x-da/issues"},"readmeFilename":"README.md"}