Eiskaltdc ++ - Dateifreigabeprogramm mit Direct Connect -Protokollen
Website: https://github.com/eiskaltdcpp/eiskaltdcpp
Quellen: https://github.com/eiskaltdcpp/eiskaltdcpp
Öffentlicher Chatraum: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Lizenz
Dieses Programm ist unter der GNU General Public Lizenz lizenziert. Weitere Informationen finden Sie in der Kopierdatei.
Beschreibung
Eiskaltdc ++ ist ein plattformübergreifendes Programm, das die Direct Connect-Protokolle (DC AKA NMDC) und Advanced Direct Connect (ADC) verwendet. Es ist mit DC ++, Airdc ++, FlyLinkDC ++ und anderen DC -Clients kompatibel. Eiskaltdc ++ unterbindet auch mit allen gemeinsamen DC -Hub -Software.
Derzeit unterstützte Systeme (in der Reihenfolge der abnehmenden Bedeutung): GNU/Linux, MacOS, MS Windows, FreeBSD, Haiku und GNU/Hurd.
Derzeit unterstützte Funktionen (nicht vollständige Liste):
- Programme mit grafischer Benutzeroberfläche (UI) auf QT (Haupt) und GTK+ (Alternative) sowie Dämon, die möglicherweise von der Befehlszeile oder von der Web-UI (über JSON-RPC) gesteuert werden können.
- Multi-Thread-Download (Download Fragmente einer einzelnen Datei aus mehreren Quellen gleichzeitig).
- Unterstützung von PFSR (Partial -Dateifreigabe): Benutzer können Teile der Datei während des Datei -Downloads herunterladen, auch wenn niemand von ihnen keine vollständige heruntergeladene Datei hat.
- Unterstützung von DHT (ermöglicht es, Datei nach TH zu durchsuchen und diese Dateien ohne Verbindung zu einem Hub auszutauschen). Die Implementierung dieser Funktion basiert auf StrongDC ++ Code und kompatibel mit allen Versionen von StrongDC ++, ApexDC ++, RSX ++, FlyLinkDC ++ und Pulse ++ K, wobei diese Funktion existiert. (Einige DC -Clients haben die Unterstützung dieser Funktion in den neuesten Versionen fallen gelassen.)
- Unterstützung von UPNP (vereinfacht die Konfiguration der Netzwerkverbindung, wenn der Benutzer Wi-Fi-Router diese Funktion unterstützt).
- Unterstützung der Bindung an eine bestimmte Netzwerkschnittstelle oder -adresse (falls das Benutzersystem gleichzeitig nur wenige Netzwerkverbindungen hat).
- Unterstützung der automatischen Aktualisierung der externen IPv4 -Adresse über DynDNS -Dienste.
- Unterstützung von Fallsensitivdateilisten. Diese Funktion ist bei allen unterstützten Systemen mit Ausnahme von MS Windows äußerst wichtig (in der Tat unterstützt auch NTFS Fallempfindungsdateinamen, MS Windows verwendet diese Funktion jedoch nicht.).
- Die Benutzeroberfläche wird in viele Sprachen übersetzt.
- GUI-Programmen ermöglichen es, die Liste von Widgets in der Seitenleiste, in der Multiline-Tab-Bar-Panel oder in der Taballeiste mit Einzelzeilen zu platzieren.
- Das GUI -Programm basierend auf QT unterstützt das Ausblenden des Programmmenüs (es wird mit einer speziellen Schaltfläche in der Symbolleiste verfügbar sein).
- Erweiterte Suche mit der Fähigkeit, Ergebnisse zu gruppieren; Schwarze Liste für Suchergebnisse.
- Listen von heruntergeladenen und hochgeladenen Dateien; Fähigkeit, Protokolle von Downloads zu speichern.
- Listen der öffentlichen und bevorzugten Hubs. Öffentliche Hubs Listen haben mehrere Quellen; Lieblings -Hubs sind in Konfigurationsfunktionen äußerst flexibel.
- Listen der bevorzugten Benutzer (sie erhalten zusätzlichen Slot zum Herunterladen von Dateien usw.).
- Liste der aktiven Überweisungen (Downloads/Uploads), einschließlich der Warteschlange von Benutzern, die auf den Steckplatz warten (der Benutzer kann vorübergehend zusätzlichen Slot für sie gewähren).
- Flexible Einstellungen zum Herunterladen von Dateien (Listen der Zielverzeichnisse, Verzeichnis für unvollständige Downloads, Einschränkung der Anzahl gleichzeitiger Downloads, komprimierten Überweisungen, Überprüfung der Überprüfungssummen usw.).
- Indikator für den freien Speicherplatz auf der Festplatte, in dem sich das Hauptdownload -Verzeichnis befindet.
- Unterstützung von IP -Filter und Basic Antispam.
- Suchspion (ermöglicht es einem, Suchphrasen anzuzeigen, die andere Benutzer senden, ohne Benutzer natürlich zu identifizieren).
- ADL-Suche mit Unterstützung für reguläre Ausdrücke im Perl-Stil (unter Verwendung der PCRE-Bibliothek).
- Flexibler Filter (mit regelmäßiger Ausdrücke Support) in Benutzernliste, Suchergebnisse, öffentlichen Hubs -Listen, Dateilisten usw. (Verwenden Sie ## <Regexp> String und lesen Sie über Qt Qregexp -Syntax.)
- Vollfetter Chat (verschiedene Schriftarten, Nickfärbung, Analyse von Magnetlinks und anderen Links, Emoticons, Chat-Suche, Chat-Befehle, BBCode-Unterstützung, Deaktivieren/Aktivieren/Löschen von Chat-Überprüfungen (Aspell wird verwendet), Keywords hervorheben, die in den Chat-Ländern und den Chat-Daten zugeschnitten sind. übliche Benutzer).
- Benutzerbefehle auf Hub.
- Sekretär (ermöglicht es Ihnen, in vielen Chats keine Tonnen nutzloser Nachrichten zu lesen, um etwas Interessantes zu finden, beispielsweise Nachrichten mit Magnet -Links oder mit Schlüsselwörtern).
- Flexible Tastaturverknüpfungseinstellungen.
- Text- und Tonbenachrichtigungen für verschiedene Ereignisse.
- Hervorhebung von Duplikaten in freigegebenen Dateien.
- Flexible Einstellungen für Dateien Hashing (Geschwindigkeit des Hashings, Filter zum Ignorieren von Dateien usw.).
- Indikator für Hashing -Fortschritte in der Programmstatusleiste.
- Speziales Tool zur Berechnung von TTH für eine Datei (ohne Notwendigkeit, diese Datei zu teilen) und den Magnet -Link oder den Web -Maget -Link dafür vorzubereiten.
- Unterstützung von Einschränkungen der Download-/Upload -Geschwindigkeit (dauerhaft oder nach Zeitplan).
- Unterstützung von Einschränkungen nach Größe gemeinsamer Dateien. (Ja, dies ist eine fragwürdige Funktion, aber es wird von den Benutzern sehr gefordert.)
- Unterstützung der Handhabung von Magnet -Links, Web -Magnet -Links und Hub -Links, die über die Befehlszeile aus anderen Programmen (z. B. aus Webbrowsern) übertragen wurden.
- Unterstützung von Dateien Drag & Drop in Feld zum Eingeben von Nachrichten (wenn die Datei in der Benutzerdateiliste vorhanden ist, wird der Magnet-Link dazu hinzugefügt).
- Unterstützung automatischer Antworten auf private Nachrichten im Falle eines Benutzers.
- Unterstützung von Benutzererweiterungen auf QTScript (nur in QT -basierter GUI in GNU/Linux) und auf LUA (in allen unterstützten Systemen).
- Unterstützung von IDN2 (Anerkennung nationaler Domain -Namen).
- Unterstützung von URL -codierten Zeichenfolgen für Hub -Adressen.
- Unterstützung der Verkehrsverschlüsselung.
Versionengeschichte
Siehe änderungelog.txtdatei.
Installation
Für Erstellen aus Quellen siehe Datei Installation.
GNU/Linux- und FreeBSD -Benutzer können Pakete aus offiziellen und inoffiziellen Repositories, Ports usw. installieren.
MacOS -Benutzer können offizielle Builds mit Homebrew Cask installieren und aktualisieren:
brew install --cask eiskaltdcpp
Oder laden Sie App -Bundles von SourceForge herunter und installieren Sie sie manuell. Das Programm hat keinen eingebetteten Aktualisierungsmechanismus. In diesem Fall sollten Benutzer selbst Aktualisierungen überwachen.
Haiku -Benutzer können ein offizielles Paket von Haikuports installieren:
pkgman install eiskaltdcpp
MS Windows -Benutzer können offizielle Installateure und tragbare Builds von SourceForge herunterladen. Das Programm hat keinen eingebetteten Mechanismus von Aktualisierungen, daher sollten Benutzer selbst Aktualisierungen überwachen.
Verwendung
Eiskaltdc ++ wurde hauptsächlich für erfahrene Benutzer entwickelt, die wissen, wie DC funktioniert, welche Einstellungen mit ihrer Netzwerkverbindung verwendet werden sollten usw. Diese kurze Einführung soll solche grundlegenden Dinge nicht beschreiben.
Hier sind kleine Empfehlungen für die Erstkonfiguration nach dem ersten Start des Programms:
- Öffnen Sie den Einstellungsdialog und setzen Sie den Spitznamen (es ist wichtig!), Standard-Codierung für DC-Hubs (beispielsweise Windows-1251 für russische Hubs), Art der eingehenden Verbindungen (aktiver Modus, Firewall mit UPNP oder passivem Modus) und Download-Verzeichnis.
- Öffnen Sie öffentliche Hubs Widget und stellen Sie eine Verbindung zu wenigen beliebten öffentlichen Hubs her (Sie können die Liste der Benutzer oder nach der Gesamtmenge der gemeinsam genutzten Daten sortieren).
- Öffnen Sie das Such -Widget und versuchen Sie, eine beliebte Datei zu durchsuchen. (Vergessen Sie nicht, Räume als Wörter -Separator zu verwenden.)
- Fügen Sie nur wenige Hubs hinzu, um die bevorzugten Hubs aufzulisten und während des Programmstarts die Autoverbindung zu Hubs zu aktivieren.
- Die Programmeinstellungen werden im Programmausgang gespeichert.
Alle Programme aus dem Eiskaltdc ++ -Projekt ( eiskaltdcpp-qt , eiskaltdcpp-gtk und eiskaltdcpp-daemon ) verwenden dieselben gemeinsamen Einstellungen. Sobald Sie beispielsweise beispielsweise Verbindungen in Eiskaltdc ++ QT konfiguriert haben, können Sie beispielsweise eiskaltdcpp-daemon starten und die Web-UI verwenden, um sie zu regeln (Suchen Sie Dateien, fügen Sie sie zum Download der Warteschlangen usw. hinzu).
Entwicklung
Während der Entwicklung haben wir in den vergangenen Jahren in den vergangenen Jahren verschiedene CVs (Subversion und dann GIT) und verschiedene Entwicklungsmodelle verwendet. Derzeit sieht der Prozess so aus:
- Alle Entwicklung von Git
work oder Special (Feature) Zweigstellen, die von work abgelöst wurden. - Die ChangeLog -Datei sollte zusammen mit Änderungen im Quellcode aktualisiert werden. Dies kann in einem gleichen Git -Commit oder in einem separaten Git -Commit in Abhängigkeit von der Situation erfolgen. Verwenden Sie dafür einfach den gesunden Menschenverstand. (In der Vergangenheit gab es keine Regel zur Aktualisierung des Änderungsprotokolls, was zu einer signifikanten Verzögerung der stabilen Freisetzungen führt.)
- Sobald die Änderungen aus
work für die Nutzung und den Aufbau des Programms bereit sind, werden sie für die wichtigsten Systeme (Linux, MacOS, Windows) getestet, um die Filiale zu master . - Tägliche Programme für Tester, aktive Benutzer und nur neugierige Personen sollten von Git
master Branch durchgeführt werden. - Das Versionsschema für Builds aus Git-Snapshots sollte wie:
<major>.<minor>.<patch>-<commits>-g<hash> (wobei <major> , <minor> und <patch> keine Ziffern, sondern Zahlen sind). <major>.<minor>.<patch> ist das letzte Git -Tag (für stabile Veröffentlichung), <commits> - Die Anzahl der Commits seit dem letzten Git -Tag und <hash> - Short Hash des aktuellen Git -Commits. - Sobald es spürbare Änderungen gibt, da die letzte stabile Veröffentlichung oder wenn es sehr wichtige Fehlerbehebungen gibt, die schnell an Benutzer neue Git -Tags (
v<major>.<minor>.<patch> ) geliefert werden sollten, wird erstellt und Tarballs mit Quellen werden auf SourceForge hochgeladen. - Bei merklichen Änderungen im Kern des Programms (Bibliothek liebeizaltdcpp) sollte der
<minor> oder <major> Teil der Programmversion geändert werden. - Bei signifikanten Änderungen (z. B. Gesamtcode -Refactoring) in einem Teil des Programms sollte der
<minor> oder <major> Teil der Programmversion geändert werden. - Falls wo nur sehr wenige Änderungen seit der letzten stabilen Version sind, sind sie jedoch wichtig und sollten schnell an Benutzer geliefert werden. Der Teil der
<patch> sollte geändert werden. - Es gibt keine Grenzen für Änderungen, die für ein neues
<patch> veröffentlicht werden, wenn sie den Kern des Programms nicht beeinflussen: Sie können neue Funktionen und spürbare Änderungen in einem Teil der GUI enthalten.
Während der Entwicklung werden alle Änderungen an kontinuierlichen Integrationsdiensten Travis CI und Sibuerv CI getestet.
Entwickler
Hauptentwickler
- Hauptentwickler vonsiiskaltdc ++ sind in der Authors -Datei aufgeführt.
- Das Programm enthält Quellcode aus anderen kostenlosen und offenen und Open-Source-Projekten. Alle Copyright -Informationen von ihnen sind pedantisch in einer speziellen Datei dokumentiert.
- Teil des Programms mit GTK+ UI enthält zusätzliche Credits.txt -Datei. (Dies ist nur eine Liste von Mitwirkenden aus LinuxDC ++ - und Freedc ++ Projects, nicht alle von ihnen sind Urheberrechtsinhaber.)
Andere Mitwirkende
Es gibt viele Menschen, die sich mit der Entwicklung von Eiskaltdc ++ befassen. Einige von ihnen sind in Lizenzkopfzeilen in Quelldateien aufgeführt, von denen einige nur in der Geschichte der Commits in unserem Git -Repository gefunden werden können. Außerdem gibt es Übersetzer, Tester und nur aktive Benutzer. Wir sind allen dankbar!
Wie Sie helfen können
Fehlerberichte
Wenn Sie einen Fehler gefunden haben, berichten Sie bitte darüber in unserem Bug -Tracker.
Beta -Test
Sie können tägliche Programme oder Programme verwenden, die von Quellen selbst zusammengestellt wurden (aus Git master Branch), um neue Funktionen zu testen und vorzuschlagen, und um über neue Fehler zu berichten (falls dies stattfindet).
Kommentare und Wünsche
Wir mögen konstruktive Kommentare und Wunsch der Programmfunktionen. Sie können mit uns im öffentlichen Chatraum kontaktieren, um Ihre Ideen zu besprechen. Einige von ihnen werden als Feature -Anfragen in unserem Bug -Tracker erstellt.
Übersetzungen
Die Arbeit der Übersetzer ist ziemlich routinemäßig und langweilig. Menschen, die es tun, verlieren normalerweise Interessen und ihre Übersetzungen werden unvollständig. Wenn Sie eine solche Situation für die Übersetzung in Ihre Muttersprache sehen, nehmen Sie bitte an unserem Übersetzungsteam teil. Es ist sehr willkommen!
Einige nützliche Hinweise zum Übersetzungsprozess finden Sie auf der speziellen Wiki -Seite.
Grafik
Es gibt viele Möglichkeiten, um zum Eiskaltdc ++ -Projekt beizutragen. Wenn Sie der Meinung sind, dass Sie mit einer der Diiskaltdc ++ - Grafiken einen besseren Job machen können, dann fahren Sie dann weiter!
Programmierung
Patches sind willkommen! Kontakt zu unsiskaltdc ++ Entwicklern, wenn Sie daran arbeiten.
Verpackung
Derzeit verfügen wir über aktive Paketwartungen für Debian- und Ubuntu -Distributionen für MacOS und MS Windows. Wenn Sie Vorschläge zur Verbesserung der Verpackung haben, kontaktieren Sie einfach mit ihnen.
Wenn Sie persönliche Builds vonsiiskaltdc ++ für MS Windows und MacOS -Systeme vorbereiten möchten, ist dies sehr willkommen! Wir können Links zu ihnen in unsere Dokumentation hinzufügen. Ein offizieller Betreuer für diese Systeme zu werden ist komplizierter, aber auch möglich.
Für andere GNU/Linux- und *BSD -Systeme ist die Situation klar: Aktualisieren Sie Pakete (PKGBuilds, Ebuild usw.) in offiziellen Repositories Ihrer Lieblingsverteilungen oder erstellen Sie mit ihnen ein persönliches Paketarchiv (PPA). Wir werden unsere Dokumentation Links zu ihnen hinzufügen.
Spenden
Wir akzeptieren keine Spenden für das gesamte Projekt von Eiskaltdc ++, da es keine Ausgaben für die Infrastruktur und dergleichen gibt. (Vielen Dank an die Eigentümer von Github, Sourceforge, Transifex und Travis CI Services für die Unterstützung von FOSS -Projekten!)
Sie können jedoch auf persönliche Basis Spenden an Projektbeiträge (Entwickler, Betreuer, Übersetzer usw.) senden. Wenden Sie sich einfach mit den Kontaktinformationen aus der Authors -Datei mit ihnen an.
Pakete und Installateure
- Offizielle PPA für Ubuntu und Distribos basierend (stabile Veröffentlichungen)
- Offizielle PPA für Ubuntu und Distribos basierend (tägliche Builds)
- Offizielle Snap -Pakete für Ubuntu und andere Distributionen (tägliche Builds)
- Offizielle Builds für Windows
- Offizielle Builds für macOS
- Offizielle Builds für Linux
- Offizielle Pakete in Debian
- Offizielle Pakete in Ubuntu
- Offizielle Pakete in Fedora
- Offizielle Pakete in Gentoo Linux
- Offizielle Pakete in Alt Linux
- Offizielle Pakete in Haiku
- Offizielle Pakete in FreeBSD
- Pakete für OpenSuse (offiziell und inoffiziell)
- Pakete für Arch Linux (in AUR)
- Pakete für verschiedene Linux -Distributiere (der beste Aggregator von Links)
- Pakete für verschiedene Linux -Distributiere (alternativer Aggregator von Links)
- Inoffizieller PPA für Debian und Ubuntu (gepflegt von Alex_P)
- Macports (macOS 10.5+)
Zusätzliche Links
- Projektstatistik zu GitHub
- Projektstatistiken zu OpenHub
- Projekt Freedc ++ (war die Basis von iskaltdcpp-gtk) (Quellen)
- Offizielle Web-UI für reibungsdcpp-daemon (Quellen)
- Alternative Web-UI für Eisiskaltdcpp-Daemon (Quellen)
- Alte Screenshots (auf Englisch)
- Alte Screenshots (auf Russisch)
- Alte Notizen über Eisiskaltdc ++ (auf Russisch)
- Alte Notizen über Freedc ++ (auf Russisch)
- Alte FAQ über Eisiskaltdc ++ (auf Russisch)
- Einrichtung von Magnet -Links von Webbrowsern (auf Russisch) einrichten
- Überprüfung von DC -Kunden für Linux (auf Russisch)
- DC ++ und Programme basierend darauf bei Wikipedia (auf Englisch)
- DC ++ und Programme basierend darauf bei Wikipedia (auf Russisch)
- Valknut und Programme basierend darauf bei Wikipedia (auf Englisch)
- Eiskaltdc ++ bei Wikipedia (auf Russisch)
Viel Spaß!