FsPages laisse la place à Gitlab Pages ! Voici la documentation pour vous en servir : https://docs.gitlab.com/ce/user/project/pages/index.html

Public
Snippet $372 authored by Mimoza

Configure un proxy pour Git via les variables d'environnements Windows

Edited
git_proxy.sh
#!/bin/bash

# Adaptation du script suivant : https://gist.github.com/garystafford/8196920
# Article du blog : https://programmaticponderings.com/2013/12/25/managing-git-proxy/

################################################################################
# Variables de configuration
################################################################################
PASSWORD=""
PROXY_SERVER=""
PROXY_PORT="3128"
NO_PROXY="localhost,127.0.0.1"

# Mettre true, True, TRUE ou 1 pour activer les options suivantes
# Ne rien mettre ou autre chose pour désactiver
VERBOSE=0
SSL_NO_VERIFY=1

################################################################################
# Constantes
################################################################################
variables=( \
		"HTTP_PROXY" "HTTPS_PROXY" "FTP_PROXY" "ALL_PROXY" \
		"NO_PROXY" "GIT_CURL_VERBOSE" "GIT_SSL_NO_VERIFY" \
	)
################################################################################
# Fonctions
################################################################################

# configure proxy for git while on corporate network
function proxy_on(){
	# $USERDOMAIN, $USERNAME, $USERDNSDOMAIN 
	# are existing Windows environment variables on my computer
	if [ "empty$PASSWORD" = "empty" ]; then
		read -s -p "Enter Password: " PASSWORD
	fi

	# on Windows env vars are UPPERCASE even in git bash
	export HTTP_PROXY="http://$USERNAME:$PASSWORD@$PROXY_SERVER.$USERDNSDOMAIN:$PROXY_PORT"
	export HTTPS_PROXY=$HTTP_PROXY
	export FTP_PROXY=$HTTP_PROXY
	
	# for SOCKS use ALL_PROXY or SOCKS_PROXY?
	export ALL_PROXY=$HTTP_PROXY
	export SOCKS_PROXY=$HTTP_PROXY

	export NO_PROXY="$NO_PROXY,$USERDNSDOMAIN"
	
	# optional for debugging
	set_optional GIT_CURL_VERBOSE $VERBOSE
	
	# optional Self Signed SSL certs and
	# internal CA certificate in an corporate environment
	set_optional GIT_SSL_NO_VERIFY $SSL_NO_VERIFY

	print_vars
	echo "Proxy-related environment variables set."
	
	# For security reason
	unset PASSWORD
}

function set_optional(){
	if [[ $2 = +(true|True|TRUE|1) ]]; then
		export -p $1=$2
	else
		unset $1
	fi
}

# remove proxy settings when off corporate network
function proxy_off(){
	for i in "${variables[@]}"
	do
		unset $i
	done

	print_vars
	echo "Proxy-related environment variables removed."
}

function print_vars(){
# Print each variables without password
	for i in "${variables[@]}"
	do
		echo -n "$i="
		eval "echo \"\${$i//$PASSWORD/<PASSWORD>}\""
	done
	echo "#####################################################################"
}

function usage(){
echo "Usage :"
echo "  . ./git_proxy.sh {-on | -off}"
echo " Ne pas oublier le «. » avant le «./» pour que les variables soit bien mis dans le shell actif"
}

################################################################################
# Corp du script
################################################################################
case $1 in
	-on) proxy_on;;
	-off) proxy_off;;
	*) usage
esac