Klient GitHub Windows za proxy

Próbuję uruchomić klienta GitHub Dla Windows. Jestem na korporacyjnym komputerze Win 7 x64 za korporacyjnym proxy i firewallem. Śledząc różne inne posty i eksperymentując z wieloma kombinacjami zmiennych środowiskowych i zmiennych konfiguracyjnych znalazłem jedyny sposób, aby uzyskać klonowanie i aktualizacje push do pracy, to użycie zmiennej środowiskowej HTTPS_PROXY, w tym mój pełny identyfikator użytkownika domeny korporacyjnej i hasło.

Jest to niedopuszczalne z punktu widzenia bezpieczeństwa punkt widzenia. Jest jakiś inny sposób, żeby to zadziałało?

Uwagi dodatkowe:

:

  • Dodaj zmienną środowiskową o nazwie HTTPS_PROXY z wartością http://[domain]\[userid]:[password]@someproxy.mycorp.com:8080

Następująca praca Nie :

  • pominięcie identyfikatora użytkownika i hasła ze zmiennej HTTPS_PROXY
  • użycie zmiennej środowiskowej o nazwie HTTP_PROXY (no S)
  • dodanie zmiennej http.proxy do globalnego pliku konfiguracyjnego (.gitconfig)
  • dodawanie https.proxy varaible do globalnego pliku konfiguracyjnego

We wszystkich przypadkach Klient GitHub nadal nie rozpoznaje serwera proxy: zawartości pliku TheLog.txt zawsze pokazuje następujące przy starcie:

[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Proxy information: (None)
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Couldn't fetch creds for proxy

I następuje wyjście kilku nieudanych prób uwierzytelniania przez serwer proxy, z których wszystkie wskazują "brak danych uwierzytelniających."

Author: Joshua Honig, 2013-04-22

9 answers

Dodaj te wpisy do swojego".plik gitconfig w katalogu użytkownika (przejdź do %USERPROFILE%):

[http]
    proxy = http://<proxy address>:<proxy port>

[https]
    proxy = https://<proxy address>:<proxy port>

A jeśli nie chcesz przechowywać hasła w postaci zwykłego tekstu, użyłbym lokalnego spedytora proxy, takiego jak CNTLM, który pozwala kierować cały ruch przez niego i może przechowywać hasła zahaszowane.


W przeciwieństwie do oryginalnego pytania, Jeśli nie obchodzi cię, czy Twoje hasło jest w zwykłym tekście dodaj te:

[http]
    proxy = http://<username>:<password>@<proxy address>:<proxy port>

[https]
    proxy = https://<username>:<password>@<proxy address>:<proxy port>
 123
Author: Sogger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-26 21:55:28

Próbowałem wszystkiego powyżej - i nie udało mi się, Jedyne co mi pomogło to CNTLM - http://cntlm.sourceforge.net/.

Zainstaluj go i uruchom cntlm-H, a następnie Uwierzytelnij do proxy corp, edytuj cntlm.plik ini z wyjściem cntlm, uruchom ponownie usługę windows. Aktualizacja .gitconfig with:

[https] proxy = localhost:3128
[http] proxy = localhost:3128

Teraz cntlm zrobi wszystkie uwierzytelnianie, a Ty będziesz mógł używać GitHub (i Dropbox, btw) za proxy corp. Przynajmniej do następnej zmiany hasła:) (niż cntlm-H stuff again)

 13
Author: Anton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-10 07:36:29

Udało mi się stworzyć GitHub Shell do współpracy z naszym korporacyjnym proxy. Uruchamiam GitHub Shell i wykonuję następujące polecenie:

export http_proxy=http://<username>:<password>@<corporate proxy>:3128

Bardzo chciałbym, aby GUI też działało. Ale nie chcę ustawiać globalnej zmiennej środowiskowej Windows, która zawiera moje firmowe informacje poświadczające.

O dziwo Klient GUI GitHub jest w stanie połączyć się z GitHub w celu uwierzytelnienia użytkownika, ale jedynym problemem jest klonowanie, ciągnięcie i pchanie projektów z I do Githuba. Wygląda na to, że problem tkwi w implementacji Gita. Udało mi się skonfigurować git tak, aby działał przez nasz serwer proxy bez umieszczania moich danych uwierzytelniających w globalnych Ustawieniach git. Ale to działało tylko w Git Shell.

 8
Author: edufinn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-12 11:51:43

