{"id":19517021,"url":"https://github.com/pedrohenrikle/gssh","last_synced_at":"2026-05-19T14:02:38.804Z","repository":{"id":262111091,"uuid":"884589155","full_name":"pedrohenrikle/gSSH","owner":"pedrohenrikle","description":"A remote connection tool made in Go using gRPC to streamline remote access and automate command execution across servers","archived":false,"fork":false,"pushed_at":"2024-12-05T13:37:17.000Z","size":35,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T20:52:36.583Z","etag":null,"topics":["go","golang","grpc","ssh","tcp","tls"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pedrohenrikle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-11-07T02:54:52.000Z","updated_at":"2024-12-05T13:37:21.000Z","dependencies_parsed_at":"2024-11-10T16:31:27.351Z","dependency_job_id":"16b79310-adfd-4468-bbbd-b02d93e1ae9b","html_url":"https://github.com/pedrohenrikle/gSSH","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"7598a5de54d99fa8a4bfd6bb88ca00dffe7d2a59"},"previous_names":["pedrohenrikle/gssh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pedrohenrikle/gSSH","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrohenrikle%2FgSSH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrohenrikle%2FgSSH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrohenrikle%2FgSSH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrohenrikle%2FgSSH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedrohenrikle","download_url":"https://codeload.github.com/pedrohenrikle/gSSH/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedrohenrikle%2FgSSH/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281793832,"owners_count":26562614,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"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":["go","golang","grpc","ssh","tcp","tls"],"created_at":"2024-11-11T00:01:07.520Z","updated_at":"2025-10-30T10:41:36.119Z","avatar_url":"https://github.com/pedrohenrikle.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gSSH\n\ngSSH is a remote connection tool built in Go, leveraging gRPC to streamline secure server-client communication. It features TLS/SSL encryption for secure data transmission, ensuring confidentiality and integrity of interactions.\n\n## Features\n\n- **Secure Communication:** TLS/SSL encryption to ensure data confidentiality;\n- **Remote Access:** Execute commands remotely across servers;\n- **Built with gRPC:** Leveraging gRPC for efficient and scalable remote communication;\n\n## Getting Started\n\n### Prerequisites\n- Go 1.18+\n- OpenSSL (for generating certificates)\n\n### Installation\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/pedrohenrikle/gSSH.git\n    cd gSSH\n    ```\n\n2. Generate TLS/SSL certificates (for development):\n    ```sh\n    mkdir -p cert\n    openssl req -x509 -newkey rsa:4096 -keyout cert/server.key -out cert/server.crt -days 365 -nodes -subj \"/CN=localhost\"\n    ```\n\n3. Install dependencies:\n    ```sh\n    go mod download\n    ```\n\n4. Setup environment variables:\n    ```sh\n    touch .env\n    ```\n    And follow the example on [`.env example`](https://github.com/pedrohenrikle/gSSH/blob/main/.env.example).\n\n### Running the Server\n```sh\ngo run cmd/server/server.go --port=\u003cport\u003e\n```\n\nor build as:\n\n```sh\nmkdir -p out\ngo build -o out/server cmd/server/server.go\n./out/server\n```\n\n### Running the Client\n```sh\ngo run cmd/client/client.go --id=\u003csession_id\u003e --port=\u003cport\u003e\n```\n\nor build as:\n\n```sh\nmkdir -p out\ngo build -o out/client cmd/client/client.go\n./out/client\n```\n\n### Command-Line Flags and Environment Variables\n\n- #### Client Flags:\n\n    - `--id`: (Optional) Session ID to run to an existing session.\n\n    - `--port`: (Optional) Port to run the TCP connection with the server.\n\n- #### Server Flags:\n\n    - `--port`: (Optional) Determines the port to run the TCP conection.\n\n\n## Project Structure\n- `cert/`: Contains TLS/SSL certificates;\n- `cmd/client/`: Client code to connect and interact with the server;\n- `cmd/server/`: Server code to handle client requests;\n- `pkg`: Contains packages that encapsulate different functionalities. \n- `proto/`: Protocol buffer definitions for gRPC;\n- `pb/`: Protocol buffer auto-generated files that define data structures and service interfaces for gRPC;\n- `out/`: Directory to compiled/build binaries; \n\n## License\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrohenrikle%2Fgssh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedrohenrikle%2Fgssh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrohenrikle%2Fgssh/lists"}