Jak zaktualizować Ruby Gems zza Proxy (ISA-NTLM)

Firewall, za którym stoję, uruchamia Microsoft ISA server w trybie tylko NTLM. Hash czy ktoś ma sukces, aby ich Ruby gems zainstalować / zaktualizować za pomocą Ruby SSPI gem lub innej metody?

... czy jestem tylko leniwy?

Uwaga: rubysspi-1.2.4 nie działa.

To również działa dla "igem", części projektu IronRuby
Author: the Tin Man, 2008-08-07

18 answers

Nie udało mi się uruchomić mojego Z przełącznika linii poleceń, ale udało mi się to zrobić po prostu ustawiając moją zmienną środowiskową HTTP_PROXY. (Zauważ, że sprawa wydaje się być ważna). Mam plik wsadowy, który ma w sobie taką linię:

SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%

Ustawiłem cztery odwołane zmienne, zanim przejdę do tej linii. Na przykład, jeśli moja nazwa użytkownika to "wolfbyte", moje hasło to "secret", a mój proxy nazywa się "pigsy" i działa na porcie 8080: {]}

SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080

You might want to be uważaj, jak sobie z tym radzisz, ponieważ przechowuje Twoje hasło w zwykłym tekście w sesji maszyny, ale nie sądzę, że powinno to być zbyt dużym problemem.

 204
Author: Mike Minutillo,
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-01-29 17:28:20

Dla systemu operacyjnego Windows, używałem Fiddler do obejścia problemu.

  1. Install / Run Fiddler from www.fiddler2.com
  2. Run gem:

    $ gem install --http-proxy http://localhost:8888 $gem_name
    
 199
Author: Peter Moresi,
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-01-29 18:09:35

To całkowicie zadziałało:

gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
 119
Author: SethRocker,
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-01-29 17:30:58

Używam cntlm ( http://cntlm.sourceforge.net / ) w pracy. Konfiguracja jest bardzo podobna do ntlmaps.

Działa świetnie, a także pozwala mi podłączyć moje Ubuntu box do proxy ISA.

Zobacz http://cntlm.wiki.sourceforge.net/ Więcej informacji

 48
Author: Jason Navarrete,
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
2008-08-31 21:59:45

Wypróbowałem niektóre z tych rozwiązań i żaden z nich nie zadziałał. W końcu znalazłem rozwiązanie, które działa dla mnie:

gem install -p http://proxy_ip:proxy_port rails

Użycie parametru -p do przekazania serwera proxy. Używam Gem w wersji 1.9.1.

 37
Author: kfox,
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-01-29 18:04:04

To rozwiązało mój problem doskonale:

gem install -p http://proxy_ip:proxy_port compass

Może być konieczne dodanie do niego nazwy użytkownika i hasła:

gem install -p http://[username]:[password]@proxy_ip:proxy_port compass
 14
Author: HomTom,
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-04-09 08:48:40

Utwórz .plik gemrc (albo w /etc / gemrc albo ~/.gemrc lub na przykład z chef gem w /opt / chef / embedded / etc/ gemrc) zawierający:

http_proxy: http://proxy:3128

Wtedy możesz gem install Jak zwykle.

 14
Author: lukapiske,
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-05-09 17:04:19

Jeśli masz problemy z uwierzytelnieniem przez serwer proxy, pamiętaj, aby ustawić zmienne środowiskowe dokładnie w poniższym formacie:

set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password

Składnia user:password@ wydaje się nie działać i istnieją również źle nazwane zmienne środowiskowe unoszące się wokół Stack Overflow i różnych postów na forum.

Należy również pamiętać, że pobieranie klejnotów może zająć trochę czasu. Na początku myślałem, że to nie działa, ale z odrobiną cierpliwości zaczęli ściągać zgodnie z oczekiwaniami.

 10
Author: Benjamin Wootton,
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-01-29 17:29:51

Próbowałem wszystkich powyższych rozwiązań, jednak żadne z nich nie zadziałało. Jeśli jesteś na Linuksie / macOS, wysoce sugeruję użycie tsocks przez tunel ssh. To, czego potrzebujesz, aby uruchomić tę konfigurację, to maszyna, na której możesz zalogować się przez ssh, a ponadto zainstalowany jest program o nazwie tsocks.

Chodzi o stworzenie dynamicznego tunelu przez SSH (proxy socks5). Następnie konfigurujemy tsocks, aby korzystał z tego tunelu i uruchamiał nasze aplikacje, w tym przypadku:

tsocks gem install ...

Lub na konto dla rails 3.0:

tsocks bundle install

Bardziej szczegółowy przewodnik można znaleźć pod:

Http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/

Pomimo napisania Dla Ubuntu, procedura powinna być stosowana dla wszystkich maszyn opartych na Uniksie. Alternatywą dla tsocks Dla Windows jest FreeCap (http://www.freecap.ru/eng / ). realny klient SSH w systemie windows nazywa się putty.

 8
Author: Christian F,
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
2011-09-06 05:04:51

Posty obfitują w ten temat, a aby pomóc innym zaoszczędzić godziny próbowania różnych rozwiązań, oto końcowy efekt moich godzin majsterkowania.

Trzy rozwiązania w Internecie w tej chwili są: rubysspi apserver cntlm

Rubysspi działa tylko na komputerze z systemem Windows, AFAIK, ponieważ opiera się na bibliotece Win32Api. Jeśli więc korzystasz z Okna Windows, próbując uruchomić serwer proxy, jest to rozwiązanie dla Ciebie. Jeśli jesteś na dystrybucji Linuksa, jesteś z szczęście.

Apserver wydaje się być martwym projektem. Link podany w postach, które widziałem, prowadzi do strony 404 na sourceforge. Szukam "apserver" na sourceforge nic nie zwraca.

Link sourceforge dla cntlm, który widziałem przekierowuje na http://cntlm.awk.cz / , ale to się kończy. Wyszukiwanie na sourceforge wyświetla ten link, który działa: http://sourceforge.net/projects/cntlm/

Po pobraniu i skonfigurowaniu cntlm udało mi się zainstalować gem przez proxy, więc wydaje się to być najlepszym rozwiązaniem dla dystrybucji Linuksa.

 7
Author: ,
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
2009-03-10 11:37:13

Obejściem jest instalacja http://apserver.sourceforge.net na lokalnym komputerze skonfiguruj go i uruchom gems przez ten serwer proxy.

  • Zainstaluj: po prostu pobierz apserver 097 (a nie eksperymentalny 098!) i rozpakować.
  • Konfiguracja: Edycja serwera.plik cfg i umieść wartości dla Twojego MS proxy w PARENT_PROXY i PARENT_PROXY_PORT. Wprowadź wartości dla domeny i użytkownika. Pozostaw hasło puste – nic po dwukropku) - zostanie wyświetlony monit podczas uruchamiania go.
  • Uruchom apserver: cd aps097; python main.py
  • Run Gems: gem install—http-proxy http://localhost:5865/ library
 5
Author: Jarin Udom,
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-01-29 18:11:56

Pracuję za proxy i właśnie zainstalowałem SASS pobierając bezpośrednio z http://rubygems.org .

Pobiegłem sudo gem install [path/to/downloaded/gem/file]. Nie mogę powiedzieć, że to zadziała na wszystkie klejnoty, ale może pomóc niektórym ludziom.

 4
Author: Zander,
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-01-29 18:03:16

To działało u mnie w oknie Windows:

set HTTP_PROXY=http://server:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=userparssword
set HTTPS_PROXY=http://server:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=userpassword

Mam plik wsadowy z tymi liniami, którego używam do ustawiania wartości środowiska, gdy tego potrzebuję.

Sztuczka, w moim przypadku, to HTTPS_PROXY Zestawy. Bez nich zawsze mam błąd uwierzytelniania proxy 407.

 3
Author: Pedro García Vigil,
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-01-29 17:30:06

Rubysspi-1.3.1 działał mi na Windows 7, używając instrukcji z tej strony:

Http://www.stuartellis.eu/articles/installing-ruby/

 2
Author: moonpatrol,
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
2011-11-04 07:46:25

Jeśli korzystasz z systemu * nix, użyj tego:

export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}

