
Uma ferramenta para extrair um repositório git de um site
Uma ferramenta para extrair um repositório git de um site.
Pode ser instalado facilmente com pip:
pip install git-dumper
usage: git-dumper [options] URL DIR
Extrai um repositório git de um site.
positional arguments:
URL url
DIR diretório de saída
optional arguments:
-h, --help mostra esta mensagem de ajuda e sai
--proxy PROXY usa o proxy especificado
-j JOBS, --jobs JOBS número de requisições simultâneas
-r RETRY, --retry RETRY
número de tentativas de requisição antes de desistir
-t TIMEOUT, --timeout TIMEOUT
tempo máximo em segundos antes de desistir
-u USER_AGENT, --user-agent USER_AGENT
user-agent a ser usado nas requisições
-H HEADER, --header HEADER
cabeçalhos http adicionais, ex.: `NOME=VALOR`
--client-cert-p12 CLIENT_CERT_P12
certificado do cliente no formato PKCS#12
--client-cert-p12-password CLIENT_CERT_P12_PASSWORD
senha para o certificado do cliente
-b BRANCH, --branch BRANCH
nome de branch adicional para verificar (repetível)
git-dumper http://website.com/.git ~/website
Use este software por sua conta e risco!
Você deve saber que, se o repositório que está baixando for controlado por um invasor, isso pode levar à execução remota de código na sua máquina.
Simplesmente instale as dependências com pip:
pip install -r requirements.txt
Em seguida, use:
./git_dumper.py http://website.com/.git ~/website
A ferramenta primeiro verifica se a listagem de diretório está disponível. Se estiver, ela simplesmente fará o download recursivo do diretório .git (o que você faria com wget).
Se a listagem de diretório não estiver disponível, ela usará vários métodos para encontrar o maior número possível de arquivos. Passo a passo, o git-dumper irá:
.gitignore, .git/HEAD, .git/index, etc.);refs/heads/master, refs/remotes/origin/HEAD, etc.) analisando .git/HEAD, .git/logs/HEAD, .git/config, .git/packed-refs e assim por diante;.git/packed-refs, .git/index, .git/refs/* e .git/logs/*;git checkout .