{"id":13651247,"url":"https://github.com/jedbrooke/golem-network-requestor","last_synced_at":"2026-02-06T11:19:05.337Z","repository":{"id":110784569,"uuid":"427528146","full_name":"jedbrooke/golem-network-requestor","owner":"jedbrooke","description":"golem provider runtime with network access via http (socks5 coming soon) proxy","archived":false,"fork":false,"pushed_at":"2021-11-28T03:45:58.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-13T23:44:04.302Z","etag":null,"topics":["golem","http","networking","proxy","ssh"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jedbrooke.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-11-13T00:05:13.000Z","updated_at":"2023-09-08T18:28:36.000Z","dependencies_parsed_at":"2024-01-03T05:31:25.246Z","dependency_job_id":null,"html_url":"https://github.com/jedbrooke/golem-network-requestor","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/jedbrooke/golem-network-requestor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedbrooke%2Fgolem-network-requestor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedbrooke%2Fgolem-network-requestor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedbrooke%2Fgolem-network-requestor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedbrooke%2Fgolem-network-requestor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jedbrooke","download_url":"https://codeload.github.com/jedbrooke/golem-network-requestor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jedbrooke%2Fgolem-network-requestor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29158952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T07:18:23.844Z","status":"ssl_error","status_checked_at":"2026-02-06T07:13:32.659Z","response_time":59,"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":["golem","http","networking","proxy","ssh"],"created_at":"2024-08-02T02:00:47.066Z","updated_at":"2026-02-06T11:19:05.291Z","avatar_url":"https://github.com/jedbrooke.png","language":"Python","funding_links":[],"categories":["Archive"],"sub_categories":["Apps"],"readme":"# golem-network-requestor\ngolem provider runtime with network access via http (socks5 coming in the future) proxy\n\nCurrently it is very limited. It should work on larger queries, and consecutive queries, and can only process 1 client at a time, so concurrent queries will simply wait to be served. only tested with HTTP GET requests. CONNECT fails for sure, have not tested POST or PUT.\n\nno HTTPS, only vanilla insecure http.\n\n# Usage\nyou will need:\n * `websocat`\n * a ssh pubkey (you can generate this with `ssh-keygen`)\n    * you can use the `--ssh_pubkey` arg if your ssh pubkey is in a different location. default is `~/.ssh/id_rsa.pub`\n * `python3`\n    * tested on python 3.8, will probably work with 3.6+\n\n\n## To run the demo:\nfirst make sure your golem requestor environment is already set up, then run\n\n`python3 network_requestor.py`\n\n## To make your own networked requestors:\nclick the \"use this template\" button to make a copy (not a fork) of this repo. Then, you can change the `get_payload.sh` file and put your own workload in there.\njust use `curl --proxy http://localhost:4242 [...]` for your curl requests.\n\nIf you want to make your own docker container/gvmi, look at the comments in the `Dockerfile` to see which components are required, as well as the comments in the code for setting up the ssh connection. \n\n\n# How does it work?\non the requestor we start a ssh shell into the provider, in this shell session we launch a http proxy on the provider. This proxy takes in tcp packets, and encodes then in base64 and prints that to stdout, which comes out of the stdout of our shell session. the requestor reads the packet, decodes it, and processes it by sending it off to its destination. Then it recieves the response, encodes it, and sends it to the shell's stdin, which goes into the stdin of the proxy running on the provider, which then decodes it and sends a tcp packet back to the process that requested it. \n\nit works!! \nhopfully a socks5 proxy will allow us to implement https, as well as many mining clients that support socks5.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjedbrooke%2Fgolem-network-requestor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjedbrooke%2Fgolem-network-requestor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjedbrooke%2Fgolem-network-requestor/lists"}