Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Probleme mit Socksproxy (Indy 10) (https://www.delphipraxis.net/151479-probleme-mit-socksproxy-indy-10-a.html)

DelTurbo 19. Mai 2010 17:06


Probleme mit Socksproxy (Indy 10)
 
Hi,

irgendwie gelingt es mir nicht ein LIST zu machen. Das ganze teil bleibt mit Sanduhr stehen. Lasse ich die zuweisung des proxys weg, klappt es.

Was hab ich denn da vergessen????? :gruebel: Wär super wenn mir einer helfen könnte. Sitze schon 2 Stunden dran *jammer*

Was auch komig ist, "klicke ich es mir zusammen" dann geht es. Also FTP, OpenSSL, Socks auf die form ziehen und direkt die werte eintragen. Das klappt.

Vielen dank im voraus

Delphi-Quellcode:
procedure InitFTPObject(var Ftp:TIdFTP;var SSl:TIdSSLIOHandlerSocketOpenSSL);
begin
    Ftp.IOHandler:=SSl;
    Ftp.UseTLS:=utUseRequireTLS;
    Ftp.TransferType:=ftBinary;
    Ftp.DataPortProtection:=ftpdpsPrivate;
    Ftp.AUTHCmd:=tAuthSSL;
    Ftp.AutoLogin:=False;
    Ftp.Passive:=True;
    Ftp.PassiveUseControlHost:=True;
    SSL.SSLOptions.Method:=sslvTLSv1;
      SSL.SSLOptions.Mode:=sslmUnassigned;
    Ftp.ReadTimeout:=15*60000;
      Ftp.Tag:=0;
end; {InitFTPObject(Source:TIdFTP;SSl:)}

procedure TForm1.Button1Click(Sender: TObject);
var
   Source                  :TidFTP;
   SourceSSl               :TIdSSLIOHandlerSocketOpenSSL;
   SourceProxy            :TIdSocksInfo;
  l                :TStringList;
begin
  Source:=TIdFTP.Create;
  SourceSSl:=TIdSSLIOHandlerSocketOpenSSL.Create;
  InitFTPObject(Source,SourceSSl);

  Source.Username:='test1';
  Source.Password:='123456';
  Source.Port:=50902;
  Source.Host:='192.168.0.123';
   SourceSSL.Host:='192.168.0.123';
  SourceSSL.Destination:='192.168.0.123:50902';
  SourceSSL.Port:=50902;
   SourceProxy:=TIdSocksInfo.Create;
  SourceProxy.Host:='192.168.0.101';
  SourceProxy.Port:=59123;
  SourceProxy.UserName:='proxyuser';
  SourceProxy.Password:='123456';
  SourceProxy.Version:=svSocks5;
  SourceProxy.Authentication:=saUsernamePassword;
  SourceSSL.TransparentProxy:=SourceProxy;

  Source.Connect;
  Source.Login;
  l:=TStringList.Create;
  Source.List(l,'',True);
  WriteLn(l.text);
  l.Free;
  Source.Disconnect(True);

end;

DelTurbo 20. Mai 2010 10:24

Re: Probleme mit Socksproxy (Indy 10)
 
Hi,

nachtrag. Ich habe es gestern abend nochmals verifiziert. Es ist definitiv so, das ein "zusammengeklicktes" läuft.

Da ich leider noch keine antwort habe und wirklich nicht weiterweiss, denk ich, ich habe zu wenig fakten geliefert.

Das möchte ich nun nachhohlen.

Wenn das "erstellte" benutze ist es so, das es sich wirklich über den proxy auf den ftp einloggt. Das heisst, er stellt nicht nur eine verbindung her, sondern loggt sich richtig ein. Bei dem dann folgenden list befehl bleibt es allerdings hängen. So wie ich das sehe bekommt der die response nicht mit. Und dann wartet er....

Nochmals danke im voraus

EDIT: Ich habs log vergessen... da sieht man das er beim PASV hängt....

Zitat:

TYPE I
200 Type set to I.
TYPE A
200 Type set to A.
PBSZ 0
200 PBSZ command OK. Protection buffer size set to 0.
PROT P
200 PROT command OK. Using private data connection.
PASV
227 Entering Passive Mode (192,168,0,102,27,88)

ChrisE 20. Mai 2010 11:17

Re: Probleme mit Socksproxy (Indy 10)
 
Hallo DelTurbo,

ich kann Dir zwar nicht genau sagen woran es liegt, aber vielleicht hilft dir ja das ganzer Schrittweise durch zu gehen. D.h. Projekt das zusammengeklickt wird langsam, in das Dynamische zu konvertieren.

Ich stelle mir das so vor:
1. Zusammenklicken und im OI einstellen und funktioniert
2. OI-Einstellungen "rückgängig" machen und manuell im Code einstellen
3. Alle Komponenten vom Form löschen und in FormCreate erstellen mit den Einstellungen wie sie in der DFM standen und FormDestroy freigeben
4. Erstellen und Freigen aller Komponenten verschieben in die Button1Click

Irgendwo dazwischen muss Dein Fehler ja wieder auftreten. Ist schon sehr komisch.

Greez, Chris

DelTurbo 20. Mai 2010 11:23

Re: Probleme mit Socksproxy (Indy 10)
 
Hehe,

irgendwie scheinst du nicht weit weg zu wohnen, das war schneller als email. Das war wohl ne gedanken übertragung. :-D
Genau das habe ich eben gemacht. Und bin drauf gestossen das PassiveUseControlHost False sein muss wenn man den Socks dazwichen hat.

Gruss und danke

ChrisE 20. Mai 2010 11:26

Re: Probleme mit Socksproxy (Indy 10)
 
Hehe,

Manchmal ist es schon gemein, was einem das geklicke alles abnimmt ohne das man genau weiß, was es einem abnimmt ;-)

