JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #601  
Old 17.08.2015, 19:46
neutr0n
Guest
 
Posts: n/a
Default

Probiere ich aus, bin mir aber sicher das ich das getestet hatte. Ich geb nachher mal Rückmeldung.
Reply With Quote
  #602  
Old 21.08.2015, 01:03
neutr0n
Guest
 
Posts: n/a
Default

Ok, das funktioniert

So, besteht Interesse an einem Howto, bzw. fertig installierbarer Version für die Synology NAS Serie ? Dann würde ich das hier auch mal posten.
Reply With Quote
  #603  
Old 21.08.2015, 09:53
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Klar, immer doch
__________________
JD-Dev & Server-Admin
Reply With Quote
  #604  
Old 21.08.2015, 10:58
neutr0n
Guest
 
Posts: n/a
Default JDownloader 2 / Synology

Hier nun JDownloader 2 zum installieren via Paketzentrum für JEDE Architektur.

DSM
Ich nehme an jede Version sollte funktionieren, hier bitte ich um Rückmeldung wo es Probleme gibt.

Unterstützte DS und RS
Siehe oben, bitte um Rückmeldung.

Paketstatus
Das Paket ist aktuell mit der Version 2.0 Beta von JDownloader ausgestattet. Updates und Verbesserungen sind über das Paketzentrum als Update verfügbar.

Download
Das Paketzentrum auf euer DS oder RS öffnen und unter Einstellungen->Paketquellen folgende Quelle hinzufügen:

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

Welche Voraussetzungen gibt es ?
Java muss installiert sein und es muss ein JAVA_HOME im Pfad definiert sein. Außerdem läuft JDownloader 2 im "headless"-Modus und hat keine eigene Weboberfläche die lokal auf der DS oder RS läuft. DIeses Prinzip ist JDownloader 2 geschuldet und hat nichts mit meinem Paket zu tun. Der Vorteil liegt klar auf der Hand, Ihr müsst euch nicht um Firewall-Freischaltungen oder Port-Forwarding's kümmern, JDownloader 2 benötigt dies nicht. JDownloader kommuniziert nach außen mit der zentralen Weboberfläche die über http://my.jdownloader.org zu erreichen ist, die Verbindung läuft verschlüsselt via HTTPS und es werden keine Daten wie eure Downloads oder was Ihr sonst so treibt lesbar an die Betreiber der Webseite übertragen, außerdem gibt es einen Direct-Connect Mode so das sämtliche Kommunikation direkt über eure Instanz läuft (Portforwarding/Firewall Konfiguration nötig!).

Das einzige was Ihr benötigt ist ein Konto auf http://my.jdownloader.org welches innerhalb weniger Sekunden angelegt ist. Mit diesen Zugangsdaten könnt Ihr JDownloader 2 anschließend über die Weboberfläche, sowie über entsprechende Browser Plugins (Firefox/Chrome etc) steuern. Diese Zugangsdaten werden ebenfalls bei der Installation abgefragt, MEHR ist für die Installation nicht zu tun. Ist diese abgeschlossen, gebt JDownloader 2 1-2 Minuten Zeit um Updates herunter zu laden und vollständig zu starten, danach ist die Instanz via Weboberfläche verfügbar. In den "Profieinstellungen" auf der Webseite sollte man danach noch seinen Download Pfad einstellen und evtl. die Instanz umbenennen, falls man mehrere verwendet.

FAQ
Die Installation findet JAVA nicht.
- Es muss wie gesagt JAVA_HOME definiert sein, meist zu finden in /etc/profile

Wo wird mein Download Pfad gesetzt?
- In den Profieinstellugen -> General - Default Download Folder

Ich habe meinen Download Pfad gesetzt, bekomme aber "Disk Full"
- In seltenen Fällen wird eine "nohup.out" Datei in /root erzeugt, diese löschen.

Wo stelle ich ein das Archive nach dem Download gelöscht werden?
- In den Profieinstellungen -> Extraction - Delete Archive Files After Extraction Action

Wo stelle ich ein wieviel Verbindungen pro Download genutzt werden sollen?
- In den Profieinstellungen -> General - Max Chunks Per File

