{"id":15292498,"url":"https://github.com/sergei-matheson/shellject","last_synced_at":"2025-04-13T11:12:18.468Z","repository":{"id":27257475,"uuid":"30729913","full_name":"sergei-matheson/shellject","owner":"sergei-matheson","description":"Secure storage and injection of environment variables","archived":false,"fork":false,"pushed_at":"2021-11-10T07:41:52.000Z","size":46,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T16:24:35.875Z","etag":null,"topics":["bash","environment-variables","gpgme","ruby","secu"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/sergei-matheson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-12T22:59:36.000Z","updated_at":"2021-11-10T07:41:55.000Z","dependencies_parsed_at":"2022-08-21T01:20:56.585Z","dependency_job_id":null,"html_url":"https://github.com/sergei-matheson/shellject","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergei-matheson%2Fshellject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergei-matheson%2Fshellject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergei-matheson%2Fshellject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergei-matheson%2Fshellject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergei-matheson","download_url":"https://codeload.github.com/sergei-matheson/shellject/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703198,"owners_count":21148118,"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":["bash","environment-variables","gpgme","ruby","secu"],"created_at":"2024-09-30T16:18:24.864Z","updated_at":"2025-04-13T11:12:18.446Z","avatar_url":"https://github.com/sergei-matheson.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shellject\n\nStore your secret environment variables (API keys, AWS secrets etc.) with GPGME, and inject them into your current shell when needed.\n\n[![Build Status](https://travis-ci.org/sergei-matheson/shellject.svg?branch=master)](https://travis-ci.org/sergei-matheson/shellject)\n[![Code Climate](https://codeclimate.com/github/sergei-matheson/shellject/badges/gpa.svg)](https://codeclimate.com/github/sergei-matheson/shellject)\n[![Test Coverage](https://codeclimate.com/github/sergei-matheson/shellject/badges/coverage.svg)](https://codeclimate.com/github/sergei-matheson/shellject)\n[![Gem Version](https://badge.fury.io/rb/shellject.svg)](http://badge.fury.io/rb/shellject)\n\n## Installation\n\n1. Install [GPGTools](https://gpgtools.org) on OSX and create a new key pair, if you don't have one already\n1. If you have more than 1 secret key in your keyring, you may want to ensure that the 'default-key' is specified in ~/.gnupg/gpg.conf\n1. Then install the gem:\n  ```ruby\n  # In your Gemfile\n  gem 'shellject'\n  ```\n\n  And then execute:\n\n  ```sh\n  $ bundle\n  ```\n\n  Or install it yourself as:\n\n  ```sh\n  $ gem install shellject\n  ```\n\n  *You may need to brew install gpgme on mac, or use your favourite package manager in linux*\n\n4. Finally, run\n\n  ```sh\n  $ shellject setup\n  ```\n  for instructions on how to set up the shell wrapper needed for injection, and, optionally, command-line completion.\n\n\n## Usage\n\n### Creating a new shelljection\n   1. Create a text file with the shell code you wish to have securely injected. Here's one we prepared earlier:\n     \n    $ cat my-secret-stuff.sh\n    \u003e\n     export SECRET_APIKEY=abc123\n     export OTHER_VAR=stuff\n     \n   2. Save the file contents as a shelljection:\n     \n     $ shellject save --name stuff my-secret-stuff.sh\n     \n   3. Test the shelljection:\n   \n     $ shellject load stuff\n\n     echo $SECRET_APIKEY # \"abc123\"\n     \n     echo $OTHER_VAR # \"stuff\"\n   4. *REMOVE THE ORIGINAL FILE!*\n   5. Now, you can securely load the environment variables whenever you wish:\n\n     $ shellject load stuff\n\n### For further help and options:\n`$ shellject --help`\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec shellject` to use the code located in this directory, ignoring other installed copies of this gem.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\n1. Fork it ( https://github.com/sergei-matheson/shellject/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Test your changes (`bundle exec rake`)\n5. Push to the branch (`git push origin my-new-feature`)\n6. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergei-matheson%2Fshellject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergei-matheson%2Fshellject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergei-matheson%2Fshellject/lists"}