{"id":25099561,"url":"https://github.com/ajmyyra/telltale","last_synced_at":"2026-04-20T19:02:38.173Z","repository":{"id":96855756,"uuid":"140633979","full_name":"ajmyyra/telltale","owner":"ajmyyra","description":"Responds to HTTP queries with every header, connection detail and env variable it can find in JSON format.","archived":false,"fork":false,"pushed_at":"2018-07-13T08:00:19.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-02T04:47:25.245Z","etag":null,"topics":["devops","docker-image","nodejs"],"latest_commit_sha":null,"homepage":null,"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/ajmyyra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-11T22:35:05.000Z","updated_at":"2018-07-13T08:00:21.000Z","dependencies_parsed_at":"2023-04-18T20:17:29.485Z","dependency_job_id":null,"html_url":"https://github.com/ajmyyra/telltale","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ajmyyra/telltale","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajmyyra%2Ftelltale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajmyyra%2Ftelltale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajmyyra%2Ftelltale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajmyyra%2Ftelltale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajmyyra","download_url":"https://codeload.github.com/ajmyyra/telltale/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajmyyra%2Ftelltale/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32061251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["devops","docker-image","nodejs"],"created_at":"2025-02-07T19:22:01.521Z","updated_at":"2026-04-20T19:02:38.168Z","avatar_url":"https://github.com/ajmyyra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telltale\n\nTelltale responds to HTTP queries with every header, connection detail and env variable it can find in JSON format.\n\n## Why?\n\n[For the glory of Sata](http://weknowmemes.com/wp-content/uploads/2012/02/why-for-the-glory-of-satan-of-course.jpg)..erm, right.\n\nWhen configuring and debugging load balancers, proxies, API gateways or orchestrators (Kubernetes, Mesos), you often need to find out what is getting through and how it looks like, or what environment variables is the container seeing. Sometimes you also need to debug your browser, to see if your ad blocker really puts that Do Not Track request header.\n\nTelltale is for debugging these cases, or when you just need something to respond to your tests with `200 OK` and that WordPress container just seems too big.\n\n## How do I run this in production?\n\nYou don't. Seriously, don't. Leave a debug mode on for your production environment if you wish to play with danger, but do not run this.\n\n## Usage\n\nTelltale comes with zero external requirements, so only Node.js is needed.\n\nEnvironment variables aren't printed by default since 1.1 and environment variable `envVars=true` needs to be set to print them.\n\nIP to listen in (default: 0.0.0.0) and port (default: 8080) are also defined as env variables: LISTEN_IP \u0026 LISTEN_PORT\n\nSimplest way to run it is simply typing `npm start` in its folder on a server. Expect following results in response:\n\n```\n{\n  \"remoteAddress\": \"172.0.0.1\",\n  \"remotePort\": 45896,\n  \"requestHeaders\": {\n    \"host\": \"localhost:8080\",\n    \"connection\": \"keep-alive\",\n    \"upgrade-insecure-requests\": \"1\",\n    \"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36\",\n    \"dnt\": \"1\",\n    \"accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\",\n    \"accept-encoding\": \"gzip, deflate, br\",\n    \"accept-language\": \"en-US,en;q=0.9,fi;q=0.8,sv;q=0.7\"\n  },\n  \"requestMethod\": \"GET\",\n  \"requestUrl\": \"/\",\n  \"requestParams\": {},\n  \"envVariables\": {\n    \"KDE_MULTIHEAD\": \"false\",\n    \"CLUTTER_IM_MODULE\": \"xim\",\n    \"GS_LIB\": \"/home/username/.fonts\",\n    \"KDE_FULL_SESSION\": \"true\",\n    ...\n  }\n}\n```\n\n### Docker\n\nRepository contains a Dockerfile for you to build your own Docker container with `docker build .` command. After building, you can run it with `docker run --rm \u003cID\u003e` command. --rm is to remove the container once it finishes running.\n\nReady-built container is available from [Docker hub](https://hub.docker.com/r/ajmyyra/telltale/). If you really trust me, you can use it by typing `docker run --rm ajmyyra/telltale:v1.1` to whichever server you're wanting it to run in. \n\n### Kubernetes\n\nYou can run the ready-built container from Docker hub with following Pod spec.\n\n```\napiVersion: v1\nkind: Pod\nmetadata:\n  name: telltale\n  labels:\n    type: debugging\nspec:\n  containers:\n  - name: telltale\n    image: ajmyyra/telltale:v1.1\n    ports:\n    - containerPort: 8080\n  nodeSelector:\n    development: ohyes\n```\n\nPod spec contains specialised nodeSelector, so you don't accidentally put this into your production environment. Add label to your dev node by commanding `kubectl label nodes your-dev-node development=ohyes`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajmyyra%2Ftelltale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajmyyra%2Ftelltale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajmyyra%2Ftelltale/lists"}