A następnie spróbuj:

gem install ${gem_name}
 2
Author: Saikrishna Rao,
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-01-29 17:30:26

Jeśli chcesz użyć proxy SOCKS5, możesz spróbować rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy .

U mnie działa na OSX 10.9.3.

 1
Author: Qi Luo,
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-06 16:52:33

Jeśli za serwerem proxy możesz przejść do Ruby downloads , Kliknij Download, który pobierze określoną aktualizację (lub Gem ) do żądanej lokalizacji.

Następnie, za pomocą wiersza poleceń Ruby, przejdź do pobranej lokalizacji za pomocą: pushd [directory]

Eg: pushd D:\Setups

Następnie uruchom następujące polecenie: gem install [update name] --local

Np: gem install rubygems-update --local.

Testowane Na Windows 7 z Ruby update w wersji 2.4.1.

Aby sprawdzić użyj następującego polecenia: ruby -v

 1
Author: ArNumb,
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-08-11 13:27:13

Zamiast edytować pliki wsadowe (co może być konieczne dla innych klejnotów Ruby, np. Bundler), prawdopodobnie lepiej zrobić to raz i zrobić to poprawnie.

W systemie Windows, za firmowym serwerem proxy, wystarczyło dodać zmienną środowiskową HTTP_PROXY do mojego systemu.

  1. Start - > kliknij prawym przyciskiem myszy Komputer - > Właściwości
  2. Wybierz "Zaawansowane Ustawienia Systemu"
  3. Kliknij Zaawansowane - > Zmienne Środowiskowe
  4. tworzy nową zmienną systemową o nazwie "HTTP_PROXY", oraz ustaw wartość serwera proxy
  5. Uruchom ponownie lub wyloguj się i wróć ponownie

W zależności od wymagań uwierzytelniania, wartość {[2] } może być tak prosta, jak:

http://proxy-server-name

Lub bardziej złożone, jak wskazywali inni

http://username:password@proxy-server-name:port-number
 1
Author: testworks,
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-01-29 18:02:40