{"id":25526156,"url":"https://github.com/exbotanical/x-clacks-middleware","last_synced_at":"2026-04-11T00:04:19.301Z","repository":{"id":57400736,"uuid":"301257270","full_name":"exbotanical/x-clacks-middleware","owner":"exbotanical","description":"X-Clacks-Overhead headers middleware for Express.js | Available on NPM","archived":false,"fork":false,"pushed_at":"2020-10-05T04:40:52.000Z","size":342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T21:54:41.589Z","etag":null,"topics":["custom-header","express","http-header","middleware","nodejs","terry-pratchett","x-clacks-overhead"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/x-clacks-middleware","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exbotanical.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-05T00:40:04.000Z","updated_at":"2020-10-05T04:40:54.000Z","dependencies_parsed_at":"2022-09-05T03:01:28.654Z","dependency_job_id":null,"html_url":"https://github.com/exbotanical/x-clacks-middleware","commit_stats":null,"previous_names":["matthewzito/x-clacks-middleware"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exbotanical%2Fx-clacks-middleware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exbotanical%2Fx-clacks-middleware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exbotanical%2Fx-clacks-middleware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exbotanical%2Fx-clacks-middleware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exbotanical","download_url":"https://codeload.github.com/exbotanical/x-clacks-middleware/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239735258,"owners_count":19688262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-header","express","http-header","middleware","nodejs","terry-pratchett","x-clacks-overhead"],"created_at":"2025-02-19T21:16:52.280Z","updated_at":"2025-12-30T23:04:29.238Z","avatar_url":"https://github.com/exbotanical.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X-Clacks-Middleware\n[![Coverage Status](https://coveralls.io/repos/github/MatthewZito/x-clacks-middleware/badge.svg?branch=master)](https://coveralls.io/github/MatthewZito/x-clacks-middleware?branch=master)\n[![npm version](https://badge.fury.io/js/x-clacks-middleware.svg)](https://badge.fury.io/js/x-clacks-middleware)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n## Table of Contents\n\n - [Introduction](#intro) \n    - [Features](#feat)\n - [Installation + Usage](#usage)\n\n## \u003ca name=\"intro\"\u003e\u003c/a\u003e Introduction\nX-Clacks-Middleware is an Express.js middleware package that adds the `x-clacks-overhead` header to your server responses. Simply register this middleware in your Express server, and [add your site](https://xclacksoverhead.org/dearheart/review) to the registry of those that \"carry the signal\"!\n\nWhat is `X-Clacks-Overhead`?\n\nFrom [the X-Clacks-Overhead website](https://xclacksoverhead.org/home/about):\n\"X-Clacks-Overhead is a non-standardised HTTP header based upon the fictional work of the late, great, Sir Terry Pratchett.\n\nIn Terry Pratchett's science-fantasy Discworld series, \"The Clacks\" is a network infrastructure of Semaphore Towers, that operate in a similar fashion to telegraph - named \"Clacks\" because of the clicking sound the system makes as signals send.\n\nIn Sir Terry's novel \"Going Postal\"...the inventor of the Clacks...lost his only son...and in order to keep the memory of his son alive, he transmitted his son's name as a special operational signal through the Clacks to forever preserve his memory.\"\n\n\n### \u003ca name=\"feat\"\u003e\u003c/a\u003e Features\n![screenshot](https://github.com/MatthewZito/x-clacks-middleware/blob/master/documentation/header.png)\n\n  - zero dependencies\n  - plug n' play\n  - randomizes the header values with one of any number of names\n\n## \u003ca name=\"usage\"\u003e\u003c/a\u003e Installation and Usage\n\nInstall the package in your repository:\n```\nnpm i x-clacks-middleware\n```\n\nRegister the middleware in your Express app. The default header value is 'Terry Pratchett'. You may elect to use the middleware option `names` to add one or multiple names to commemorate. \n```\napp.use(setXClacksOverheadHeader({ \n    names: [\n        \"Yukio Mishima\", \n        \"Hermann Hesse\", \n        \"John Conway\"\n        ] \n    })\n);\n```\n\nOptions is an object with a `names` property, an Array of one or more strings. The header will randomly select one of the names for each response (assuming you've provided more than one name, of course) and prepend it with the `GNU` prefix, per the `x-clacks-overhead` standard.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexbotanical%2Fx-clacks-middleware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexbotanical%2Fx-clacks-middleware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexbotanical%2Fx-clacks-middleware/lists"}