JDownloader Community - Appwork GmbH
 

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 14.05.2011, 18:41
0alfred0
Guest
 
Posts: n/a
Default Reconnect mit Speedport W723v Typ A

Hey,
Ich habe einen neuen Router: den Speedport W 723v Typ A.
Jetzt muss auch eine neue Methode zum reconnecten her, früher hatte ich ein Script, das funktioniert nun nicht mehr, hab schon einiges probiert, nichts ging, war aber alles für andere Speedports (W700/1v, W721v, etc.) nie etwas explizit für den W723 v Typ A, kann mir jemand aus diesem Forum weiterhelfen? Ich downloade des öfteren als FreeUser von Hoster wie Rapidshare, zwischen mehreren Dateien möchte ich allerdings das Warten umgehen.

Fazit: Ich brauch eine Methode um den Router binnen 0- 3 Minuten zu reconnecten (Wie früher den W701v von mir) !
Reply With Quote
  #2  
Old 15.05.2011, 12:19
remi
Guest
 
Posts: n/a
Default

Haben Sie "Erste Schritte zum Reconnect" schon gelesen?
Reply With Quote
  #3  
Old 17.05.2011, 17:23
Backfire
Guest
 
Posts: n/a
Default

Habe das selbe Problem wie 0alfred0.
hab schon stundenlang gesucht aber noch keine funktionierende lösung gefunden.
das erstellen des reconnection-scrips mit jd funktioniert nicht, ebenfallsnicht im raw-mode.
es sind nirgends passende skripte zu finden, hab schon an die 30 ausprobiert.
auch mit curl ab ichs probiert, weiß aber nich genau ob ich alles richtig gemacht hab, denke jedoch schon.
ein mit liveheader erstelltes clr-script zeigt ebenfalls keine wirkung.
ich hoffe jemand findet bald eine lösung,
lg,

Backfire

edit: und ja, "Erste Schritte zum Reconnect" wurde gelesen ;-)
Reply With Quote
  #4  
Old 18.05.2011, 11:31
remi
Guest
 
Posts: n/a
Default

Haben Sie schon Ihren Router Hersteller kontaktiert?
Reply With Quote
  #5  
Old 28.06.2011, 19:49
buggsy buggsy is offline
BugMeNot Account
 
Join Date: Mar 2009
Location: everywhere/nowhere
Posts: 1,120
Default

Hallo,
ich habe ein kleines Javaprogramm geschrieben mit dem der reconnect beim W 723V Typ A funktioniert. Ich schreibe von einem bugmenot-account ...wollte das einfach mit euch teilen. Kann irgendwie kein Attachment hinzufügen also geb ich euch einfach den sourcecode.

Benutzung folgendermaßen:
Als ausführbare .jar Datei kompilieren/verpacken. Bei External im JDownloader die .jar angeben und als Parameter euer base64 kodiertes Passwort (base64 encoder googlen).

Die Timeouts mit Thread.sleep() kann man evtl kürzer machen wenn man will.

Code:
import java.io.*;
import javax.net.ssl.*;

public class Reconnecter {

