{"id":16871300,"url":"https://github.com/yoshi389111/git-caesar","last_synced_at":"2025-04-11T10:41:56.470Z","repository":{"id":165036844,"uuid":"640428072","full_name":"yoshi389111/git-caesar","owner":"yoshi389111","description":"Encrypt/decrypt files passwordlessly using GitHub's public key.","archived":false,"fork":false,"pushed_at":"2025-03-09T14:15:04.000Z","size":52,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-25T07:11:19.136Z","etag":null,"topics":["encrypt","encryption","github","gitlab"],"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/yoshi389111.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}},"created_at":"2023-05-14T03:48:16.000Z","updated_at":"2025-03-09T14:15:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"fed628ea-6438-44d1-98f3-8f17bd4549fa","html_url":"https://github.com/yoshi389111/git-caesar","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoshi389111%2Fgit-caesar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoshi389111%2Fgit-caesar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoshi389111%2Fgit-caesar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoshi389111%2Fgit-caesar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoshi389111","download_url":"https://codeload.github.com/yoshi389111/git-caesar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248377775,"owners_count":21093875,"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":["encrypt","encryption","github","gitlab"],"created_at":"2024-10-13T15:07:57.309Z","updated_at":"2025-04-11T10:41:56.462Z","avatar_url":"https://github.com/yoshi389111.png","language":"Go","readme":"# git-caesar\n\nThis command encrypts and decrypts files using the public key registered on GitHub and your own private key.\n\n## Installation\n\n### How to build with GO command\n\nRequires go 1.23.0 or higher\n\nSee below for how to install/upgrade.\n\n```\ngo install github.com/yoshi389111/git-caesar@latest\n```\n\nSee below for how to uninstall.\n\n```\ngo clean -i github.com/yoshi389111/git-caesar\n```\n\n### How to install using Homebrew\n\nSee below for how to install/upgrade.\n\n```\nbrew install yoshi389111/apps/git-caesar\n```\n\nSee below for how to uninstall.\n\n```\nbrew uninstall yoshi389111/apps/git-caesar\n```\n\n### Download from GitHub\n\nDownload the file that matches your operating environment from \"Releases.\"\n\n## Usage\n\n```\nUsage:\n\n  git-caesar [options]\n\nApplication Options:\n\n  -h, --help                    print help and exit.\n  -v, --version                 print version and exit.\n  -u, --public=\u003ctarget\u003e         github account, url or file.\n  -k, --private=\u003cid_file\u003e       ssh private key file.\n  -i, --input=\u003cinput_file\u003e      the path of the file to read. default: stdin\n  -o, --output=\u003coutput_file\u003e    the path of the file to write. default: stdout\n  -d, --decrypt                 decryption mode.\n```\n\n* `-u` specifies the location of the peer's public key. Get from `https://github.com/USER_NAME.keys` if the one specified looks like a GitHub username. If it starts with `http:` or `https:`, it will be fetched from the web. Otherwise, it will be determined as a file path. If you specify a file that looks like GitHub username, specify it with a path (e.g. `-u ./octacat`). Required for encryption. For decryption, perform signature verification if specified.\n* `-k` Specify your private key. If not specified, it searches `~/.ssh/id_ecdsa`, `~/.ssh/id_ed25519`, `~/.ssh/id_rsa` in order and uses the first one found.\n* `-i` Input file. Plaintext file to be encrypted when encrypting. When decrypting, please specify the ciphertext file to be decrypted. If no options are specified, it reads from standard input.\n* `-o` output file. Outputs to standard output if no option is specified.\n* Specify `-d` for decrypt mode. Encrypted mode if not specified.\n\n## Supported algorithms\n\nList of supported public key prefixes:\n\n* `ssh-rsa` -- Key length is 1024 bits or more\n* `ecdsa-sha2-nistp256`\n* `ecdsa-sha2-nistp384`\n* `ecdsa-sha2-nistp521`\n* `ssh-ed25519`\n\n**Unsupported** public key prefix list:\n\n* `ssh-dss` -- DSA\n* `ssh-rsa` -- Key length is less than 1024 bits\n* `sk-ecdsa-sha2-nistp256@openssh.com`\n* `sk-ssh-ed25519@openssh.com`\n\n## Example of use\n\nEncrypt your file `secret.txt` for GitHub user `octacat` and save it as `sceret.zip`.\n\n```\ngit-caesar -u octacat -i secret.txt -o secret.zip\n```\n\nIn the same situation, the private key uses `~/.ssh/id_secret`.\n\n```\ngit-caesar -u octacat -i secret.txt -o secret.zip -k ~/.ssh/id_secret\n```\n\nDecrypt GitLab user `tanuki`'s file `secret.zip` and save it as `sceret.txt`.\n\n```\ngit-caesar -d -u https://gitlab.com/tanuki.keys -i secret.zip -o secret.txt\n```\n\nSame situation, no signature verification.\n\n```\ngit-caesar -d -i secret.zip -o secret.txt\n```\n\n## Related Tech Blog Articles\n\n* dev.to [Passwordless encryption with public key for GitHub](https://dev.to/yoshi389111/passwordless-encryption-with-public-key-for-github-kb6) English\n* Qiita [GitHub 用の公開鍵でパスワードレスの暗号化/復号をしてみる\n](https://qiita.com/yoshi389111/items/238908e1933a8a4018c6) Japanese\n\n## Copyright and License\n\n(C) 2023 SATO, Yoshiyuki\n\nThis software is released under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoshi389111%2Fgit-caesar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoshi389111%2Fgit-caesar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoshi389111%2Fgit-caesar/lists"}