Jeśli używasz GitHub Dla Windows w firmie, są duże szanse, że jesteś za wielkim złym firmowym firewallem/Proxy. GitHub dla Windows nie ma jeszcze parametrów proxy w interfejsie GUI dla opcji ustawiania.

Aby skonfigurować GitHub Dla Windows do korzystania z firmowego serwera proxy, edytuj .plik gitconfig zazwyczaj znajduje się na C:\Users\.gitconfig lub C:\Documents & Ustawienia\.gitconfig

Zamknij GitHub dla Windows; In .gitconfig, wystarczy dodać

[https] plotdata = proxy.yourcompany. com:port

 7
Author: Manivannan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-04 11:59:03

Również natknąłem się na ten problem i próbowałem się do niego trochę zagłębić (zdemontowałem klienta).

Fragment kodu, który generuje komunikaty dziennika, które widzimy, jest następujący:

private static void LogProxyServerConfiguration()
{
    WebProxy defaultProxy = WebProxy.GetDefaultProxy();
    string str = defaultProxy.Address != (Uri)null ? defaultProxy.Address.ToString() : "(None)";
    StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Proxy information: {0}", str);
    try
    {
        if (defaultProxy.Credentials == null)
        {
            StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Couldn't fetch creds for proxy", new object[0]);
        }
        else
        {
            NetworkCredential credential = defaultProxy.Credentials.GetCredential(GitHubClient.GitHubDotComUri, "Basic");
            StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Proxy is authenticated: {0}", credential != null && !string.IsNullOrWhiteSpace(credential.UserName));
        }
    }
    catch (Exception ex)
    {
        StartupLogger.log.InfoException("Couldn't fetch creds for proxy", ex);
    }
}

Więc ten blok rejestruje tylko informacje proxy, które są ustawione w IE. Komunikat dziennika wydaje się nie mieć wpływu na to, co skonfigurowaliśmy w plikach konfiguracyjnych lub zmiennych środowiskowych.

 4
Author: DustinTheDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-13 15:49:59

Nie wiem jak twój firewall, ale mój kampus używa proxy

Używasz jakiegoś Git gui? EDIT : właśnie zauważyłem, że używasz klienta github dla windows

Używam tortoisegit i bardzo łatwo jest ustawić proxy. Wystarczy kliknąć prawym przyciskiem myszy w dowolnym miejscu, tortoisegit>sieć, włączyć serwer proxy i ustawić adres serwera, nazwę użytkownika i hasło. done

Z tego, co pamiętam, tortoisegit będzie działał również po wyjęciu z pudełka z github.

 3
Author: bysreg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-22 17:51:50

Oto sposób na ustawienie proxy w github

git config --global http.proxy http://<username>:<pass>@<ip>:<port>
git config --global https.proxy http://<username>:<pass>@<ip>:<port>

Tutaj w mojej uczelni nie mamy nazwy użytkownika i hasła, więc jeśli nasza uczelnia ip: 172.16.10.10 i port to 8080

git config --global http.proxy http://172.16.10.10:8080
git config --global https.proxy http://172.16.10.10:8080

P. s - > polecam użycie tej metody do Ustawienia proxy, ponieważ wszystko się ułoży, jak dowiesz się dalej
Źródło

 2
Author: royatirek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-28 09:06:03

Uznałem Ten blog za przydatny. Opisuje ntlmapy proxy. Prawdopodobnie jest mniej bezpieczny, ale działał sprawnie. Nie mogłem uruchomić cntlm.

 1
Author: Aksakal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-04 18:32:42

Dla nas rozwiązanie wiązało się z dwiema różnymi rzeczami. Po pierwsze, jak opisano w odpowiedzi Soggera, należy dodać wpisy do pliku .gitconfig, znajdującego się w %USERPROFILE%.

[http]
    proxy = http://<proxy address>:<proxy port>

[https]
    proxy = https://<proxy address>:<proxy port>

Po drugie (i to był brakujący element dla nas), musisz skonfigurować wyjątek na serwerze proxy, aby umożliwić nieautentyfikowane proxy traffic to *.github.com

W ipryzmie wygląda to tak: Tutaj wpisz opis obrazka

Problem polega nie tyle na proxy, ale na uwierzytelnianie . Pominięcie wymogu uwierzytelniania pozwala potrzebnej komunikacji klonować i pracować z projektami za pomocą klienta GitHub desktop.

Należy również zauważyć, że to podejście nie wymagało przechowywania poświadczeń proxy w pliku .gitconfig.

 1
Author: AdamsTips,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-23 19:22:54