{"id":24702573,"url":"https://github.com/yankeguo/termhere","last_synced_at":"2026-05-16T22:01:42.970Z","repository":{"id":192969058,"uuid":"687273323","full_name":"yankeguo/termhere","owner":"yankeguo","description":"A simple reverse shell tunnel with pty support (window size, ctrl-c, ctrl-d, etc.)","archived":false,"fork":false,"pushed_at":"2024-01-02T08:54:41.000Z","size":55,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T21:36:10.978Z","etag":null,"topics":["pty","reverse","shell","tunnel"],"latest_commit_sha":null,"homepage":"","language":"Go","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/yankeguo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"yankeguo","patreon":"yankeguo"}},"created_at":"2023-09-05T02:44:05.000Z","updated_at":"2023-09-06T08:57:14.000Z","dependencies_parsed_at":"2023-09-06T06:33:54.169Z","dependency_job_id":"88f99fdb-fbff-4c31-b310-9cc8908e926e","html_url":"https://github.com/yankeguo/termhere","commit_stats":null,"previous_names":["guoyk93/termhere","yankeguo/termhere"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/yankeguo/termhere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yankeguo%2Ftermhere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yankeguo%2Ftermhere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yankeguo%2Ftermhere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yankeguo%2Ftermhere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yankeguo","download_url":"https://codeload.github.com/yankeguo/termhere/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yankeguo%2Ftermhere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: 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":["pty","reverse","shell","tunnel"],"created_at":"2025-01-27T05:41:42.937Z","updated_at":"2026-05-16T22:01:42.951Z","avatar_url":"https://github.com/yankeguo.png","language":"Go","funding_links":["https://github.com/sponsors/yankeguo","https://patreon.com/yankeguo"],"categories":[],"sub_categories":[],"readme":"# termhere\n\nA simple reverse shell tunnel with pty support (window size, ctrl-c, ctrl-d, etc.)\n\n## Usage\n\n1. Get the binary `termhere` from [GitHub Releases](https://github.com/yankeguo/termhere/releases)\n\n2. Start `termhere server` in **Machine 1**\n\n   ```shell\n   export TERMHERE_TOKEN=aaa\n   ./termhere server\n   ```\n\n3. Start `termhere client` in **Machine 2**\n\n   ```shell\n   export TERMHERE_TOKEN=aaa\n   ./termhere client -s 10.10.10.10:7777 /bin/bash\n   ```\n\nNow you can get a shell of **Machine 2** from the `termhere server` running in **Machine 1**\n\n## TLS Support\n\n`termhere` supports TLS with client authentication, you can use `--cert-file` and `--key-file` to enable TLS, and\nuse `--client-ca-file` to enable client authentication.\n\n**TLS Simple**\n\n```shell\n# server\ntermhere server -l 'tcp+tls://:7777' --cert-file server.full-crt.pem --key-file server.key.pem\n# client\ntermhere client -s \"tcp+tls://127.0.0.1:7777\" --ca-file rootca.crt.pem\n```\n\n**TLS with Client Auth**\n\n```shell\n# server\ntermhere server -l 'tcp+tls://:7777' --cert-file server.full-crt.pem --key-file server.key.pem --client-ca-file rootca.crt.pem\n# client\ntermhere client -s \"tcp+tls://127.0.0.1:7777\" --ca-file rootca.crt.pem --cert-file client.full-crt.pem --key-file client.key.pem\n```\n\nFore more information about **TLS Support**, please refer to [uniconn](https://github.com/yankeguo/uniconn)\n\n## Credits\n\nGUO YANKE, MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyankeguo%2Ftermhere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyankeguo%2Ftermhere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyankeguo%2Ftermhere/lists"}