6.0.0-alpha.21 • Published 4 months ago

@guanghechen/tool-git-cipher v6.0.0-alpha.21

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago
  • Fully encrypt the git repository

    • Prepare a directory plaintextRootDir, which tracks (or uses it as the source repository directly) the git repository to be encrypted. Every time the encrypt command is executed, the content under the path plaintextRootDir will be encrypted and stored into directory ciphertextRootDir, and the structure of the file will be saved in indexFilepath.

    • Support incremental update content, determine whether the file needs to be re-encrypted by comparing the latest modified time of the source file.

    • The secret key to encrypt the plaintextRootDir directory is encrypted by a password entered by the user and saved in the secretConfigPath file. This file also saves the encrypted result of the mac value of the original key, which is used to verify whether the subsequent input password is correct.

    • Default algorithm AES-256 gcm.

Install

  • npm

    npm install -g @guanghechen/tool-git-cipher
  • yarn

    yarn global add @guanghechen/tool-git-cipher

Examples

  • Basic:

    You can specify configs into package.json like below:

    {
      "name": "private-repository-demo",
      "version": "0.0.0",
      "private": true,
      "scripts": {
        "encrypt": "ghc-git-cipher encrypt .",
        "decrypt": "ghc-git-cipher decrypt ."
      },
      "devDependencies": {
        "@guanghechen/tool-git-cipher": "^4.0.0-alpha.3"
      },
      "@guanghechen/tool-git-cipher": {
        "__globalOptions__": {
          "catalogConfigPath": "ghc-crypt/.ghc-catalog",
          "cryptRootDir": "ghc-crypt",
          "encoding": "utf8",
          "CRYPT_FILES_DIR": "encrypted",
          "cryptFilepathSalt": "",
          "keepIntegrity": [
            ".gitignore",
            ".npmrc",
            ".nvmrc",
            ".yarnrc",
            "package.json",
            "yarn.lock",
            ".ghc-secret"
          ],
          "keepPlainPatterns": [
            ".gitignore",
            ".npmrc",
            ".nvmrc",
            ".yarnrc",
            "package.json",
            "yarn.lock",
            ".ghc-secret"
          ],
          "logLevel": "info",
          "minPasswordLength": 6,
          "PART_CODE_PREFIX": ".ghc-part",
          "pbkdf2Options": {
            "salt": "guanghechen",
            "digest": "sha256",
            "iterations": 100000,
            "keylen": 32
          },
          "secretConfigPath": ".ghc-secret",
          "showAsterisk": true
        },
        "encrypt": {
          "catalogCachePath": ".ghc-catalog.cache.json"
        },
        "decrypt": {}
      }
    }

    While __globalOptions__ is the global option, encrypt is the option for the sub-command encrypt and etc.

6.0.0-alpha.20

4 months ago

6.0.0-alpha.21

4 months ago

6.0.0-alpha.19

5 months ago

6.0.0-alpha.16

5 months ago

6.0.0-alpha.17

5 months ago

6.0.0-alpha.18

5 months ago

6.0.0-alpha.15

5 months ago

6.0.0-alpha.13

5 months ago

6.0.0-alpha.14

5 months ago

6.0.0-alpha.12

5 months ago

6.0.0-alpha.11

5 months ago

6.0.0-alpha.10

5 months ago

6.0.0-alpha.9

5 months ago

6.0.0-alpha.8

5 months ago

6.0.0-alpha.5

5 months ago

6.0.0-alpha.6

5 months ago

6.0.0-alpha.7

5 months ago

6.0.0-alpha.3

6 months ago

6.0.0-alpha.4

5 months ago

6.0.0-alpha.0

6 months ago

6.0.0-alpha.1

6 months ago

6.0.0-alpha.2

6 months ago

5.0.9

7 months ago

5.0.8

8 months ago

5.0.7

9 months ago

5.0.6

9 months ago

5.0.5

9 months ago

5.0.4

9 months ago

5.0.3

10 months ago

5.0.2

10 months ago

5.0.10

7 months ago

5.0.11

7 months ago

5.0.12

6 months ago

5.0.13

6 months ago

5.0.14

6 months ago

5.0.0-alpha.3

1 year ago

5.0.0-alpha.2

1 year ago

5.0.1

12 months ago

5.0.0

12 months ago

4.7.2

1 year ago

4.7.1

1 year ago

4.7.4

1 year ago

4.7.3

1 year ago

5.0.0-alpha.1

1 year ago

5.0.0-alpha.0

1 year ago

4.0.0-alpha.7

1 year ago

4.0.0-alpha.8

1 year ago

4.0.0-alpha.5

1 year ago

4.0.0-alpha.6

1 year ago

4.0.0-alpha.3

1 year ago

4.0.0-alpha.4

1 year ago

4.0.0-alpha.1

1 year ago

4.0.0-alpha.2

1 year ago

4.0.0-alpha.0

1 year ago

4.4.1

1 year ago

4.4.0

1 year ago

4.2.2

1 year ago

4.6.1

1 year ago

4.4.3

1 year ago

4.6.0

1 year ago

4.4.2

1 year ago

4.0.0

1 year ago

4.2.1

1 year ago

4.2.0

1 year ago

4.6.3

1 year ago

4.6.2

1 year ago

4.6.5

1 year ago

4.6.4

1 year ago

4.5.0

1 year ago

4.1.3

1 year ago

4.7.0

1 year ago

4.1.0

1 year ago

4.3.0

1 year ago

4.1.2

1 year ago

4.1.1

1 year ago

3.0.0-alpha.1

1 year ago

3.0.0-alpha.0

1 year ago

3.0.0-alpha.3

1 year ago

3.0.0-alpha.2

1 year ago

3.0.0-alpha.5

1 year ago

3.0.0-alpha.4

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.1.2

2 years ago

2.1.1

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.0.0-alpha.3

2 years ago

2.0.0-alpha.2

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

2.0.0-alpha.0

2 years ago

2.0.0-alpha.1

2 years ago

1.9.8

2 years ago

1.9.7

2 years ago

1.9.6

2 years ago

1.9.5

2 years ago

1.9.0-alpha.0

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago

1.8.6

2 years ago

1.9.4

2 years ago

1.9.3

2 years ago

1.9.2

2 years ago

1.8.5

2 years ago

1.8.4

3 years ago

1.8.3

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.7.0-alpha.3

3 years ago

1.7.0-alpha.2

3 years ago

1.7.0-alpha.1

3 years ago

1.7.0-alpha.0

3 years ago