Eiskaltdc ++ - Programme de partage de fichiers à l'aide de protocoles directs Connect
Site Web: https://github.com/eiskaltdcpp/eiskaltdcpp
Sources: https://github.com/eiskaltdcpp/eiskaltdcpp
Salle de discussion publique: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Licence
Ce programme est autorisé en vertu de la licence publique générale GNU. Voir le fichier de copie pour plus d'informations.
Description
Eiskaltdc ++ est un programme multiplateforme qui utilise les protocoles Direct Connect (DC AKA NMDC) et Advanced Direct Connect (ADC). Il est compatible avec DC ++, Airdc ++, FlyLinkDC ++ et d'autres clients DC. Eiskaltdc ++ interopéra également avec tous les logiciels DC Hub communs.
Systèmes actuellement pris en charge (par ordre d'une importance décroissante): GNU / Linux, MacOS, MS Windows, FreeBSD, Haiku et GNU / HURD.
Caractéristiques actuellement prises en charge (non liste complète):
- Programmes avec interface utilisateur graphique (UI) sur QT (Main) et GTK + (alternative), plus démon qui peut être contrôlé à partir de la ligne de commande ou de l'interface utilisateur Web (connecté via JSON-RPC).
- Téléchargement multithread (Téléchargez les fragments d'un seul fichier à partir de plusieurs sources à la fois).
- Prise en charge de PFSR (partage de fichiers partiel): les utilisateurs peuvent télécharger des parties des fichiers les uns des autres pendant le téléchargement de fichiers même lorsque personne n'a pas de fichier entièrement téléchargé.
- Prise en charge de DHT (permet de rechercher le fichier par TTH et d'échanger ces fichiers sans connexion à aucun centre). L'implémentation de cette fonctionnalité est basée sur le code StrongDC ++ et compatible avec toutes les versions de Strongdc ++, ApexDC ++, RSX ++, FlyLinkDC ++ et Pulse ++ K où cette fonction existe. (Certains clients DC ont abandonné le support de cette fonction dans les dernières versions.)
- Prise en charge de l'UPNP (simplifie la configuration de la connexion réseau lorsque le routeur Wi-Fi de l'utilisateur prend en charge cette fonctionnalité).
- Prise en charge de la liaison à une interface ou à une adresse réseau spécifique (dans le cas où le système utilisateur a quelques connexions réseau simultanément).
- Prise en charge de la mise à jour automatique de l'adresse IPv4 externe via les services DYDDNS.
- Prise en charge des listes de fichiers sensibles à la casse. Cette fonctionnalité est extrêmement importante sur tous les systèmes pris en charge à l'exception de MS Windows (en fait, même NTFS prend en charge les noms de fichiers sensibles à la cas, mais MS Windows n'utilise pas cette fonctionnalité.).
- L'interface utilisateur est traduite dans de nombreuses langues.
- Les programmes d'interface graphique permettent de placer la liste des widgets sur la barre latérale, sur le panneau Multiline Tabbar ou sur le tabbar unique.
- Le programme GUI basé sur QT prend en charge la cachette du menu du programme (il sera disponible par bouton spécial dans la barre d'outils).
- Recherche avancée avec la capacité de regrouper les résultats; Liste noire pour les résultats de la recherche.
- Listes de fichiers téléchargés et téléchargés; Possibilité d'enregistrer des journaux de téléchargements.
- Listes de centres publics et préférés. Les listes de Public Hubs disposent de plusieurs sources; Les centres préférés sont extrêmement flexibles dans les fonctionnalités de configuration.
- Listes d'utilisateurs préférés (ils recevront des emplacements supplémentaires pour le téléchargement de fichiers, etc.).
- Liste des transferts actifs (téléchargements / téléchargements), y compris la file d'attente des utilisateurs en attente de la machine à sous (l'utilisateur peut leur donner temporaire l'emplacement supplémentaire).
- Paramètres flexibles pour le téléchargement de fichiers (listes de répertoires de destination, répertoire pour les téléchargements incomplets, limitation du nombre de téléchargements simultanés, transferts compressés, chèque des sommes de chèque, etc.).
- Indicateur de l'espace libre sur le disque où se trouve le répertoire des téléchargements principaux.
- Prise en charge du filtre IP et de l'Antipam de base.
- Recherchez l'espion (permet de voir des phrases de recherche qui envoient d'autres utilisateurs, mais sans identifier les utilisateurs bien sûr).
- Recherche ADL avec prise en charge des expressions régulières de style Perl (à l'aide de la bibliothèque PCRE).
- Filtre flexible (avec support d'expressions régulières) dans la liste des utilisateurs, résultats de recherche, listes de Public Hubs, listes de fichiers, etc. (utilisez ## <Regexp> String et lisez la syntaxe QT Qregexp.)
- CHAT complet (différentes polices, coloration Nick, analyse des liens aimant et autres liens, émoticônes, recherche de chat, commandes de chat, support BBCODE, CHAT / Activer / Clear CHAT, vérification orthographique (Aspell est utilisé), les mots clés mettant en évidence dans le chat, le séparateur pour les messages non lus, la sauvegarde des journaux de discussion, la capacité de la cachette des données IP pour les utilisateurs dans le chat (dépend de la Hub. utilisateurs habituels).
- Commandes utilisateur sur Hub.
- Secrétaire (vous permet de ne pas lire des tonnes de messages inutiles dans de nombreux chats pour trouver quelque chose d'intéressant, par exemple, des messages avec des liens aimant ou avec des mots clés).
- Paramètres de raccourcis clavier flexibles.
- Texte et notifications sonores pour différents événements.
- Mise en évidence des doublons dans des fichiers partagés.
- Paramètres flexibles pour le hachage des fichiers (vitesse de hachage, filtres pour ignorer les fichiers, etc.).
- Indicateur des progrès de hachage dans la barre d'état du programme.
- Outil spécial pour calculer le TTH pour tout fichier (sans nécessité de partager ce fichier) et de préparer un lien d'aimant ou un lien de mage Web pour celui-ci.
- Prise en charge des limitations de la vitesse de téléchargement / téléchargement (permanent ou par horaire).
- Prise en charge des limitations par taille des fichiers partagés. (Oui, c'est une fonctionnalité discutable, mais elle est très demandée par les utilisateurs.)
- Prise en charge de la gestion des liens d'aimant, des liens aimant Web et des liens de concentrateur transférés via la ligne de commande à partir d'autres programmes (par exemple à partir de navigateurs Web).
- Prise en charge des fichiers glisser-déposer dans le champ pour la saisie des messages (si le fichier est présent dans la liste des fichiers utilisateur, un lien d'aimant sera ajouté).
- Prise en charge des réponses automatiques aux messages privés en cas d'utilisateur absent.
- Prise en charge des extensions de l'utilisateur sur QTScript (uniquement dans l'interface graphique basée sur QT dans GNU / Linux) et sur LUA (dans tous les systèmes pris en charge).
- Support de IDN2 (reconnaissance des noms nationaux de domaine).
- Support des chaînes encodées URL pour les adresses Hub.
- Prise en charge du chiffrement du trafic.
Histoire des versions
Voir le fichier ChangeLog.txt.
Installation
Pour la construction à partir de sources, voir le fichier d'installation.
Les utilisateurs GNU / Linux et FreeBSD peuvent installer des packages à partir de référentiels officiels et non officiels, de ports, etc.
Les utilisateurs de MacOS peuvent installer et mettre à jour les versions officielles à l'aide de Homebrew Cask:
brew install --cask eiskaltdcpp
ou téléchargez des packs d'applications à partir de sourceforge et installez-les manuellement. Le programme n'a pas de mécanisme de mises à jour intégré, donc dans ce cas, les utilisateurs doivent surveiller eux-mêmes les mises à jour.
Les utilisateurs de Haiku peuvent installer un package officiel de Haikuports:
pkgman install eiskaltdcpp
Les utilisateurs de MS Windows peuvent télécharger des installateurs officiels et des builds portables à partir de SourceForge. Le programme n'a pas de mécanisme intégré de mises à jour, les utilisateurs doivent donc surveiller eux-mêmes les mises à jour.
Usage
Eiskaltdc ++ est conçu principalement pour les utilisateurs expérimentés qui savent comment fonctionne DC, quels paramètres doivent être utilisés avec leur type de connexion réseau, etc. Cette courte introduction n'est pas destinée à décrire de telles choses de base.
Voici de petites recommandations pour la configuration initiale après le premier lancement du programme:
- Ouvrez la boîte de dialogue des préférences et définissez le surnom (il est important!), Encodage par défaut pour DC Hubs (par exemple, Windows-1251 pour les hubs russes), le type de connexions entrantes (mode actif, pare-feu avec mode UPNP ou passif) et télécharge le répertoire.
- Ouvrez le widget public Public Hubs et connectez-vous à quelques hubs publics populaires (vous pouvez trier la liste par le nombre d'utilisateurs ou par quantité totale de données partagées).
- Ouvrez le widget de recherche et essayez de rechercher n'importe quel fichier populaire. (N'oubliez pas d'utiliser des espaces comme séparateur de mots.)
- Ajoutez quelques hubs à la liste des hubs préférés et activez la connexion automatique aux pôles pendant le démarrage du programme.
- Les paramètres du programme seront enregistrés lors de la sortie du programme.
Tous les programmes du projet Eiskaltdc ++ ( eiskaltdcpp-qt , eiskaltdcpp-gtk et eiskaltdcpp-daemon ) utilisent les mêmes paramètres communs. Ainsi, une fois que vous avez correctement configuré des connexions dans eiskaltdc ++ qt, par exemple, vous pouvez lancer eiskaltdcpp-daemon et utiliser l'interface utilisateur Web pour la gouverner (recherche de fichiers, ajoutez-les à la file d'attente de téléchargements, etc.).
Développement
Au cours du développement, Eiskaltdc ++ au cours des dernières années, nous avons utilisé différents CV (subversion d'abord puis GIT) et différents modèles de développement. Actuellement, le processus ressemble à ceci:
- Tout le développement de la branche
work GIT ou des succursales spéciales (caractéristiques) détachées de la branche work . - Le fichier ChangeLog doit être mis à jour avec les modifications du code source. Cela peut être fait dans un même engagement GIT ou dans un engagement Git séparé en fonction de la situation. Utilisez simplement le bon sens pour cela. (Il n'y avait aucune règle de mise à jour du journal des modifications dans le passé, ce qui entraîne un retard significatif des versions stables.)
- Une fois que les modifications de la branche
work sont prêtes à utiliser et la construction du programme est testée pour les systèmes les plus importants (Linux, MacOS, Windows), ils peuvent être fusionnés à master Branch. - Des constructions quotidiennes de programme pour les testeurs, les utilisateurs actifs et les personnes curieux doivent être effectuées à partir de Git
master Branch. - Le schéma de version pour les builds à partir de instantanés GIT devrait ressembler à:
<major>.<minor>.<patch>-<commits>-g<hash> (où <major> , <minor> et <patch> ne sont pas des chiffres mais des nombres). <major>.<minor>.<patch> est la dernière balise GIT (pour la version stable), <commits> - le nombre de validations depuis la dernière balise GIT et <hash> - Hash court de la validation GIT actuelle. - Une fois qu'il y a un nombre notable de modifications depuis la dernière version stable ou s'il existe des corrections de bogues très importantes qui devraient être rapidement livrées aux utilisateurs, une nouvelle balise GIT (
v<major>.<minor>.<patch> ) est créée et les Tarballs avec des sources sont téléchargés sur sourceforge. - En cas de changements notables dans le noyau du programme (Library LibeiskAltdcpp)), le
<minor> ou <major> une partie de la version du programme doit être modifié. - En cas de modifications significatives (par exemple, le refactorisation de code total) dans n'importe quelle partie du programme, la partie
<minor> ou <major> de la version du programme doit être modifiée. - Dans le cas où où sont très peu de changements depuis la dernière version stable, mais ils sont importants et doivent être rapidement livrés aux utilisateurs, la partie
<patch> de la version du programme doit être modifiée. - Il n'y a pas de limites pour les modifications adaptées à une nouvelle version
<patch> s'ils n'affectent pas le noyau du programme: ils peuvent contenir de nouvelles fonctionnalités et des changements notables dans n'importe quelle partie de l'interface graphique.
Pendant le développement, tous les changements sont testés sur les services d'intégration continue Travis CI et SIBUSERV CI.
Développeurs
Développeurs principaux
- Les principaux développeurs d'Eiskaltdc ++ sont répertoriés dans le fichier des auteurs.
- Le programme contient le code source des autres projets gratuits et et open source. Toutes les informations sur les droits d'auteur sont documentées pédantiquement dans un fichier spécial.
- Une partie du programme avec GTK + UI contient un fichier crédits.txt supplémentaire. (Ce n'est qu'une liste de contributeurs des projets LinuxDC ++ et FreedC ++, tous ne sont pas des détenteurs de droits d'auteur.)
Autres contributeurs
Il y a beaucoup de gens qui ont été impliqués dans le développement d'Eiskaltdc ++. Certains d'entre eux sont répertoriés dans les en-têtes de licence dans les fichiers source, certains pourraient être trouvés uniquement dans l'histoire de Commits dans notre référentiel GIT. Il existe également des traducteurs, des testeurs et des utilisateurs actifs. Nous sommes reconnaissants à tous!
Comment vous pouvez aider
Rapports de bogues
Si vous avez trouvé un bug, veuillez en informer dans notre tracker de bogue.
Tests bêta
Vous pouvez utiliser des builds quotidiens de programme ou de programme compilé à partir de sources par vous-même (à partir de Git master Branch) pour tester et suggérer de nouvelles fonctionnalités, et pour signaler de nouveaux bogues (si elles se produisent).
Commentaires et souhaits
Nous aimons les commentaires et souhaits constructifs aux fonctions du programme. Vous pouvez contacter avec nous dans une salle de chat public pour discuter de vos idées. Certains d'entre eux seront rédigés comme des demandes de fonctionnalités dans notre tracker de bogue.
Traductions
Le travail des traducteurs est assez routinier et ennuyeux. Les gens qui le font perdent généralement des intérêts et leurs traductions deviennent incomplètes. Si vous voyez une telle situation pour une traduction dans votre langue maternelle, veuillez vous joindre à notre équipe de traductions. C'est extrêmement le bienvenu!
Quelques notes utiles sur le processus de traduction que vous pouvez trouver sur une page Wiki spéciale.
Graphique
Il existe de nombreuses façons de contribuer au projet Eiskaltdc ++, si vous pensez que vous pouvez faire un meilleur travail avec l'un des graphiques Eiskaltdc ++, puis allez-y!
Programmation
Les correctifs sont les bienvenus! Contact avec des développeurs Eiskaltdc ++ si vous y travaillez.
Conditionnement
Actuellement, nous avons des agents de package actifs pour Debian et Ubuntu Distros, pour MacOS et MS Windows. Si vous avez des suggestions sur l'amélioration de l'emballage, contactez simplement avec eux.
Si vous souhaitez préparer des versions personnelles d'Eiskaltdc ++ pour les systèmes MS Windows et MacOS, c'est le bienvenu! Nous pouvons y ajouter des liens dans notre documentation. Devenir un mainteneur officiel pour ces systèmes est plus compliqué, mais aussi possible.
Pour les autres systèmes GNU / Linux et * BSD, la situation est assez claire: il suffit de mettre à jour les packages (pkgbuilds, ebuild, etc.) dans les référentiels officiels de vos distributions préférées ou établissez une archive de package personnel (PPA) avec eux. Nous y ajouterons des liens dans notre documentation.
Dons
Nous n'acceptons pas les dons pour le projet Eiskaltdc ++ dans son ensemble, car il n'y a pas de dépenses pour les infrastructures et autres. (Merci aux propriétaires des services GitHub, Sourceforge, Transifex et Travis CI pour leur soutien aux projets FOSS!)
Mais vous pouvez envoyer des dons aux contributeurs du projet (développeurs, mainteneurs, traducteurs, etc.) sur une base personnelle. Contactez simplement avec eux en utilisant les coordonnées du fichier des auteurs.
Packages et installateurs
- PPA officiel pour Ubuntu et Distros en fonction de celui-ci (versions stables)
- PPA officiel pour Ubuntu et Distros en fonction de celui-ci (construction quotidienne)
- Packages SNAP officiels pour Ubuntu et autres distros (construction quotidienne)
- Builds officiels pour Windows
- Construction officielle pour macOS
- Constructions officielles pour Linux
- Packages officiels à Debian
- Packages officiels à Ubuntu
- Packages officiels à Fedora
- Packages officiels à Gentoo Linux
- Packages officiels dans Alt Linux
- Packages officiels à Haiku
- Packages officiels dans FreeBSD
- Packages pour OpenSUSE (officiel et non officiel)
- Packages pour Arch Linux (en AUR)
- Packages pour différentes distros Linux (le meilleur agrégateur de liens)
- Packages pour différentes distros Linux (agrégateur alternatif de liens)
- PPA non officiel pour Debian et Ubuntu (maintenu par Alex_P)
- Macports (macOS 10.5+)
Liens supplémentaires
- Statistiques du projet sur github
- Statistiques du projet sur OpenHub
- Projet Freedc ++ (était la base d'Eiskaltdcpp-GTK) (sources)
- UI Web officiel pour eiskaltdcpp-daemon (sources)
- UI Web alternatif pour eiskaltdcpp-daemon (sources)
- Anciennes captures d'écran (en anglais)
- Anciennes captures d'écran (en russe)
- Vieilles notes sur eiskaltdc ++ (en russe)
- Vieilles notes sur Freedc ++ (en russe)
- Old FAQ sur Eiskaltdc ++ (en russe)
- Configuration de l'interception des liens aimant des navigateurs Web (en russe)
- Examen des clients DC pour Linux (en russe)
- DC ++ et des programmes basés sur lui à Wikipedia (en anglais)
- DC ++ et des programmes basés sur lui à Wikipedia (en russe)
- Valknut et programmes basés sur Wikipedia (en anglais)
- Eiskaltdc ++ à Wikipedia (en russe)
Amusez-vous!