Skip to content

hellobrigit/fastlane-plugin-cryptex

 
 

Repository files navigation

Cryptex for fastlane

fastlane Plugin Badge

The Brigit Fork

We forked this repo because the original is no longer maintained and we wanted to make a couple of changes. We have made the following changes:

  • Implement the change_password command to enable us to do so in the case that it is leaked.
  • Change the default value for the digest option. It was set to sha256 in the crypt method itself and md5 in the command's default options leading to different encryptions being used in different scenarios.

About cryptex

Manage files - crypted - in a git repository. adds fastlane actions, and also ships a cryptex binary.

  • all kinds of files
  • ENV variables

Setup

This project is a fastlane plugin. To get started with fastlane-plugin-cryptex, add it to your project by running:

fastlane add_plugin cryptex

Example

lane :test do
  # Generate a new Android Keystore
  
  cryptex_generate_keystore(
    destination: "sample.keystore",
    fullname: "Helmut Januschka",
    city: "Vienna",
    alias: "releaseKey"
  )

  # import/update this in cryptex
  cryptex(
    type: "import",
    in: "sample.keystore",
    key: "my_awesome_app_production"
  )

  # export a file from cryptex
  cryptex(
    type: "export",
    out: "releaseKey.keystore",
    key: "my_awesome_app_production"
  )

  file_output = File.read("../releaseKey.keystore")
  puts "File Content: #{file_output.tr("\n", ' ')}"

  # delete the file
  cryptex(
    type: "delete",
    key: "my_awesome_app_production"
  )

  # Nukes all files
  cryptex(
    type: "nuke"
  )
  
  
  #ENV SAMPLES
  #import some env into the space of `my_group`
  cryptex(
    type: "import_env",
    hash: {
      "helmut" => "go",
      "some_url" =>  "http://lets.do.it"
    },
    key: "my_group"
  )
  env_out = cryptex(
    type: "export_env",
    key: "my_group",
    set_env: true #THIS one sets the values found directly into to ENV
    #hash: {"my_key"=>true, "some_url"=>true} # only returned specific keys
  )
  
  puts "IN ENV it is:"
  puts ENV['some_url']
  puts "returned: #{env_out.inspect}"
  
end

Commandline Examples:

#init
cryptex init

# import file
cryptex -s import -i file_to_hide.txt -k file_key

# export file
cryptex -s export -k file_key -o file_to_hide.txt

#delete file
cryptex -s delete -k file_key

#nuke repo
cryptex nuke

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%