Was bedeutet "unknown id" ?
- Das Webinterface kann eure JD Instanz nicht finden, JD neu starten, im Browser mal abmelden, neu anmelden (auch das Addon).

Funktioniert Click and Load, und wenn ja, wie ?
- Sowohl Click and Load als auch Click and Load v2 funktionieren einwandfrei. Ihr müsst dazu lediglich das offizielle JDownloader Addon für euren Browser installieren.




Ihr könnt das ja beliebig verschieben und hin packen wo Ihr möchtet. Schaut es euch auch mal an, falls irgendwas nicht ok ist, aus Sicht von euch als Entwickler, ich änder das gern. Kommt aber gut an bei den Synology-Anhängern
Reply With Quote
  #605  
Old 21.08.2015, 11:07
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Wie trägt der Nutzer seine MyJDownloader Daten ein? Hsat du die JDownloader.jar included oder lädst du diese nach? Wget? Wenn ja, bitte irgendwie nen Header/UserAgent setzen, damit wir wissen wer da lädt.
Start/Stop Scripte nutzen JDownloader.pid für die PID?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #606  
Old 21.08.2015, 11:11
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Hab mich mal durch die Scripte gewuselt Sieht gut aus! Thumbs up!
Kann man nachträglich seine Daten auch irgendwo ändern? Zb für den Fall das ich mich vertippt habe?
Man könnte ja Java in das Paket includen?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #607  
Old 21.08.2015, 16:38
neutr0n
Guest
 
Posts: n/a
Default

Also mit dem Wget und Useragent sollte ja so passen nehme ich an, die Benutzerdaten schreibe ich direkt aus dem Install Wizard in die config datei und schiebe die in das Installationsverzeichnis. Das Start/Stop mach ich nicht per pidfile sondern direkt über den Prozess. Das Ändern der Userdaten wird so nicht umsetzbar sein, weil es dazu einfach keine Rückmeldung gibt ob diese Daten, die er eingibt, korrekt sind. Wenn man das abfragen könnte, wäre das sicherlich machbar.

Java habe ich bewusst nicht eingebaut, da es diverse Java Versionen für die Synolog's gibt und diese auch von unterschiedlichen Herausgebern de Pakete, aber die Prüfung auf Java findet statt und das installieren von Java ist ja auch via Paket möglich.
Reply With Quote
  #608  
Old 21.08.2015, 16:45
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Start/Stop würde ich über PID File JDownloader.pid machen. Denn es kann ja gut sein, das noch weitere Java Tools laufen.
Zugangsdaten: Rückmeldung erstmal weniger wichtig, aber ein einfaches ändern (ohne validierung) wäre gut. So kann er im WebInterface von Synology die Daten ändern uns muss nicht auf die Shell ausweichen.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #609  
Old 21.08.2015, 18:39
neutr0n
Guest
 
Posts: n/a
Default

Dann schau dir das mal genauer an:

pid=$(pidof java)
grep -q "JDownloader" /proc/$pid/cmdline

:) Da brauch ich keine PID für.


Was das ändern der Daten angeht, sorry, aber dazu müsste man etwas für die Oberfläche von der Synology programmieren/scripten und soweit bin ich (noch) nicht. Zumal das deinstallieren/installieren eine Sache von Sekunden ist, schon kann man die Daten wieder eingeben. Solange man nicht die korrekten Daten eingegeben hat, kann man ja ohnehin nichts machen, ergo mit der Deinstallation auch nichts verlieren.


Ich würde dich bitten, wenn es dann so passt, das Ding zu verschieben und oben anzuheften oder so, sonst findet das ja keiner.
Reply With Quote
  #610  
Old 22.08.2015, 20:12
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Musste mein NSA 325 neu starten und erhalte nun auf den Befehl:

su -c "/ffp/opt/java/jre/java -jar /ffp/opt/jd2/JDownloader.jar &" kodi

eine Kennwortabfrage ???

Woher kommt die denn nun? Bis vor dem Neustart lief alles problemlos.
Reply With Quote
  #611  
Old 23.08.2015, 18:00
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

su kodi -> pw abfrage -> du bist nicht benutzer kodi und musst somit pw von kodi eingeben

