#git-repository #git #curl #utility #pentest #git-branch #cli

app gitcurl

Clone a directory without using Git but using Curl

4 releases

0.2.1 Nov 30, 2022
0.2.0 Sep 23, 2022
0.1.1 Sep 19, 2022
0.1.0 Sep 19, 2022

#7 in #pentest

MIT/Apache

22KB
377 lines

Gitcurl

crates.io Build

Clone a git repository without the need of git to be installed on your system.

Installation

Cargo

cargo install gitcurl

Pre-compiled binaries

For each release, pre-compiled version are available : https://github.com/shadawck/gitcurl/releases/latest/

OS Arch
linux x86_64
linux armv7
linux arm64
macos x86_64
macos arm64
windows (msvc) x86_64
windows (msvc) i686

How to use gitcurl

Clone a git repository in the current folder:

  • On github:

    gitcurl https://github.com/shadawck/gitcurl
    # or 
    gitcurl github:shadawck:gitcurl
    
  • Or on Gitlab:

    gitcurl https://gitlab.com/tezos/tezos
    # or 
    gitcurl gitlab:tezos:tezos
    
  • Or on premise Gitlab:

    gitcurl https://gitlab.kitware.com/utils/rust-gitlab
    # or 
    gitcurl gitlab.kitware.com:utils:rust-gitlab
    

Clone a specific branch of a git repository in the current folder.

gitcurl https://github.com/shadawck/gitcurl -b main

Fetch a zip of the repository.

gitcurl -z https://github.com/shadawck/gitcurl

Output to a specific path.

gitcurl https://github.com/shadawck/gitcurl -z -o /my/clone/path/myzip.zip
gitcurl https://github.com/shadawck/gitcurl -o /my/clone/path

Options

$ gitcurl --help
Clone git repository with curl

USAGE:
    gitcurl [OPTIONS] <URL>

ARGS:
    <URL>    Github link or just <user_name_name>:<repo_name>

OPTIONS:
    -b, --branch <branch>    Clone a specific branch of git repositiry
    -h, --help               Print help information
    -o, --output <PATH>      Path to save or decompress the zip archive
    -V, --version            Print version information
    -z, --only-zip           Only fetch the zipfile of the git repository without decompressing
shadawck@shadow:/opt/Projet/gitcurl$ 

Dependencies

~15–25MB
~459K SLoC