As per Aaron's answer, the change is temporarily reverted due to the backlash, so the userscript is not necessary for now. To compensate for the loss in usefulness, I decided to add per-site user overrides (since 0.3.0) and allow it to work on the current 404 pages (since 0.4.0).
Screenshot / Code Snippet
Custom user overrides:
The image is "The Black Beast of Aaaaaargghh" from the "Monty Python and the Holy Grail" film, 1975
The userscript brings back custom 404 pages to the Stack Exchange network replacing the lifeless corporate warning icon with community-specific images while preserving the updated layout. Currently supported communities (some 404 pages were never indexed by archive.org, so if you know of the missing 404 images, please let me know):
v0.3.0 introduces per-site user overrides and a configuration modal accessed by clicking on a "404" button added to the main site menu:
The modal allows you to change the image source for each of the sites with custom 404 pages (ability to add sites to the list coming soon) - it will be loaded instead of the default image:
Since v0.8.0, there is a small icon next to each of the configuration labels - clicking on one takes you to the corresponding 404 page:
Since v1.1.1, there the configuration modal supports custom header text as well:
|0.6.0||options menu item is added for logged out users (or those without an account on a community) too|
|0.6.1||Added explicit support for the Greasemonkey userscript manager|
|0.7.0||Made modal draggable and made configuration modal load even on unsupported sites|
|0.8.0||Added quick links to 404 pages of each of the supported site|
|0.9.0||Added true cross-site configuration for Tampermonkey users|
|0.10.0||Added DBA, Android Enthusiasts and Graphic Design defaults|
|1.0.0||Deferred image replacement till "load" event; first major version|
|1.1.1||Added "Page not found" user overrides|
|1.2.0||Added Software Recs, Academia, and Movies & TV defaults|
The script is licensed under the GPL-3.0-or-later license.
The script doesn't need a userscript manager to work (but includes necessary headers).
Note that overrides are available cross-site only in userscript managers due to the nature of the same-origin policy.
Version number means "last tested on":
|✔ 92.0.4515.107||✔ 77.0.4054.203||✔ 89.0||✔ 92.0.902.55||no|
|✔ 4.11||✔ 31||?|
Please, submit bug reports on the source repository.
Before adding a new one, please check if it hasn't been raised before.
You can also drop by to chat, we are a friendly bunch.
Source code written in TypeScript.
Contributions are welcome, you can always submit a PR here.