{"id":39565224,"url":"https://github.com/hfinucane/jsonproc","last_synced_at":"2026-01-18T07:13:15.374Z","repository":{"id":34602957,"uuid":"38550921","full_name":"hfinucane/jsonproc","owner":"hfinucane","description":"/proc to json bridge","archived":false,"fork":false,"pushed_at":"2017-02-04T20:19:50.000Z","size":21,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T03:18:25.577Z","etag":null,"topics":["monitoring","proc"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hfinucane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-04T23:41:21.000Z","updated_at":"2023-06-30T04:32:43.000Z","dependencies_parsed_at":"2022-08-03T21:45:16.818Z","dependency_job_id":null,"html_url":"https://github.com/hfinucane/jsonproc","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hfinucane/jsonproc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfinucane%2Fjsonproc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfinucane%2Fjsonproc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfinucane%2Fjsonproc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfinucane%2Fjsonproc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hfinucane","download_url":"https://codeload.github.com/hfinucane/jsonproc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfinucane%2Fjsonproc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28532770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["monitoring","proc"],"created_at":"2026-01-18T07:13:11.929Z","updated_at":"2026-01-18T07:13:15.362Z","avatar_url":"https://github.com/hfinucane.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jsonproc\n\n[![Build Status](https://travis-ci.org/hfinucane/jsonproc.svg?branch=master)](https://travis-ci.org/hfinucane/jsonproc)\n\nA read-only `/proc` to json bridge. In general, the URL scheme looks like:\n\n    /           # Everything in /proc\n    /loadavg    # The contents of /proc/loadavg\n    /proc/1     # All About Init\n\nWhen hitting a directory, you should expect a blob that looks like this:\n\n    { \n      \"path\": \"/proc/sys/\",\n      \"files\": [],\n      \"dirs\": [\"abi\", \"debug\", \"dev\", \"fs\", \"kernel\", \"net\", \"vm\"]\n    }\n\nWhen hitting a file, you should expect a blob that looks like this:\n\n    {\n      \"path\": \"/proc/loadavg\",\n      \"contents\": \"0.09 0.12 0.17 1/613 4319\\n\"\n    }\n\nErrors are signaled both by the appearance of the \"err\" field, and with a 500 code:\n\n    $ curl -v localhost:9234/x; echo\n    * Connected to localhost (127.0.0.1) port 9234 (#0)\n    \u003e GET /x HTTP/1.1\n    \u003e Host: localhost:9234\n    \u003e Accept: */*\n    \u003e \n    \u003c HTTP/1.1 500 Internal Server Error\n    \u003c Date: Sun, 05 Jul 2015 06:27:06 GMT\n    \u003c Content-Length: 66\n    \u003c Content-Type: text/plain; charset=utf-8\n\n    {\"path\":\"/proc/x\",\"err\":\"stat /proc/x: no such file or directory\"}\n\nThe contents of \"err\" are not guaranteed to be stable.\n\n# Installing\n\nChecking out the source code and running 'go build' should be sufficient to get\nyou a binary. There should also be a linux/amd64 binary courtesy of Travis CI\nattached to each [release on Github](https://github.com/hfinucane/jsonproc/releases).\n\n# Usage\n\n    ./jsonproc -listen 10.9.8.7:9234\n\nwill get you a /proc-to-json gateway running on port 9234, listening on a local\naddress. In general, you should prefer to explicitly bind `jsonproc` to a\nnon-routable address- `/proc` leaks all sorts of information.\n\n# Notes around the design\n\nThe goal is to quit writing one-off exfiltrations for things in `/proc`. So\n`jsonproc` needs to be lightweight, safe, and reasonably performant.\n\nBy default, you can only read the first 4MB of files, and the first 1024\nentries of a directory. These limitations are designed to make it more\ndifficult to DOS yourself.\n\n`jsonproc` does nothing special around permissions. If you would like to read\nfiles that are `root`-readable only, running this as `root` should work.\nBecause it's written in a memory-safe language, and never calls anything other\nthat `stat`, `open`, `read`, and `readdir`, it's possible this isn't even that\nterrible an idea, but, uh, this should not be taken as an endorsement. Run it\nas an unprivileged user if possible.\n\nRelative paths- `../` \u0026 company- are unsupported. You should be limited to `/proc`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfinucane%2Fjsonproc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhfinucane%2Fjsonproc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfinucane%2Fjsonproc/lists"}