{"id":36510389,"url":"https://github.com/tzrikka/thrippy","last_synced_at":"2026-03-08T11:07:23.569Z","repository":{"id":292021673,"uuid":"979522182","full_name":"tzrikka/thrippy","owner":"tzrikka","description":"Manage static auth and OAuth configs and tokens for 3rd-party services","archived":false,"fork":false,"pushed_at":"2026-02-23T09:35:15.000Z","size":406,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-23T17:49:50.367Z","etag":null,"topics":["auth","authentication","authentication-backend","cli","command-line","command-line-tool","credentials","go","golang","grpc","grpc-server","jwt","oauth","oauth2","secret-management","secrets-management","secrets-manager"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/tzrikka/thrippy","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tzrikka.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-07T16:36:01.000Z","updated_at":"2026-02-23T09:21:19.000Z","dependencies_parsed_at":"2025-05-18T04:32:29.128Z","dependency_job_id":"6be31207-6162-47fc-863d-e22bb31e390a","html_url":"https://github.com/tzrikka/thrippy","commit_stats":null,"previous_names":["tzrikka/trippy","tzrikka/thrippy"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/tzrikka/thrippy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzrikka%2Fthrippy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzrikka%2Fthrippy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzrikka%2Fthrippy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzrikka%2Fthrippy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tzrikka","download_url":"https://codeload.github.com/tzrikka/thrippy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzrikka%2Fthrippy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30121129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T10:44:24.758Z","status":"ssl_error","status_checked_at":"2026-03-05T10:44:15.079Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["auth","authentication","authentication-backend","cli","command-line","command-line-tool","credentials","go","golang","grpc","grpc-server","jwt","oauth","oauth2","secret-management","secrets-management","secrets-manager"],"created_at":"2026-01-12T02:35:04.847Z","updated_at":"2026-03-08T11:07:23.563Z","avatar_url":"https://github.com/tzrikka.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thrippy\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/tzrikka/thrippy.svg)](https://pkg.go.dev/github.com/tzrikka/thrippy)\n[![Code Wiki](https://img.shields.io/badge/Code_Wiki-gold?logo=googlegemini)](https://codewiki.google/github.com/tzrikka/thrippy)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tzrikka/thrippy)](https://goreportcard.com/report/github.com/tzrikka/thrippy)\n\nThrippy is a CLI application and gRPC client/server to manage authentication configurations and secret tokens for a variety of third-party (\"3P\") services.\n\nIt supports both static and OAuth 2.0 credentials, and it is designed to be simple and secure by default.\n\n## Overview\n\nThrippy manages \"links\", which are collections of configurations, credentials, and metadata.\n\nWhen you create a link, you specify a \"template\" for it, which identifies a specific well-known service (e.g. ChatGPT, GitHub, Gmail, Slack) and its authentication type (see the list below). This enables Thrippy to set most configuration details automatically.\n\nStatic credentials (e.g. API keys) are set manually by the user. Dynamic credentials (e.g. OAuth 2.0 tokens) are refreshed automatically by Thrippy after an initial interactive user authorization.\n\n## Supported Services and Auth Types\n\n- [Atlassian](./docs/atlassian/README.md)\n  - Products: Bitbucket, Confluence, Jira\n  - OAuth 2.0 (3LO) app / user API token / webhook-only\n- [ChatGPT](./docs/chatgpt/README.md)\n  - Static API key\n- [Claude](./docs/claude/README.md)\n  - Static API key\n- [Generic OAuth 2.0](./docs/generic-oauth/README.md)\n- [GitHub](./docs/github/README.md)\n  - App installation using JWTs based on static credentials\n  - App authorization to act on behalf of a user\n  - User's static Personal Access Token (PAT)\n  - Webhook\n- [Google](./docs/google/README.md)\n  - OAuth 2.0 to act on behalf of a user\n  - Static Google Cloud service account key\n  - Gemini using a static API key\n- [Slack](./docs/slack/README.md)\n  - App using a static bot token\n  - App using OAuth v2 (regular Slack / GovSlack)\n  - Private \"Socket Mode\" app using a static app-level token\n\n## Quickstart\n\n1. Install Thrippy with the Go language toolchain:\n\n   ```shell\n   go install github.com/tzrikka/thrippy\n   ```\n\n   (Tip: if you use `go install`, the executable file will be located here: `$(go env GOPATH)/bin`)\n\n   Or download and extract the prebuilt executable file for your platform: \u003chttps://github.com/tzrikka/thrippy/releases\u003e\n\n   Or pull the prebuilt Docker image: `ghcr.io/tzrikka/thrippy:latest`\n\n2. Start the Thrippy server:\n\n   ```shell\n   thrippy server --dev\n   ```\n\n   (Important: in dev mode, Thrippy uses an in-memory secrets manager by default, which is destroyed when the server goes down!)\n\n3. Create any **static** link, based on the [documentation](https://github.com/tzrikka/thrippy/tree/main/docs)\n\n## Production Server Configuration\n\n- Secure secrets manager\n- [HTTP tunnel to enable OAuth 2.0 links](./docs/http_tunnel.md)\n- [m/TLS for Thrippy client/server communication](./x509/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftzrikka%2Fthrippy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftzrikka%2Fthrippy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftzrikka%2Fthrippy/lists"}