@neutr0n: danke für die erklärung, mach ich nächste woche
__________________
JD-Dev & Server-Admin
Reply With Quote
  #612  
Old 23.08.2015, 18:47
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Hallo neutr0n,

könnte ich das Paket auch bekommen? Würde es gerne mal auf meinem Zyxel NSA-325 testen. Evtl. bindet es ja auch ein Zyxel-Profi unter ffp ein?
Reply With Quote
  #613  
Old 23.08.2015, 19:12
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

@Jiaz: Habe mein kodi-KW eingegeben, funktioniert komischerweise nicht.
Reply With Quote
  #614  
Old 23.08.2015, 20:16
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

@jd4me: geht ein
su -c "ifconfig" kodi
? evtl dein kodi pw geändert worden?
Das script von neutr0n ist für Synology, damit kannst unter Zyxel nichts anfangen.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #615  
Old 23.08.2015, 20:44
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Werde ich mal ausprobieren. Danke für den Hinweis.

Das kodi-KW ist definitiv wie gehabt.

Meine ganzen LW-Mappings von Windows-Clients funktionieren, weshalb ich eine Fehleingabe ausschließen möchte.
Bin mir auch ziemlich sicher, dass beim Start mit su -c.... letztes Mal keine Kw-Abfrage kam.
Reply With Quote
  #616  
Old 23.08.2015, 20:54
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

So eben getestet:

Bei

su -c "ifconfig" kodi

fragt er auch nach einem KW und das von "kodi" quittiert er mit

su: Authentication failure
Reply With Quote
  #617  
Old 23.08.2015, 21:22
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

dann stimmt das pw nicht(mehr)
als root einloggen und das pw neu setzen
__________________
JD-Dev & Server-Admin
Reply With Quote
  #618  
Old 23.08.2015, 21:22
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

samba (windows freigabe) hat NICHTS mit deinem login pw für das gerät zu tun
__________________
JD-Dev & Server-Admin
Reply With Quote
  #619  
Old 23.08.2015, 21:31
neutr0n
Guest
 
Posts: n/a
Default

Packst du das Howto noch irgendwie um ? Für das QNAP gibt's das ja auch als Sticky.
Reply With Quote
  #620  
Old 23.08.2015, 21:43
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Quote:
Originally Posted by Jiaz View Post
@neutr0n: danke für die erklärung, mach ich nächste woche
siehe meine antwort, ab morgen bin ich dann auf arbeit und mache das
__________________
JD-Dev & Server-Admin
Reply With Quote
  #621  
Old 23.08.2015, 21:54
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Den Benutzer kodi inkl. KW habe ich mit dem Zyxel Webinterface erstellt. Möchte nun auch verstehen, wie es einen user kodi geben soll, dessen KW ein anderes ist als das für die Freigabe.
Reply With Quote
  #622  
Old 23.08.2015, 21:56
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Ich kenne zyxel nicht. Aber ein Benutzer für Freigaben (zb Samba) muss im System intern nichts mit dem Benutzer auf dem System selbst zu tun haben.
Ich kann nur sagen wenn su kodi dein PW nicht akzeptiert, dann stimmt das PW nicht
__________________
JD-Dev & Server-Admin
Reply With Quote
  #623  
Old 24.08.2015, 09:06
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

So, habe nun mal für "kodi" das KW zurückgesetzt und konnte nun, komischerweise ohne KW-Abfrage, JD starten mit:

su -c "/ffp/opt/java/jre/bin/java -Dsun.jnu.encoding=UTF-8 -jar /ffp/opt/jd2/JDownloader.jar &" kodi

Ist auch in der Kommandozeile soweit durchgelaufen und steht nun bei:

[Done:1/7
[2/7|Priority: 10000]ShutdownController: start item->flushing logs to disk
[Done:2/7
[3/7|Priority: 10000]ShutdownController: start item-> Priority: 10000
[Done:3/7
[4/7|Priority: 0]ShutdownController: start item->ShutdownEvent: Save JSonStorages
[Done:4/7
[5/7|Priority: 0]ShutdownController: start item->ShutdownEvent: SaveAllStorageHandler
[Done:5/7
[6/7|Priority: -2147483648]ShutdownController: start item-> Priority: -2147483648
[Done:6/7
[7/7|Priority: -2147483648]ShutdownController: start item->ShutdownEventWrapper Thread[Thread-0,5,main] - java.util.logging.LogManager$Cleaner Priority: -2147483648
[Done:7/7

Scheint aber noch nicht fertig zu sein und ist auch per my JD nicht erreichbar.

Last edited by JD4me; 24.08.2015 at 09:09.
Reply With Quote
  #624  
Old 24.08.2015, 10:02
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Evtl hat das PW gefehlt und daher ging der Nutzerwechsel erst gar nicht.
Der LogAuschnitt zeigt nur das JD beendet wurde. Läuft JD noch? Gerne kann ich mir das nochmal via Teamviewer anschaun. Einfach Email an support@jdownloader.org senden
__________________
JD-Dev & Server-Admin
Reply With Quote
  #625  
Old 24.08.2015, 10:15
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Hallo,

nachdem ich plötzlich 2x JD per App gesehen habe, dachte ich mir, es wäre gut, wenn ich das NSA nochmal durchstarte.

Habe ich gemacht und dann wieder mit su -c..... gestartet. Kann inzwischen auch wieder Links per App/Browser hinzufügen. Captchas kommen aber nur auf dem Smartphone an, im Browser habe ich nur einen hellgrünen Hintergrund.
Ist der JD evtl. noch nicht zu 100% gestartet (ist nun eine gute Stunde her mit Neustart auf dem NSA)?

Teamviewer ginge erst heute Abend. Lese gerade in meiner Frühstückspause im Büro.
Reply With Quote
  #626  
Old 24.08.2015, 10:17
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Schreib ne Email wegen den Captcha Sachen, Marco(Entwickler der App/Webinterface) hilft dir dann weiter. Der Start von JD dauert wenige Sekunden oder Minuten (je nach Power des Devices) aber keine Stunden
__________________
JD-Dev & Server-Admin
Reply With Quote
  #627  
Old 24.08.2015, 10:19
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Komischwerweise scheint über meine JD-App (Smartphone) alles zu funktionieren.
Reply With Quote
  #628  
Old 24.08.2015, 10:21
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Smartphone App != Webinterface
__________________
JD-Dev & Server-Admin
Reply With Quote
  #629  
Old 24.08.2015, 10:23
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Dann hat wohl meine Test-VM evtl. Probleme mit dem Internet.

Werde heute Abend mal zuhause weiter testen und mich wieder melden.

Danke dir.
Reply With Quote
  #630  
Old 24.08.2015, 10:27
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Oki, viel Erfolg
und nichts zu danken
__________________
JD-Dev & Server-Admin
Reply With Quote
  #631  
Old 24.08.2015, 12:03
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

@neutr0n: würdest du noch bitte deine Anleitung auf English übersetzen und posten? kannst direkt in den Sticky rein
__________________
JD-Dev & Server-Admin
Reply With Quote
  #632  
Old 25.08.2015, 07:46
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Hat gestern Abend von zuhause alles einwandfrei funktioniert.

Einzig das Firefox-Addon wird in Firefox nach erfolgreicher Installation nicht mehr in der Symbolleiste angezeigt. Dies ist auf mehreren Rechnern mit aktuellem Firefox der Fall.
Muß ich da noch irgendwas aktivieren?
In Chrome sehe ich den JD-Button.
Reply With Quote
  #633  
Old 25.08.2015, 09:42
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Firefox musst du die Extension von http://my.jdownloader.org nehmen (gibt nen DirektLink)
Mozilla erlaubt ja nur noch signed Addons aus dem Store und kommt mit der ganzen Arbeit nicht hinterher
___://blog.mozilla.org/addons/2015/08/12/add-ons-update-69/
10-12 Wochen Wartezeit ....Kein Kommentar
__________________
JD-Dev & Server-Admin
Reply With Quote
  #634  
Old 25.08.2015, 12:28
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Dann kann ich aber keine DL-Links direkt aus dem Browser (Firefox) an JD auf meinem NAS schicken. Die Option fehlt dann im Kontaxt-Menü, wenn das JD-Plugin/Addon nicht gestartet ist.
Reply With Quote
  #635  
Old 25.08.2015, 12:33
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Du sollst dir das Addon installieren welches über http://my.jdownloader.org angeboten wird. Also nicht über den Mozilla Store gehen sondern die XPI darunter
__________________
JD-Dev & Server-Admin
Reply With Quote
  #636  
Old 25.08.2015, 12:47
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Alles klar. Jetzt habe ich's auch verstanden ;-)

Danke für den Hinweis ..... und schon klappt es auch wieder mit einem angezeigten JD-Addon.

Last edited by JD4me; 25.08.2015 at 12:54.
Reply With Quote
  #637  
Old 25.08.2015, 12:51
JD4me JD4me is offline
Registered / Inactive
 
Join Date: Aug 2009
Posts: 113
Default

Da war ich wohl zu schnell. Das JD-Symbol wird zwar wieder in Firefox angezeigt, ist aber im Kontext-Menü zu einem Link nicht nutzbar, d.h. Download an JD weiterleiten ist nicht über den FF-Browser möglich.
Reply With Quote
  #638  
Old 25.08.2015, 13:03
mrc's Avatar
mrc mrc is offline
Guardian of the Droids
 
Join Date: Jan 2013
Location: Germany
Posts: 288
Default

@JD4me: kannst du kurz in den Chat kommen und mich anschreiben oder ein Ticket auf support.jdownloader.org erstellen? Dann können wir das leichter klären (Teamviewer z.b.) und der Thread wird nicht zu unübersichtlich
__________________
My.JDownloader.org Web Interface | Android App | Browser Extensions [Feedback Thread]
Reply With Quote
  #639  
Old 27.08.2015, 20:59
scms
Guest
 
Posts: n/a
Default

Hallo, ich habe JDownloader als root installiert (installer runterladen/starten) und versuche es als user zu starten. Debian, ohne GUI

Code:
/usr/local/jd2/jre/bin/java -Djava.awt.headless=true -jar /usr/local/jd2/JDownloader.jar
Code:
|       Caused by: java.io.IOException: No such file or directory
|       at java.io.UnixFileSystem.createFileExclusively(Native Method)
|       at java.io.File.createNewFile(File.java:947)
|       at org.appwork.utils.IO.writeToFile(IO.java:593)
|       at org.appwork.utils.IO.writeToFile(IO.java:581)
|       at org.appwork.storage.JSonStorage.saveTo(JSonStorage.java:454)
|       ... 17 more
|       Press Enter to continue
Code:
|---------------------------Headless Information-------------------------------
|       Exception Occured
|       Write Error occured
|       An error occured while writing 4 bytes to /usr/local/jd2/cfg/updateclient/HttpSettings.proxy.json.tmp
...
|       Press Enter to continue
Code:
Exception in thread "main" org.appwork.storage.StorageException: Can not write to /usr/local/jd2/cfg/org.jdownloader.update.lastchance.LastChanceConfig.json.tmp
Ich glaube es geht um Schreibrechte für Config Dateien. Wie soll man Jdownloader installieren dass man ihn als Benutzer starten kann?

Edit: Habe die Dateien einfach kopiert. Jetzt läuft es, ich kann aber keine Links hinzufügen - es erfolgt keine Reaktion.


Wie kann man headless jdownloader steuern? Nur über Browser?

Last edited by scms; 27.08.2015 at 21:40.
Reply With Quote
  #640  
Old 28.08.2015, 09:29
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 82,142
Default

Du hast ihn als Root installiert, dann musst du ihn auch immer als Root Starten
JDownloader steuerst du Headless über das WebInterface/Smartphone Apps/Browser Extensions/selbstgeschriebene Apps/Skripte.

Rechte korrigieren:
1.) entweder JDownloader.jar in deinem eigenen Home in einen Ordner und dann starten
oder
2.) via chown -R nutzer:gruppe /pfad
die Rechte anpassen
__________________
JD-Dev & Server-Admin
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 06:51.
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 - 2025, Jelsoft Enterprises Ltd.