Aber jetzt tut es ja.

Greez, Chris

DelTurbo 20. Mai 2010 17:56

Re: Probleme mit Socksproxy (Indy 10)
 
Mist,

nach der umstellung habe ich wieder das prob, das ich Server hinter einem Router nichtmehr erreiche. Dafür sollte PassiveUseControlHost True sein. Aber wenn das True ist, rennt der Socks nicht. :wall:

Es ist herlich damit zu "arbeiten".

Nun fällt es mir auch wieder ein, warum ich das auf True hatte. Deswegen --> http://www.delphipraxis.net/internal....php?p=1122679

H4ndy 20. Mai 2010 18:30

Re: Probleme mit Socksproxy (Indy 10)
 
Das ist ein bekanntes "Problem" mit SOCKS.
Ueber SOCKS kannst du nur schwer FTP betreiben, da es zu statisch ist.

Ich nuzte hier SOCKS um ueber einen puTTY-SSH-Tunnel (zu meinem vServer in Deutschland) und Firefox sicher ueber das Hotel-WLAN surfen zu koennen (OT: benoetigt keine Adminrechte, Anleitung kann ich schicken falls Interesse besteht). FTP geht ueber diesen Tunnel leider nicht uebers SOCKS-Protokoll eben wegen dem genannten Problem mit dem PASV-Modus. Ich glaub das Problem ist, dass ueber SOCKS der FTP-Server nicht an deine IP-Adresse kommt um den Datenkanal aufzubauen, wenn du auf passiv schaltest.

DelTurbo 20. Mai 2010 21:12

Re: Probleme mit Socksproxy (Indy 10)
 
Hi,

also die Proxys (sind Socks5 auf debian) laufen einwandfrei. Ich teste sowas immer mit FFXP bevor ich poste. Das ist einfach ein fehler vom Indy. Den umgehe ich nun dahingehend, das ich auf Servern die hinter einem Router laufen, den Proxy einfach weglasse. Dann kann ich das flag wieder setzen und es geht dann auch mit indy.

Da man ja leider keinerlei feedback bekommt, ob das Socks-probelm bekannt ist, werde ich es wohl erstmal so lassen.

Trotzdem danke......


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz