Dopo aver lottato con il concetto per un po 'ho finalmente capito come ottenere questo set up.
Dopo aver installato cntlm, ho eseguito il seguente da un prompt dei comandi:
"c:\Program Files (x86)\Cntlm\cntlm.exe" -u <user_name> -d <domain_name> -H
Questo chiede la password e sputa fuori tre hash da utilizzare nel file di configurazione.
Mi ridussero la configurazione desiderata in cntlm.ini
a:
Username <user_name>
Domain <domain_name>
PassLM <LM_hash>
PassNT <NT_hash>
PassNTLMv2 <NTLMv2_hash>
Proxy 192.168.7.1:80 #random proxy
NoProxy *
Listen 3133 # unused port
cntlm forze tuoi per specificare un proxy di livello superiore, anche se non è necessario uno o avere uno, in modo che qualsiasi numero valido per tale opzione andrà bene. L'impostazione di NoProxy
a *
assicura che qualsiasi richiesta non venga mai inoltrata al proxy fittizio specificato.
Eseguire la console "c:\Program Files (x86)\Cntlm\cntlm.exe" -f
in una console per verificare che tutto funzioni correttamente. Altrimenti, avvialo e fermalo come servizio.
Per provare con phantomjs ho usato il seguente script:
var page = require('webpage').create();
page.open('http://<machine_name>/myapp', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render('example.png');
}
phantom.exit();
});
<machine_name>
non può essere localhost
perché phantomjs bypassa i proxy quando l'ospite è localhost
, in modo da utilizzare il nome della macchina o l'indirizzo IP.
Per eseguirlo: phantomjs --proxy=localhost:3133 test.js