EISKALTDC ++ - Programa de intercambio de archivos utilizando protocolos de Direct Connect
Sitio web: https://github.com/eiskaltdcpp/eiskaltdcpp
Fuentes: https://github.com/eiskaltdcpp/eiskaltdcpp
Sala de chat pública: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Licencia
Este programa tiene licencia bajo la Licencia Pública General de GNU. Consulte el archivo de copia para obtener más información.
Descripción
EISKALTDC ++ es un programa multiplataforma que utiliza los protocolos de Direct Connect (DC AKA NMDC) y Advanced Direct Connect (ADC). Es compatible con DC ++, AIRDC ++, FlyLinkDC ++ y otros clientes DC. EISKALTDC ++ también introduce con todo el software DC Hub común.
Sistemas compatibles actualmente (en orden de importancia decreciente): GNU/Linux, MacOS, MS Windows, FreeBSD, Haiku y Gnu/Hurd.
Características compatibles actualmente (no lista completa):
- Programas con interfaz gráfica de usuario (UI) en QT (Main) y GTK+ (alternativa), más demonio que puede controlarse desde la línea de comando o desde la interfaz de usuario web (conectado a través de JSON-RPC).
- Descarga de múltiples subprocesos (descargue fragmentos de un solo archivo de varias fuentes a la vez).
- Soporte de PFSR (intercambio de archivos parciales): los usuarios pueden descargar partes del archivo entre sí durante la descarga de archivos, incluso cuando nadie de ellos no tiene un archivo completamente descargado.
- Soporte de DHT (permite que uno busque el archivo por TTH e intercambie estos archivos sin conexión a ningún centro). La implementación de esta característica se basa en el código StrongDC ++ y es compatible con todas las versiones de StrongDC ++, APEXDC ++, RSX ++, FlyLinkDC ++ y Pulse ++ K donde existe esta característica. (Algunos clientes de DC han eliminado el soporte de esta función en las últimas versiones).
- Soporte de UPNP (simplifica la configuración de la conexión de red cuando el enrutador Wi-Fi del usuario admite esta función).
- Soporte de enlace a la interfaz o dirección de red específica (en caso de que el sistema de usuario tenga pocas conexiones de red simultáneamente).
- Soporte de la actualización automática de la dirección IPv4 externa a través de DynDNS Services.
- Soporte de listas de archivos sensibles a los casos. Esta característica es extremadamente importante en todos los sistemas compatibles, excepto MS Windows (de hecho, incluso NTFS admite nombres de archivos sensibles a la caja, pero MS Windows no usa esta función).
- La interfaz de usuario se traduce a muchos idiomas.
- Los programas de GUI permiten colocar la lista de widgets en la barra lateral, en el panel Tabbar multiline o en la pizarra de una sola línea.
- El programa GUI basado en QT tiene el soporte de ocultar el menú del programa (estará disponible con botón especial para la barra de herramientas).
- Búsqueda avanzada con la capacidad de agrupar los resultados; Lista negra para resultados de búsqueda.
- Listas de archivos descargados y cargados; Capacidad para guardar registros de descargas.
- Listas de centros públicos y favoritos. Las listas de centros públicos tienen múltiples fuentes; Los centros favoritos son extremadamente flexibles en las características de configuración.
- Listas de usuarios favoritos (recibirán una ranura adicional para descargar archivos, etc.).
- Lista de transferencias activas (descargas/cargas), incluida la cola de los usuarios que esperan la ranura (el usuario puede otorgarlos temporal de ranura adicional para ellos).
- Configuración flexible para descargar archivos (listas de directorios de destino, directorio para descargas incompletas, limitación del número de descargas simultáneas, transferencias comprimidas, verificación de sumas de verificación, etc.).
- Indicador del espacio libre en el disco donde se encuentra el directorio de descargas principales.
- Soporte del filtro IP y antispam básico.
- Search Spy (permite que uno vea frases de búsqueda que envían a otros usuarios, pero sin identificar a los usuarios, por supuesto).
- Búsqueda de ADL con soporte para expresiones regulares al estilo PERL (usando la biblioteca PCRE).
- Filtro flexible (con soporte de expresiones regulares) en la lista de usuarios, resultados de búsqueda, listas de centros públicos, listas de archivos, etc. (use ## <Cregexp> cadena y lea sobre la sintaxis QT QGEXP).
- CHAT con fallas completas (diferentes fuentes, coloración de nick, análisis de enlaces magnéticos y otros enlaces, emoticones, búsqueda de chat, comandos de chat, soporte de código de BB, desactivar/habilitar/transparar chat, chat de ortografía (se usa el corrector ortográfico (se usa Aspell), las palabras clave que resaltan en el chat, los mensajes de separación para no leer, guardar los registros de chat, la capacidad de la capacidad de mostrar las direcciones de IP y los países de los usuarios de los usuarios de chat (dependen de los datos de los datos: algunos de los datos de los datos: algunos de los datos de los datos de los datos de los datos de los usuarios de los usuarios de los usuarios de los usuarios de los usuarios de los usuarios de los usuarios de Chat (dependen de los datos: algunos de los datos de los datos de los datos de los datos de los datos. usuarios habituales).
- Comandos de usuario en HUB.
- Secretario (le permite no leer toneladas de mensajes inútiles en muchos chats para encontrar algo interesante, por ejemplo, mensajes con enlaces magnéticos o con palabras clave).
- Configuración de atajos de teclado flexibles.
- Notificaciones de texto y sonido para diferentes eventos.
- Destacación de duplicados en archivos compartidos.
- Configuración flexible para archivos hash (velocidad de hash, filtros para ignorar archivos, etc.).
- Indicador del progreso del hash en la barra de estado del programa.
- Herramienta especial para calcular TTH para cualquier archivo (sin necesidad de compartir este archivo) y preparar el enlace magnet o el enlace de maget web para él.
- Soporte de limitaciones de velocidad de descarga/carga (permanente o por horario).
- Soporte de limitaciones por tamaño de archivos compartidos. (Sí, esta es una característica cuestionable, pero los usuarios lo exigen altamente).
- Soporte del manejo de enlaces magnet, enlaces de imán web y enlaces de concentración transferidos a través de la línea de comandos desde otros programas (por ejemplo, desde navegadores web).
- Soporte de archivos arrastrar y soltar en el campo para ingresar mensajes (si el archivo está presente en la lista de archivos de usuario, se agregará el enlace magnet).
- Soporte de respuestas automáticas a mensajes privados en caso de ausente del usuario.
- Soporte de extensiones de usuario en QTScript (solo en GUI basado en QT en GNU/Linux) y en LUA (en todos los sistemas compatibles).
- Soporte de IDN2 (reconocimiento de nombres nacionales de dominio).
- Soporte de cadenas codificadas por URL para direcciones Hub.
- Soporte del cifrado de tráfico.
Historia de versiones
Ver archivo ChangeLog.txt.
Instalación
Para la compilación de las fuentes, consulte el archivo de instalación.
Los usuarios de GNU/Linux y FreEBSD pueden instalar paquetes de repositorios oficiales y no oficiales, puertos, etc.
Los usuarios de MacOS pueden instalar y actualizar compilaciones oficiales utilizando un barril de cerveza casera:
brew install --cask eiskaltdcpp
O descargue los paquetes de aplicaciones de SourceForge e instálelos manualmente. El programa no tiene un mecanismo de actualizaciones integrado, por lo que en este caso los usuarios deben monitorear las actualizaciones.
Los usuarios de Haiku pueden instalar el paquete oficial desde HaikUports:
pkgman install eiskaltdcpp
Los usuarios de MS Windows pueden descargar instaladores oficiales y compilaciones portátiles desde SourceForge. El programa no tiene un mecanismo de actualizaciones integrado, por lo que los usuarios deben monitorear las actualizaciones.
Uso
EISKALTDC ++ está diseñado principalmente para usuarios experimentados que saben cómo funciona DC, qué configuraciones deben usarse con su tipo de conexión de red, etc. Esta breve introducción no está destinada a describir tales cosas básicas.
Aquí hay pequeñas recomendaciones para la configuración inicial después del primer lanzamiento del programa:
- Abra el cuadro de diálogo de preferencias y establezca el apodo (¡es importante!), Codificación predeterminada para centros de CC (por ejemplo, Windows-1251 para centros rusos), tipo de conexiones entrantes (modo activo, firewall con UPNP o modo pasivo) y directorio de descargas.
- Abra el widget de los centros públicos y conéctese a pocos centros públicos populares (puede clasificar la lista por cantidad de usuarios o por cantidad total de datos compartidos).
- Abra el widget de búsqueda e intente buscar en cualquier archivo popular. (No olvide usar espacios como separador de palabras).
- Agregue pocos centros a la lista de centros favoritos y habilite la conexión automática a los centros durante el inicio del programa.
- La configuración del programa se guardará en la salida del programa.
Todos los programas del proyecto EISKALTDC ++ ( eiskaltdcpp-qt , eiskaltdcpp-gtk y eiskaltdcpp-daemon ) usan la misma configuración común. Entonces, una vez que haya configurado correctamente las conexiones en EISKALTDC ++ QT, por ejemplo, puede iniciar eiskaltdcpp-daemon y usar la interfaz de usuario web para gobernarla (busque archivos, agregarlos a las descargas de cola, etc.).
Desarrollo
Durante el desarrollo EISKALTDC ++ en los últimos años hemos utilizado diferentes CV (subversión primero y luego GIT) y diferentes modelos de desarrollo. Actualmente el proceso se ve así:
- Todo el desarrollo de se realiza en la rama
work Git o ramas especiales (características) separadas de la rama work . - El archivo ChangeLog debe actualizarse junto con los cambios en el código fuente. Se puede hacer en una misma confirmación de GIT o en una confirmación de GIT separada según la situación. Solo usa el sentido común para esto. (No hubo regla de actualización de cambios de cambio en el pasado que conduce a una retraso significativa de las versiones estables).
- Una vez que los cambios de la rama
work están listos para el uso y la construcción del programa para los sistemas más importantes (Linux, MacOS, Windows), pueden fusionarse con la rama master . - Se deben hacer construcciones diarias de programas para probadores, usuarios activos y solo personas curiosas de Git
master Branch. - El esquema de versiones para las construcciones de las instantáneas de GIT debería parecerse:
<major>.<minor>.<patch>-<commits>-g<hash> (donde <major> , <minor> y <patch> no son dígitos sino números). <major>.<minor>.<patch> es la última etiqueta GIT (para la versión estable), <commits> - El número de compromisos desde la última etiqueta GIT y <hash> - Hash corta de la confirmación actual de GIT. - Una vez que haya una cantidad notable de cambios desde la última versión estable o si hay correcciones de errores muy importantes que deben entregarse rápidamente a los usuarios, se crea una nueva etiqueta GIT (
v<major>.<minor>.<patch> ) y los tarballs con fuentes se cargan a SourceForge. - En caso de cambios notables en el núcleo del programa (biblioteca libeiskaltdcpp), se debe cambiar la parte
<minor> o <major> de la versión del programa. - En el caso de cambios significativos (por ejemplo, la refactorización total del código) en cualquier parte del programa, se debe cambiar la parte
<minor> o <major> de la versión del programa. - En caso de cuando sean muy pocos cambios desde la última versión estable, pero son importantes y deben entregarse rápidamente a los usuarios, la parte
<patch> de la versión del programa debe cambiarse. - No hay límites para los cambios adecuados para un nuevo lanzamiento
<patch> si no afectan el núcleo del programa: pueden contener nuevas características y cambios notables en cualquier parte de la GUI.
Durante el desarrollo, todos los cambios se prueban en los servicios de integración continua Travis CI y Sibuserv CI.
Desarrolladores
Desarrolladores principales
- Los principales desarrolladores de EISKALTDC ++ se enumeran en el archivo de autores.
- El programa contiene código fuente de otros proyectos gratuitos y de código abierto. Toda la información de derechos de autor de ellos se documenta pedanticamente en un archivo especial.
- Parte del programa con GTK+ UI contiene créditos adicionales. Txt. (Esta es solo una lista de colaboradores de proyectos LinuxDC ++ y FreedC ++, no todos son titulares de derechos de autor).
Otros contribuyentes
Hay muchas personas que participaron en el desarrollo de EiskaltDC ++. Algunos de ellos se enumeran en los encabezados de licencias en los archivos de origen, algunos de ellos solo se pueden encontrar en la historia de los compromisos en nuestro repositorio Git. También hay traductores, probadores y solo usuarios activos. ¡Estamos agradecidos con todos ellos!
Cómo puedes ayudar
Informes de errores
Si encontró un error, informe al respecto en nuestro rastreador de errores.
Prueba beta
Puede usar compilaciones diarias de programa o programa compilados de fuentes por usted mismo (de Git master Branch) para probar y sugerir nuevas funciones, y para informar sobre nuevos errores (si suceden).
Comentarios y deseos
Nos gustan los comentarios constructivos y los deseos a las funciones del programa. Puede comunicarse con nosotros en la sala de chat pública para discutir sus ideas. Algunos de ellos se elaborarán como solicitudes de funciones en nuestro rastreador de errores.
Traducciones
El trabajo de los traductores es bastante rutinario y aburrido. Las personas que lo hacen generalmente pierden intereses y sus traducciones se vuelven incompletas. Si ve tal situación para la traducción a su idioma nativo, únase a nuestro equipo de traducciones. ¡Es extremadamente bienvenido!
Algunas notas útiles sobre el proceso de traducción que puede encontrar en la página Wiki especial.
Gráficos
Hay muchas formas de contribuir al proyecto EISKALTDC ++, si cree que puede hacer un mejor trabajo con cualquiera de los gráficos EISKALTDC ++, ¡entonces adelante!
Programación
¡Los parches son bienvenidos! Póngase en contacto con los desarrolladores de EISKALTDC ++ si está trabajando en ellos.
Embalaje
Actualmente tenemos mantenedores de paquetes activos para las distribuciones de Debian y Ubuntu, para MacOS y MS Windows. Si tiene sugerencias sobre la mejora del embalaje, solo contacte con ellos.
Si desea preparar construcciones personales de EISKALTDC ++ para los sistemas MS Windows y MacOS, ¡es muy bienvenido! Podemos agregar enlaces a ellos a nuestra documentación. Convertirse en un mantenedor oficial de estos sistemas es más complicado, pero también posible.
Para otros sistemas GNU/Linux y *BSD, la situación es bastante clara: solo actualice los paquetes (PKGBuild, Ebuild, etc.) en repositorios oficiales de sus distribuciones favoritas o haga un archivo de paquete personal (PPA) con ellos. Agregaremos enlaces a nuestra documentación.
Donaciones
No aceptamos donaciones para el proyecto EISKALTDC ++ en su conjunto, porque no hay gastos por infraestructura y similares. (¡Gracias a los propietarios de Github, SourceForge, Transifex y Travis CI Services por su apoyo a los proyectos FOSS!)
Pero puede enviar donaciones a los contribuyentes de proyectos (desarrolladores, mantenedores, traductores, etc.) de manera personal. Simplemente comuníquese con ellos utilizando la información de contacto del archivo de autores.
Paquetes e instaladores
- PPA oficial para Ubuntu y distribuciones basadas en él (lanzamientos estables)
- PPA oficial para Ubuntu y distribuciones basadas en él (construcciones diarias)
- Paquetes Snap oficiales para Ubuntu y otras distribuciones (construcciones diarias)
- Construcciones oficiales para Windows
- Construcciones oficiales para macOS
- Construcciones oficiales para Linux
- Paquetes oficiales en Debian
- Paquetes oficiales en Ubuntu
- Paquetes oficiales en Fedora
- Paquetes oficiales en Gentoo Linux
- Paquetes oficiales en Alt Linux
- Paquetes oficiales en Haiku
- Paquetes oficiales en FreeBSD
- Paquetes para OpenSuse (oficial y no oficial)
- Paquetes para Arch Linux (en Aur)
- Paquetes para diferentes distribuciones de Linux (el mejor agregador de enlaces)
- Paquetes para diferentes distribuciones de Linux (agregador alternativo de enlaces)
- PPA no oficial para Debian y Ubuntu (mantenido por Alex_P)
- MacPorts (MacOS 10.5+)
Enlaces adicionales
- Estadísticas del proyecto en Github
- Estadísticas del proyecto en OpenHub
- Proyecto Freedc ++ (fue la base de Eiskaltdcpp-GTK) (fuentes)
- UI web oficial para eiskaltdcpp-daemon (fuentes)
- UI web alternativa para eiskaltdcpp-daemon (fuentes)
- Capturas de pantalla antiguas (en inglés)
- Viejas capturas de pantalla (en ruso)
- Notas antiguas sobre Eiskaltdc ++ (en ruso)
- Notas antiguas sobre FreedC ++ (en ruso)
- Preguntas frecuentes antiguas sobre eiskaltdc ++ (en ruso)
- Configuración de la intercepción de enlaces magnéticos de los navegadores web (en ruso)
- Revisión de clientes de DC para Linux (en ruso)
- DC ++ y programas basados en él en Wikipedia (en inglés)
- DC ++ y programas basados en él en Wikipedia (en ruso)
- Valknut y programas basados en él en Wikipedia (en inglés)
- Eiskaltdc ++ en Wikipedia (en ruso)
¡Divertirse!