{"id":15655057,"url":"https://github.com/bbengfort/sping","last_synced_at":"2025-05-01T14:42:18.311Z","repository":{"id":69223879,"uuid":"83993970","full_name":"bbengfort/sping","owner":"bbengfort","description":"Simple example of secured communication with gRPC and SSL/TLS","archived":false,"fork":false,"pushed_at":"2019-01-30T15:45:32.000Z","size":33,"stargazers_count":25,"open_issues_count":2,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T21:23:24.458Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/bbengfort.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-03-05T18:53:11.000Z","updated_at":"2021-08-17T18:25:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"b96b44f9-e3bb-4be0-8850-518e39ce86f9","html_url":"https://github.com/bbengfort/sping","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fsping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fsping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fsping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fsping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbengfort","download_url":"https://codeload.github.com/bbengfort/sping/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251892037,"owners_count":21660898,"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","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":[],"created_at":"2024-10-03T12:55:55.641Z","updated_at":"2025-05-01T14:42:18.265Z","avatar_url":"https://github.com/bbengfort.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Ping\n\nThis is a simple example of setting up secured communication with gRPC.\n\nFor more, see the write up at \u0026ldquo;[Secure gRPC with TLS/SSL](http://bbengfort.github.io/snippets/2017/03/03/secure-grpc.html)\u0026rdquo;.\n\n**NOTE**: the certificates in this repository are for example only. They were generated on the command-line and only work for the localhost. If you actually wanted to set up this ping across a network, you'd have to generate your own certificates. Here are two good resources for this:\n\n- [Golang TLS examples](https://gist.github.com/denji/12b3a568f092ab951456)\n- [certstrap](https://github.com/square/certstrap)\n\n## Demo Quick Start\n\nFirst clone the repository (using `go get` would work, but the demo only works from the repository working directory) and install the various dependencies:\n\n    $ git clone https://github.com/bbengfort/sping.git\n    $ cd sping\n    $ go get ./...\n\nNow that you're in the working directory, you'll have to create two processes (the server and the client). I recommend opening up a second terminal tab. In the first tab:\n\n    $ go run cmd/sping serve\n\nThis will run the server on the localhost with the default port and options. If you'd like to see all the options for either of the commands just use `--help`. Then in the second terminal:\n\n    $ go run cmd/sping echo localhost\n\nYou should see the result in both the server and client windows. You have just conducted a secure Echo RPC request between client and server using [mutual authentication](https://en.wikipedia.org/wiki/Mutual_authentication) with [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security).\n\nThe client will automatically shutdown after 8 messages. Shut the server down with an `INTERRUPT` (CTRL+C).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fsping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbengfort%2Fsping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fsping/lists"}