	public static void main(String[] args) throws Exception {
		String base64Password = args[0];
			
		SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
		SSLSocket socket = (SSLSocket) factory.createSocket("speedport.ip", 443);
		Writer out = new OutputStreamWriter(socket.getOutputStream());
		BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

		// login
		out.write("POST /index/login.cgi HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Referer: **External links are only visible to Support Staff**);
		out.write("Content-Length: 36\r\n");
		out.write("Content-Type: text/plain; charset=UTF-8\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Pragma: no-cache\r\n");
		out.write("Cache-Control: no-cache\r\n");
		out.write("\r\n");
		out.write("Username=admin&Password=" + base64Password);
		out.flush();

		// second line is something like: Set-Cookie: SessionID_R3=qZbBvb4YS6Y; path=/
		in.readLine();
		String cookie = in.readLine();
		cookie = cookie.substring(cookie.indexOf("SessionID"));
		cookie = cookie.substring(0, cookie.indexOf(";"));
		String commaCookie = cookie.replace('=', ',');

		Thread.sleep(3000);

		// disconnect internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=0");
		out.flush();

		Thread.sleep(8000);

		// reconnect to internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=1");
		out.flush();

		Thread.sleep(5000);

		// end configuration menu
		out.write("POST **External links are only visible to Support Staff** + commaCookie
				+ " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 0\r\n");
		out.write("\r\n");
		out.flush();

		out.close();
		in.close();
		socket.close();
	}
}
Reply With Quote
  #6  
Old 30.06.2011, 09:01
uhlenbroicher
Guest
 
Posts: n/a
Default

Hallo buggsy,
vielen Dank für Deine Arbeit. Mir ist es als blutiger Java - Anfänger auch gelungen, eine ausführbare .jar Datei zu kompilieren, die aber nicht funktioniert, weil ich es nicht hinbekomme, die Parameter unter "String base64Password" einzugeben.
Wie müsste denn die genaue Eingabe in der entsprechenden Zeile lauten, wenn das Passwort z.B. "1411" heißen würde?
Für Deine Hilfe bedanke ich im Voraus.
Gruß
uhlenbroicher
Reply With Quote
  #7  
Old 30.06.2011, 12:56
remi
Guest
 
Posts: n/a
Default

base64("1411") = "MTQxMQ==" (Sehe "**External links are only visible to Support Staff**)
Reply With Quote
  #8  
Old 30.06.2011, 18:36
uhlenbroicher
Guest
 
Posts: n/a
Default

Vielen Dank remi für die schnelle Antwort und den link.
Gruß
uhlenbroicher
Reply With Quote
  #9  
Old 03.07.2011, 19:31
Backfire
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by buggsy View Post
Hallo,
ich habe ein kleines Javaprogramm geschrieben mit dem der reconnect beim W 723V Typ A funktioniert. Ich schreibe von einem bugmenot-account ...wollte das einfach mit euch teilen. Kann irgendwie kein Attachment hinzufügen also geb ich euch einfach den sourcecode.

Benutzung folgendermaßen:
Als ausführbare .jar Datei kompilieren/verpacken. Bei External im JDownloader die .jar angeben und als Parameter euer base64 kodiertes Passwort (base64 encoder googlen).

Die Timeouts mit Thread.sleep() kann man evtl kürzer machen wenn man will.

Code:
import java.io.*;
import javax.net.ssl.*;

public class Reconnecter {

	public static void main(String[] args) throws Exception {
		String base64Password = args[0];
			
		SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
		SSLSocket socket = (SSLSocket) factory.createSocket("speedport.ip", 443);
		Writer out = new OutputStreamWriter(socket.getOutputStream());
		BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

		// login
		out.write("POST /index/login.cgi HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Referer: **External links are only visible to Support Staff**);
		out.write("Content-Length: 36\r\n");
		out.write("Content-Type: text/plain; charset=UTF-8\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Pragma: no-cache\r\n");
		out.write("Cache-Control: no-cache\r\n");
		out.write("\r\n");
		out.write("Username=admin&Password=" + base64Password);
		out.flush();

		// second line is something like: Set-Cookie: SessionID_R3=qZbBvb4YS6Y; path=/
		in.readLine();
		String cookie = in.readLine();
		cookie = cookie.substring(cookie.indexOf("SessionID"));
		cookie = cookie.substring(0, cookie.indexOf(";"));
		String commaCookie = cookie.replace('=', ',');

		Thread.sleep(3000);

		// disconnect internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=0");
		out.flush();

		Thread.sleep(8000);

		// reconnect to internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=1");
		out.flush();

		Thread.sleep(5000);

		// end configuration menu
		out.write("POST **External links are only visible to Support Staff** + commaCookie
				+ " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 0\r\n");
		out.write("\r\n");
		out.flush();

		out.close();
		in.close();
		socket.close();
	}
}
Hi Buggsy und danke für deine arbeit,
dein quelltext gibt mir beim ausführen eine nullpointerexception in zeile 42
kann das was mit der antwort vom router zu tun haben?
kenn mich leider nicht gut genug aus um selbst dran zu schreiben...
funktioniert bei dir die jar-datei?

mfg,

backfire
Reply With Quote
  #10  
Old 04.07.2011, 14:32
blafasel
Guest
 
Posts: n/a
Default

Hallo, vielen Dank für diesen Java-Code!

...ich glaube, angesichts des standardmäßigen SSL-Zugangs zu diesem Gerät ist das derzeit die einzig wirklich funktionierende Methode, ein Reconnect in dieser Umgebung auch zustande zu bekommen -vielen Dank für diese Mühe.

am Wochenende hatte ich mir dann das aktuelle Java DK unter Windows XP installiert. es waren dann nur noch kleinere Anpassungen notwendig, um die Funktion erfolgreich in Betrieb nehmen zu können:

- der Sun/Oracle Java-Compiler störte sich an der Deklaration "public" für die Klasse "Reconnecter" ...das Entfernen von "public" beruhigte ihn dann aber.

- zum Verpacken in eine .jar-Datei mußte ich dann noch ein "Manifest"-file "erfinden" ...dessen Klasse dann natürlich auch "Reconnecter" heißt.

- die Base64-Encodierung und das Herabsetzen der "Wartezeiten" waren ohne große Schwierigkeiten machbar, alles läuft also nun wie "geschmiert" ;-)


...vielen Dank nochmal für diese große Hilfe!
Reply With Quote
  #11  
Old 04.07.2011, 18:30
reporterms
Guest
 
Posts: n/a
Default Hier eine Alternative zum Speedportreconnecten

Will der JDownloader kein Speedport Reconnect Script erstellen, gibt es auch eine andere Möglichkeit. z.b. wollt Ihr auch den Speedport W723 Typ A oder B
reconnecten. Hier wie ihr das auf einfache Weise bewerkstelligen könnt ohne kompliziert in eine Programmiersprache wie Java einsteigen zu müssen.

Schritt für Schritt Anleitung und Script liegen bei:
"www.megaupload.com/?d=2DNHUJSG"

;)
Reply With Quote
  #12  
Old 07.07.2011, 21:51
0alfred0
Guest
 
Posts: n/a
Default

kommt evtl etwas spät, aber VIELEN DANK
Reply With Quote
  #13  
Old 26.08.2011, 18:58
pyroben
Guest
 
Posts: n/a
Default

Hi,

vielen Dank erstmal für dein kleines Javaprogramm.
Leider bekomme ich eine java.security.cert.CertPathValidatorException wenn ich versuche das Programm in eclipse laufen zu lassen...

und zwar an dieser Stelle: out.flush();
Quote:
(...)
// login
out.write("POST /index/login.cgi HTTP/1.1\r\n");
out.write("Host: speedport.ip\r\n");
out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
out.write("Accept-Encoding: gzip, deflate\r\n");
out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
out.write("DNT: 1\r\n");
out.write("Referer: **External links are only visible to Support Staff**);
out.write("Content-Length: 36\r\n");
out.write("Content-Type: text/plain; charset=UTF-8\r\n");
out.write("Connection: keep-alive\r\n");
out.write("Pragma: no-cache\r\n");
out.write("Cache-Control: no-cache\r\n");
out.write("\r\n");
out.write("Username=admin&Password=" + "meinpassword");
out.flush();

// second line is something like: Set-Cookie: SessionID_R3=qZbBvb4YS6Y; path=/
in.readLine();
String cookie = in.readLine();
cookie = cookie.substring(cookie.indexOf("SessionID"));
cookie = cookie.substring(0, cookie.indexOf(";"));
String commaCookie = cookie.replace('=', ',');
(...)
wäre super wenn mir jemand weiterhelfen könnte. Der Stacktrace sieht folgendermaßen aus:

Quote:
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: algorithm check failed: MD2withRSA is disabled
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at Reconnector.main(Reconnector.java:36)
Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: algorithm check failed: MD2withRSA is disabled
at sun.security.validator.PKIXValidator.doValidate(Unknown Source)
at sun.security.validator.PKIXValidator.doValidate(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
... 14 more
Caused by: java.security.cert.CertPathValidatorException: algorithm check failed: MD2withRSA is disabled
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(Unknown Source)
at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(Unknown Source)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(Unknown Source)
at java.security.cert.CertPathValidator.validate(Unknown Source)
... 21 more


EDIT:
Das problem war meine veraltete Javaversion (6.19)!
Mit Version 6.27 läuft es einfach -> Vielen Dank!

Last edited by pyroben; 26.08.2011 at 19:53. Reason: Problem gelöst
Reply With Quote
  #14  
Old 01.09.2011, 21:09
TakeYouHome
Guest
 
Posts: n/a
Default

Hallo

Ich bin jetzt seit ca. 10 Stunden dran, diesen dummen Router zum Reconnecten zu bewegen. Leider will es nicht funktionieren. Auch das hier gepostete Java-Programm funktioniert bei mir nicht. Ich habe es mit Eclipse zur .jar gemacht und das base64-Passwort bei jDownloader eingetragen. Nur bekomme ich anscheinend keinen Cookie vom Router.

Ausgabe ist:

Code:
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 1

1
nullException in thread "main" java.lang.NullPointerException

	at Reconnecter.main(Reconnecter.java:40)

Auch die Möglichkeit von reporterms funktioniert nicht, da ich am Mac arbeite. Hat vielleicht einer ne Idee?
Reply With Quote
  #15  
Old 11.09.2011, 17:17
ichbrauchhilfe
Guest
 
Posts: n/a
Default

Hallo,
ich bin leider auch blutiger Anfänger :(
Wie kann ich diesen Code als ausführbare .jar Datei kompilieren/verpacken?
Kann mir bitte jemand eine Anleitung geben? Das wäre suuuuper.

Danke!

EDIT:
Ihr könnt mir auch eine fertige .jar-Datei an meine email: ichbrauchhilfe1234@yahoo.de schicken.
(Der Reconnect sollte aber so kurz wie möglich dauern. Also timeouts entsprechend ändern)
Das wäre sssssuuuuuuuuper! Vielen vielen Dank!! (ich glaub das ginge schneller und der Thread wird dann nicht zu voll)..

LG

Last edited by ichbrauchhilfe; 11.09.2011 at 17:58.
Reply With Quote
  #16  
Old 27.09.2011, 15:40
Ahoj0815
Guest
 
Posts: n/a
Default

hi an alle:)

@ichbrauchhilfe

ist dir jetzt schon geholfen worden?
wenn ja könntest du die datei hochladen damit ich und wahrscheinlich andere die herunterladen können?
Lg
Reply With Quote
  #17  
Old 27.09.2011, 18:48
coalado's Avatar
coalado coalado is offline
JD Manager
 
Join Date: Feb 2009
Posts: 1,980
Default

So.
Ich habe eben im Chatsupport ein Script für einen User erstellt.

http://jdownloader.org/knowledge/wik...peedport-w723v

Dank geht an buggsy. Ich habe nur den Code als JD Liveheader Script umgesetzt.
__________________
Reply With Quote
  #18  
Old 14.10.2011, 01:11
olafjans
Guest
 
Posts: n/a
Default

Das Script bringt meinen Speedport W 723V Typ A schon zum reconnecten.
Allerdings beginnt das ganze, ca. 10 Sek. nachdem Reconnect von vorne.
Also praktisch ein endloses reconnecten.
Gibt es dafür eine Erklärung? Bin ich der einzige der das hat? Lösungsvorschläge?



Quote:
Originally Posted by coalado View Post
So.
Ich habe eben im Chatsupport ein Script für einen User erstellt.

http://jdownloader.org/knowledge/wik...peedport-w723v

Dank geht an buggsy. Ich habe nur den Code als JD Liveheader Script umgesetzt.
Reply With Quote
  #19  
Old 14.10.2011, 10:49
remi
Guest
 
Posts: n/a
Default

Sind Sie sicher dass Sie immer eine neue IP-Adresse bekommen? Es ist möglich dass Sie eine klebrige (sticky) IP-Adresse haben.
Reply With Quote
  #20  
Old 04.11.2011, 12:33
Kammi
Guest
 
Posts: n/a
Thumbs up

Quote:
Originally Posted by coalado View Post
So.
Ich habe eben im Chatsupport ein Script für einen User erstellt.

http://jdownloader.org/knowledge/wik...peedport-w723v

Dank geht an buggsy. Ich habe nur den Code als JD Liveheader Script umgesetzt.
@ coaldo und buggsy Danke, bei mir funzt es super.

Grüße aus dem Teutoburger Wald
Reply With Quote
  #21  
Old 11.11.2011, 23:27
green_priest
Guest
 
Posts: n/a
Question Hope to add a new way...

Hi everybody,

mein erster Post...

vielleicht kann mir jemand bei folgender Konstellation weiterhelfen... hoffe mal, dass ich den Typ A habe und hier richtig bin...

versuche mich am manuellen reconnect:

1. erstelle reconnect skript: Nach Anleitung sollte sich jetzt meine Startmaske der Speedport Konfig öffnen, sofern ich die vorher geöffnet habe. Das klappt schonmal nicht. In Opera erscheint eine Schutzverletzung (dont have permission blabla) im IE öffnet er einen neuen Tab mit einem dns localhost error, schonmal klasse.

2. Gehe ich dann manuell auf die Router Konfig, gebe das Passwort ein und unter Hilfsmittel auf Neustart erscheint nach einiger Zeit im JDownloader eine erfolgreich-Meldung, juchu - dachte ich.

3. Das erstellte Skript enthält nur Wiederholungen der dauernden Neuabfrage der localhost error Seite und hat den manuellen Wechsel + anschließenden Vorgang gar nicht mitgeschnitten - klasse, ne???

4. Mühsam zu erwähnen, dass der Reconnect anschließend natürlich nicht klappt...

Ach ja, irgendwer ne Ahnung, warum die automatische Router IP Ermittlung verschiedene IPs auswirft - müsste die nicht eigentlich konstant sein

Good night... JDownloader ist ne gute Sache, aber irgendwann ists der Mühe nicht mehr wert...
Reply With Quote
  #22  
Old 12.11.2011, 11:45
remi
Guest
 
Posts: n/a
Default

Lesen Sie bitte "Erste Schritte zum Reconnect".

Wenn jD ein funktionierendes Skript erzeugt, bitte posten Sie das hier.
Reply With Quote
  #23  
Old 13.11.2011, 14:07
green_priest
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by remi View Post
Lesen Sie bitte "Erste Schritte zum Reconnect".

Wenn jD ein funktionierendes Skript erzeugt, bitte posten Sie das hier.
Hatte ich gelesen und war genau nach der Anleitung vorgegangen. Mehrfach versucht, Ergebnis gleich. Zu meiner geschilderten Problematik sagt der Thread leider nix... naja, und es wird ja nicht umsonst gerade zum W723 schon so einen langen Thread hier geben...

Die Frage scheint mir hier insb., wie ich es schaffe, dass der JD Script Ersteller die richtige Routerseite im Browser öffnet und nicht einen error localhost produziert. Ist vermutlich nur in zweiter Linie ein JD Problem, wird jedoch einigen so ergangen sein
Reply With Quote
  #24  
Old 13.11.2011, 14:16
remi
Guest
 
Posts: n/a
Default

Es ist möglich dass java oder javaw in Ihrer Firewall oder Viren-Software blockiert werden.
Reply With Quote
  #25  
Old 16.11.2011, 23:46
green_priest
Guest
 
Posts: n/a
Thumbs down

Quote:
Originally Posted by remi View Post
Es ist möglich dass java oder javaw in Ihrer Firewall oder Viren-Software blockiert werden.
Danke für die Idee!

Habe die Java-Einstellungen im Internet Explorer bearbeitet und AntiVirFree sowie die Windows XP Firewall vorübergehend deaktiviert - Ergebnis dnserror localhost...

Hmpf, würde ja gerne ein Skript erstellen..., das vielleicht auch anderen hilft...
Reply With Quote
  #26  
Old 22.03.2012, 22:43
Heuzen
Guest
 
Posts: n/a
Default

Hallo,

ich hab die "Ersten Schritte" gelesen, da video dazu geguckt und bin immernoch am rätseln...

ich hatte leider nie informatik und so weiss ich nix mit dem skript anzufangen da ich nicht weiss wie und wo ich es ändern soll

Dazu 3 kleine Fragen

1. Frage: Wenn ich das Skript in das Fenster kopier, wo im Text muss ich da meine Router-Ip hinsetzten, oder ist dies überhaupt nötig
2. Frage: Wo außer im skipt, wo das passwort decodiert ist, muss ich das passwort noch angeben? wozu ist das passwort überhaupt da? muss ich im skrit auch den usenamer BASE64 ändern? muss der username in dem fall auchdecodiert werden?
3. Frage: Könnte nicht einer der mit seiner Methode erfolg hatte vielleicht eine schritt für schritt erklärung zuschicken,wo ich was ändern muss, welche software ggf von nöten ist der so?

Über Rat würde ich mich sehr freuen!
Reply With Quote
  #27  
Old 23.03.2012, 00:16
Freeloader
Guest
 
Posts: n/a
Default

Ive inserted the missing part to coalados script and you can get it here, this one was a tricky router this case is closed the script works http://board.jdownloader.org/showthread.php?t=36842

Last edited by Freeloader; 23.03.2012 at 02:25.
Reply With Quote
  #28  
Old 29.04.2012, 17:35
Killerwurm
Guest
 
Posts: n/a
Default

Irgendwie klappt bei mir nix davon, gebe alles richtig ein aber will bei mir nicht
Wo ich das gleiche gerät mit Firmware wie Freeloader habe !
Muss ich im Script was bearbeiten damit ich geht oder müsste das auch so gehen???

gruß Killerwurm
Reply With Quote
  #29  
Old 29.05.2012, 18:56
vengeance
Guest
 
Posts: n/a
Default

Hallo hier ist nochmal "buggsy" bzw. der Typ, der vom bugmenot Account gepostet hat. Der acc buggsy geht leider nicht mehr, daher jetzt dieser.

Da es viele nicht hinbekommen den code zu compilen, habe ich ihn hier nochmal direkt als ausführbare .jar hochgeladen.

Bedienung:
Im Reiter External den Pfad zur .jar angeben und als Parameter euer base64-kodiertes Routerpasswort eingeben, z.B. MjIyMjI= für das Passwort 22222. Jaaa ich weiß, das hätt ich auch im Programm machen können aber wenigstens funktioniert es immernoch.

Die LiveHeader scripts, die hier gepostet wurden bringe ich nicht zum Laufen.
Attached Files
File Type: zip W723Vreconnecter.zip (2.5 KB, 790 views)
Reply With Quote
  #30  
Old 06.06.2012, 15:11
gonidd
Guest
 
Posts: n/a
Default

Thema gelöst. DANKE!

Last edited by gonidd; 14.06.2012 at 12:01.
Reply With Quote
  #31  
Old 16.06.2012, 22:25
vengeance
Guest
 
Posts: n/a
Default

Nein da des Script bei mir nicht funktioniert

Auch eingeloggt mit Bug me not =)
Reply With Quote
  #32  
Old 24.06.2012, 13:11
neeb
Guest
 
Posts: n/a
Default

Hallo vengeance,

in deinem Code ist ein kleiner Fehler, wodurch das Ausloggen nicht funktioniert.

out.write("POST **External links are only visible to Support Staff** + commaCookie [...]


out.write("POST /auth/logout.cgi?RequestFile=/pub/top_beenden.php&cookie=" + commaCookie [...]

Hier ist noch eine Base64 Funktion ;-)

Code:
	private final static char[] ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
	private static int[] toInt = new int[128];
	 
	static{
		for (int i = 0; i < ALPHABET.length; i++){
			toInt[ALPHABET[i]] = i;
		}
	}

	public static String encode(String string){
		byte[] buf = string.getBytes();
		int size = buf.length;
		char[] ar = new char[((size + 2) / 3) * 4];
		int a = 0;
		int i = 0;
		while (i < size){
			byte b0 = buf[i++];
			byte b1 = (i < size) ? buf[i++] : 0;
			byte b2 = (i < size) ? buf[i++] : 0;

			int mask = 0x3F;
			ar[a++] = ALPHABET[(b0 >> 2) & mask];
			ar[a++] = ALPHABET[((b0 << 4) | ((b1 & 0xFF) >> 4)) & mask];
			ar[a++] = ALPHABET[((b1 << 2) | ((b2 & 0xFF) >> 6)) & mask];
			ar[a++] = ALPHABET[b2 & mask];
		}
	    switch (size % 3){
	    	case 1:
	    		ar[--a] = '=';
	    	case 2:
	    		ar[--a] = '=';
	    }
	    return new String(ar);
	}
Reply With Quote
  #33  
Old 01.07.2012, 14:35
vengeance
Guest
 
Posts: n/a
Default

hey, wieder ein neuer via BugmeNot:

Ich hab keine Ahnung von jDownloader, ich will nur per Klick eine neue Ip, ohne mich immer in das Interface einzuloggen.
Ich habe jDownloader installier und keine einstellungen geändert, nur das script eingefügt und meinpasswort geändert! Muss ich sonst noch was machen?

Bei mir klappts nicht mit einem W 723V Typ A @1.00.092.

Edit: Manuell gehts, mit dem Recorder nicht!

Quote:
[[[HSRC]]]
[[[STEP]]]
[[[REQUEST https="true"]]]
POST /index/login.cgi HTTP/1.1
Host: speedport.ip

Username=admin&Password=%%%BASE64::::meinpasswort%%%
[[[/REQUEST]]]
[[[PARSE]]]
session:SessionID_R3\=(.*)
[[[/PARSE]]]
[[[/STEP]]]

[[[STEP]]]
[[[REQUEST https="true"]]]
POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie=SessionID_R3,%%%session%%% HTTP/1.1
Host: speedport.ip

x.EnabledForInternet=0
[[[/REQUEST]]]
[[[/STEP]]]
[[[STEP]]][[[WAIT seconds="20"/]]][[[/STEP]]]

[[[STEP]]]
[[[REQUEST https="true"]]]
POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie=SessionID_R3,%%%session%%% HTTP/1.1
Host: speedport.ip

x.EnabledForInternet=1
[[[/REQUEST]]]
[[[/STEP]]]

[[[STEP]]]
[[[REQUEST https="true"]]]
POST /auth/logout.cgi?RequestFile=/pub/top_beenden.php&cookie=SessionID_R3,%%%session%%% HTTP/1.1
Host: speedport.ip
[[[/REQUEST]]]
[[[/STEP]]]
[[[/HSRC]]]

Last edited by vengeance; 01.07.2012 at 15:04.
Reply With Quote
  #34  
Old 03.07.2012, 19:15
vengeance
Guest
 
Posts: n/a
Default

OK danke neeb hast natürlich recht. Der Vollständigkeit halber hier also nochmal eine verbesserte und korrigierte Version, der man nur noch das Passwort übergeben muss (nicht mehr base64 sondern normal plain text).
Attached Files
File Type: zip W723Vreconnecter.zip (6.1 KB, 937 views)
Reply With Quote
  #35  
Old 04.07.2012, 09:19
coalado's Avatar
coalado coalado is offline
JD Manager
 
Join Date: Feb 2009
Posts: 1,980
Default

Eventl sollten wir den reconnecter mal als eigenes Tool rausbringen
__________________
Reply With Quote
  #36  
Old 23.07.2012, 19:47
Krasu
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by vengeance View Post
OK danke neeb hast natürlich recht. Der Vollständigkeit halber hier also nochmal eine verbesserte und korrigierte Version, der man nur noch das Passwort übergeben muss (nicht mehr base64 sondern normal plain text).
Klappt bei mir, so wie alle anderen hier geposteten Scripte, Programme, Methoden nicht. Manchmal lässt sich der JDownloader dazu herab, mir diese Fehlermeldung vorzusetzen:

**External links are only visible to Support Staff**

"Could not find the main class: Reconnecter. Programm will exit."


Sitze mittlerweile schon mehrere Tage daran und verliere langsam aber sicher die Nerven!!
Reply With Quote
  #37  
Old 05.08.2012, 15:36
vengeance
Guest
 
Posts: n/a
Default

Da fehlt wohl die main class in der jar...

Hier erstmal der komplette Code und anschließend das .jar File.

Getestet unter Java 1.6!

Code:
import java.io.*;
import javax.net.ssl.*;

public class Reconnecter {

	private final static char[] ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
	private static int[] toInt = new int[128];
	 
	static{
		for (int i = 0; i < ALPHABET.length; i++){
			toInt[ALPHABET[i]] = i;
		}
	}
		
	public static String encode(String string){
		byte[] buf = string.getBytes();
		int size = buf.length;
		char[] ar = new char[((size + 2) / 3) * 4];
		int a = 0;
		int i = 0;
		while (i < size){
			byte b0 = buf[i++];
			byte b1 = (i < size) ? buf[i++] : 0;
			byte b2 = (i < size) ? buf[i++] : 0;

			int mask = 0x3F;
			ar[a++] = ALPHABET[(b0 >> 2) & mask];
			ar[a++] = ALPHABET[((b0 << 4) | ((b1 & 0xFF) >> 4)) & mask];
			ar[a++] = ALPHABET[((b1 << 2) | ((b2 & 0xFF) >> 6)) & mask];
			ar[a++] = ALPHABET[b2 & mask];
		}
	    switch (size % 3){
	    	case 1:
	    		ar[--a] = '=';
	    	case 2:
	    		ar[--a] = '=';
	    }
	    return new String(ar);
	}
	
	
	public static void main(String[] args) throws Exception {
		String base64Password = encode(args[0]);
			
		SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
		SSLSocket socket = (SSLSocket) factory.createSocket("speedport.ip", 443);
		Writer out = new OutputStreamWriter(socket.getOutputStream());
		BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

		// login
		out.write("POST /index/login.cgi HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Referer: **External links are only visible to Support Staff**);
		out.write("Content-Length: 36\r\n");
		out.write("Content-Type: text/plain; charset=UTF-8\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Pragma: no-cache\r\n");
		out.write("Cache-Control: no-cache\r\n");
		out.write("\r\n");
		out.write("Username=admin&Password=" + base64Password);
		out.flush();

		// second line is something like: Set-Cookie: SessionID_R3=qZbBvb4YS6Y; path=/
		in.readLine();
		String cookie = in.readLine();
		cookie = cookie.substring(cookie.indexOf("SessionID"));
		cookie = cookie.substring(0, cookie.indexOf(";"));
		String commaCookie = cookie.replace('=', ',');

		Thread.sleep(3000);

		// disconnect internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=0");
		out.flush();

		Thread.sleep(8000);

		// reconnect to internet
		out.write("POST /auth/setcfg.cgi?x=InternetGatewayDevice.WANDevice.1.WANCommonInterfaceConfig&RequestFile=/auth/hcti_startseite.php&cookie="
				+ commaCookie + " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 22\r\n");
		out.write("\r\n");
		out.write("x.EnabledForInternet=1");
		out.flush();

		Thread.sleep(5000);

		// end configuration menu
		out.write("POST /auth/logout.cgi?RequestFile=/pub/top_beenden.php&cookie=" + commaCookie
				+ " HTTP/1.1\r\n");
		out.write("Host: speedport.ip\r\n");
		out.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Paros/3.2.13\r\n");
		out.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
		out.write("Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
		out.write("Accept-Encoding: gzip, deflate\r\n");
		out.write("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
		out.write("DNT: 1\r\n");
		out.write("Connection: keep-alive\r\n");
		out.write("Referer: **External links are only visible to Support Staff** + commaCookie + "\r\n");
		out.write("Cookie: " + cookie + "\r\n");
		out.write("Content-Type: application/x-www-form-urlencoded\r\n");
		out.write("Content-Length: 0\r\n");
		out.write("\r\n");
		out.flush();

		out.close();
		in.close();
		socket.close();
	}
}
Attached Files
File Type: zip reconnect.zip (3.5 KB, 717 views)
Reply With Quote
  #38  
Old 09.08.2012, 13:25
franz1962
Guest
 
Posts: n/a
Default fast

Hallo, es klappt fast.

Habe
den Code bei Extern eingefügt,
die .jar-Datei ausgewählt,
bei LiveHeader/Curl steht nur admin, pw(plain), IP, Textfeld ist leer.

Habe schon an verschiedenen Stellen auch das pw in plain und in Base64 stehen gehabt,
aber wohl nicht an der richtigen? Muss es irgendwo in den Code rein?


@Krasu: wie sieht's bei dir aus?

Bin ein noob :(

Last edited by franz1962; 09.08.2012 at 14:32.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 21:40.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.