Eiskaltdc ++ - programa de compartilhamento de arquivos usando protocolos de conexão direta
Site: https://github.com/eiskaltdcpp/eiskaltdcpp
Fontes: https://github.com/eiskaltdcpp/eiskaltdcpp
Sala de bate -papo público: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Licença
Este programa é licenciado sob a licença pública geral da GNU. Consulte o arquivo de cópia para obter mais informações.
Descrição
O eiskaltdc ++ é um programa de plataforma cruzada que usa os protocolos Direct Connect (DC, aka NMDC) e Advanced Direct Connect (ADC). É compatível com DC ++, AirDC ++, FlyLinkDC ++ e outros clientes DC. O eiskaltdc ++ também interoperina com todo o software de hub CC comum.
Atualmente, os sistemas suportados (em ordem de importância decrescente): GNU/Linux, MacOS, MS Windows, FreeBSD, Haiku e GNU/Hurd.
Recursos atualmente suportados (não lista completa):
- Programas com interface gráfica do usuário (UI) no QT (principal) e GTK+ (alternativa), além de daemon que podem ser controlados na linha de comando ou na interface do usuário da web (conectada via JSON-RPC).
- Download com vários threads (download fragmentos de um único arquivo de várias fontes de uma só vez).
- Suporte ao PFSR (compartilhamento de arquivos parciais): os usuários podem baixar partes do arquivo umas das outras durante o download do arquivo, mesmo quando ninguém deles não possui um arquivo totalmente baixado.
- Suporte ao DHT (permite pesquisar arquivo por TTH e trocar esses arquivos sem conexão com qualquer hub). A implementação desse recurso é baseada no código STROTDDC ++ e compatível com todas as versões de StrongDC ++, APEXDC ++, RSX ++, FlyLinkDC ++ e Pulse ++ K, onde esse recurso existe. (Alguns clientes de DC abandonaram o suporte dessa função nas últimas versões.)
- O suporte do UPNP (simplifica a configuração da conexão de rede quando o Router Wi-Fi do usuário suporta esse recurso).
- Suporte da ligação a uma interface ou endereço de rede específica (no caso de o sistema de usuário ter poucas conexões de rede simultaneamente).
- Suporte à atualização automática do endereço IPv4 externo via DynDNS Services.
- Suporte de listas de arquivos sensíveis ao caso. Esse recurso é extremamente importante em todos os sistemas suportados, exceto o MS Windows (na verdade, mesmo o NTFS suporta nomes de arquivos sensíveis ao caso, mas o MS Windows não usa esse recurso.).
- A interface do usuário é traduzida para muitos idiomas.
- Os programas da GUI permitem colocar a lista de widgets na barra lateral, no painel TabBar multilina ou no TabBar de linha única.
- O programa da GUI com base no QT tem suporte ao esconder o menu do programa (ele estará disponível por botão especial na barra de ferramentas).
- Pesquisa avançada com a capacidade de agrupar os resultados; Lista preta para resultados de pesquisa.
- Listas de arquivos baixados e carregados; Capacidade de salvar logs de downloads.
- Listas de hubs públicos e favoritos. As listas de hubs públicos têm várias fontes; Os hubs favoritos são extremamente flexíveis nos recursos de configuração.
- Listas de usuários favoritos (eles receberão slot extra para baixar arquivos, etc.).
- Lista de transferências ativas (downloads/uploads), incluindo a fila dos usuários que aguardam o slot (o usuário pode conceder temporário a slot extra para eles).
- Configurações flexíveis para baixar arquivos (listas de diretórios de destino, diretório para downloads incompletos, limitação do número de downloads simultâneos, transferências compactadas, verificação de somas de verificação etc.).
- Indicador de espaço livre no disco onde está localizado o diretório principal de downloads.
- Suporte do filtro IP e antispam básico.
- Pesquise Spy (permite ver frases de pesquisa que enviam outros usuários, mas sem identificar os usuários, é claro).
- Pesquisa ADL com suporte para expressões regulares no estilo Perl (usando a biblioteca PCRE).
- Filtro flexível (com suporte regular de expressões) na lista de usuários, resultados de pesquisa, listas de hubs públicos, listas de arquivos, etc. (use ## <regexp> string e leia sobre a sintaxe Qregexp Qregexp.)
- Bate-papo completo (fontes diferentes, coragem de niqueta, análise de links de magnéteos e outros links, emoticons, pesquisa de bate-papo, comandos de bate-papo, suporte bbcode, desabilitar/ativar/limpar bate-papo, verificação ortográfica (aspell é usada), que é o sforts e o sfortes e o sinistro e o sinistro de sforts e os sinistros do bate-papo e o que não é de lesão, que não se lidera, o que está depende de hubs e a capacidade de seleção e o sfortes e o sinistro e o sinistro e o que está no bate-papo e o que é um dos que se reúne em que os usuários do chat de que estão sendo usados, a capacidade de ser exibida, a capacidade de seleção de que a capacidade de retenção é que a capacidade de retenção de que os sinistros e os que estão. Usuários).
- Comandos do usuário no hub.
- O secretário (permite que você não leia toneladas de mensagens inúteis em muitos bate -papos para encontrar algo interessante, por exemplo, mensagens com links de ímã ou com palavras -chave).
- Configurações flexíveis de atalhos de teclado.
- Notificações de texto e som para diferentes eventos.
- Destaque de duplicatas em arquivos compartilhados.
- Configurações flexíveis para o hash de arquivos (velocidade de hash, filtros para ignorar arquivos etc.).
- Indicador de progresso do hash na barra de status do programa.
- Ferramenta especial para calcular o TTH para qualquer arquivo (sem necessidade de compartilhar esse arquivo) e preparar o link do ímã ou o link da Web Maget para ele.
- Suporte às limitações da velocidade de download/upload (permanente ou por horário).
- Suporte de limitações pelo tamanho dos arquivos compartilhados. (Sim, esse é um recurso questionável, mas é altamente exigido pelos usuários.)
- Suporte ao manuseio de links de ímã, links de ímãs da web e links de hub transferidos via linha de comando de outros programas (por exemplo, dos navegadores da Web).
- Suporte de arquivos arrastar e soltar para o campo para inserir mensagens (se o arquivo estiver presente na lista de arquivos do usuário, o link do ímã será adicionado).
- Suporte de respostas automáticas a mensagens privadas em caso de usuário ausente.
- Suporte de extensões de usuário no QTScript (apenas na GUI baseada em QT em GNU/Linux) e no Lua (em todos os sistemas suportados).
- Apoio ao IDN2 (reconhecimento dos nomes de domínio nacional).
- Suporte de seqüências de caracteres codificadas para URL para endereços de hub.
- Apoio à criptografia de tráfego.
História das versões
Consulte o arquivo changelog.txt.
Instalação
Para construir a partir de fontes, consulte o arquivo de instalação.
Os usuários GNU/Linux e FreeBSD podem instalar pacotes de repositórios oficiais e não oficiais, portos etc.
Os usuários do MacOS podem instalar e atualizar as construções oficiais usando o Cask Homebrew:
brew install --cask eiskaltdcpp
Ou faça o download dos pacotes de aplicativos do SourceForge e instale -os manualmente. O programa não possui mecanismo de atualizações incorporado; portanto, neste caso, os usuários devem monitorar as atualizações.
Os usuários do Haiku podem instalar o pacote oficial da Haikuports:
pkgman install eiskaltdcpp
Os usuários do MS Windows podem baixar instaladores oficiais e compilações portáteis do SourceForge. O programa não possui mecanismo de atualizações incorporado; portanto, os usuários devem monitorar as atualizações.
Uso
O eiskaltdc ++ é projetado principalmente para usuários experientes que sabem como o DC funciona, quais configurações devem ser usadas com seu tipo de conexão de rede, etc. Esta breve introdução não se destina a descrever essas coisas básicas.
Aqui estão pequenas recomendações para configuração inicial após o primeiro lançamento do programa:
- Dialog de preferências abertas e defina o apelido (é importante!), Codificação padrão para hubs CC (por exemplo, Windows-1251 para hubs russos), tipo de conexões de entrada (modo ativo, firewall com o Modo UPNP ou Modo Passivo) e downloads.
- Widget de hubs públicos abertos e conecte -se a poucos hubs públicos populares (você pode classificar a lista por quantidade de usuários ou por quantidade total de dados compartilhados).
- Abra o widget de pesquisa e tente pesquisar qualquer arquivo popular. (Não se esqueça de usar espaços como palavras separador.)
- Adicione poucos hubs para a lista de hubs favoritos e ativar a conexão automática aos hubs durante a inicialização do programa.
- As configurações do programa serão salvas na saída do programa.
Todos os programas do projeto Eiskaltdc ++ ( eiskaltdcpp-qt , eiskaltdcpp-gtk e eiskaltdcpp-daemon ) usam as mesmas configurações comuns. Portanto, depois de configurar corretamente as conexões no eiskaltdc ++ qt, por exemplo, você pode iniciar eiskaltdcpp-daemon e usar a interface do usuário da web para governá-lo (pesquisar arquivos, adicione-os ao download da fila, etc.).
Desenvolvimento
Durante o desenvolvimento EiskaltDC ++ nos últimos anos, usamos CVs diferentes (subversão primeiro e depois git) e diferentes modelos de desenvolvimento. Atualmente, o processo se parece com o seguinte:
- Todo o desenvolvimento de é feito no ramo
work do Git ou em ramos especiais (características) destacadas do ramo work . - O arquivo Changelog deve ser atualizado juntamente com as alterações no código -fonte. Isso pode ser feito com o mesmo comprometimento do git ou em um comprometimento do Git separado, dependendo da situação. Basta usar o bom senso para isso. (Não havia regra de atualizar o log de alterações no passado, o que leva a um atraso significativo de lançamentos estáveis.)
- Uma vez que as alterações da ramificação
work estiverem prontas para uso e a construção do programa é testada para os sistemas mais importantes (Linux, MacOS, Windows), eles podem ser fundidos para o master Branch. - Construções diárias de programa para testadores, usuários ativos e apenas pessoas curiosas devem ser feitas no Git
master Branch. - O esquema de versão para compilações a partir de instantâneos Git deve parecer:
<major>.<minor>.<patch>-<commits>-g<hash> (onde <major> , <minor> e <patch> não são dígitos, mas números). <major>.<minor>.<patch> é a última tag git (para liberação estável), <commits> - o número de commits desde a última tag git e <hash> - hash curto de comprometimento do git atual. - Uma vez que haja uma quantidade perceptível de alterações desde a última versão estável ou se houver correções de bug muito importantes que devem ser entregues rapidamente aos usuários que a nova tag git (
v<major>.<minor>.<patch> ) é criada e as tarballs com fontes são enviadas para o Sourceforge. - Em caso de alterações notáveis no núcleo do programa (biblioteca libiskaltdcpp), o
<minor> ou <major> parte da versão do programa deve ser alterado. - Em caso de alterações significativas (por exemplo, a refatoração total do código) em qualquer parte do programa, o
<minor> ou <major> parte da versão do programa deve ser alterado. - No caso de onde estão muito poucas alterações desde a última versão estável, elas são importantes e devem ser entregues rapidamente aos usuários, a parte
<patch> da versão do programa deve ser alterada. - Não há limites para alterações adequadas para um novo
<patch> lançamentos se não afetarem o núcleo do programa: eles podem conter novos recursos e mudanças notáveis em qualquer parte da GUI.
Durante o desenvolvimento, todas as mudanças são testadas nos serviços de integração contínua Travis CI e Sibuserv CI.
Desenvolvedores
Principais desenvolvedores
- Os principais desenvolvedores do eiskaltdc ++ estão listados no arquivo de autores.
- O programa contém código-fonte de outros projetos gratuitos e de código aberto. Todas as informações de direitos autorais são documentadas pedantemente em arquivo especial.
- Parte do programa com GTK+ UI contém créditos adicionais.txt arquivo. (Esta é apenas uma lista de colaboradores dos projetos LinuxDC ++ e FreedC ++, nem todos eles são detentores de direitos autorais.)
Outros colaboradores
Há muitas pessoas envolvidas no desenvolvimento do eiskaltdc ++. Alguns deles estão listados em cabeçalhos de licença nos arquivos de origem, alguns deles podem ser encontrados apenas no histórico de começos em nosso repositório Git. Também existem tradutores, testadores e apenas usuários ativos. Somos gratos a todos eles!
Como você pode ajudar
Relatórios de bug
Se você encontrou um bug, relate -o em nosso rastreador de bugs.
Teste beta
Você pode usar construções diárias de programa ou programa compilados a partir de fontes por si mesmo (do Git master Branch) para testar e sugerir novos recursos e para relatar novos bugs (se eles acontecerem).
Comentários e desejos
Gostamos de comentários construtivos e desejos de funções do programa. Você pode entrar em contato conosco na sala de bate -papo pública para discutir suas idéias. Alguns deles serão elaborados como solicitações de recursos em nosso rastreador de bugs.
Traduções
O trabalho dos tradutores é bastante rotineiro e chato. As pessoas que fazem isso geralmente perdem interesses e suas traduções se tornam incompletas. Se você vir essa situação para tradução para o seu idioma nativo, junte -se à nossa equipe de traduções. É extremamente bem -vindo!
Algumas notas úteis sobre o processo de tradução que você pode encontrar na página do Wiki Special.
Gráficos
Existem muitas maneiras de contribuir para o projeto EiskaltDC ++, se você acha que pode fazer um trabalho melhor com qualquer um dos gráficos EiskaltDC ++, depois vá em frente!
Programação
Patches são bem -vindos! Entre em contato com os desenvolvedores EiskaltDC ++, se você estiver trabalhando neles.
Embalagem
Atualmente, temos mantenedores de pacotes ativos para distritos Debian e Ubuntu, para MacOS e MS Windows. Se você tiver sugestões sobre como melhorar a embalagem, basta entrar em contato com eles.
Se você deseja preparar construções pessoais de eiskaltdc ++ para sistemas MS Windows e MacOS, é muito bem -vindo! Podemos adicionar links a eles à nossa documentação. Tornar -se um mantenedor oficial para esses sistemas é mais complicado, mas também possível.
Para outros sistemas GNU/Linux e *BSD, a situação é bastante clara: basta atualizar pacotes (PKGBuilds, Ebuild, etc.) em repositórios oficiais de suas distribuições favoritas ou fazer um arquivo de pacote pessoal (PPA) com eles. Adicionaremos links a eles à nossa documentação.
Doações
Não aceitamos doações para o projeto EiskaltDC ++ como um todo, porque não há despesas de infraestrutura e coisas semelhantes. (Agradecimentos aos proprietários do Github, Sourceforge, Transifex e Travis CI Services por seu apoio a projetos de fossa!)
Mas você pode enviar doações para colaboradores do projeto (desenvolvedores, mantenedores, tradutores etc.) de forma pessoal. Basta entrar em contato com eles usando as informações de contato do arquivo de autores.
Pacotes e instaladores
- PPA oficial para Ubuntu e distos com base nele (lançamentos estáveis)
- PPA oficial para Ubuntu e distos com base nele (diariamente construções)
- Pacotes Snap Oficiais para Ubuntu e outras distros (construções diárias)
- Construções oficiais para Windows
- Construções oficiais para macOS
- Construções oficiais para Linux
- Pacotes oficiais em Debian
- Pacotes oficiais no Ubuntu
- Pacotes oficiais em Fedora
- Pacotes oficiais no Gentoo Linux
- Pacotes oficiais no Alt Linux
- Pacotes oficiais em haiku
- Pacotes oficiais em FreeBSD
- Pacotes para OpenSuse (oficial e não oficial)
- Pacotes para Arch Linux (em AUR)
- Pacotes para diferentes distritos Linux (o melhor agregador de links)
- Pacotes para diferentes distritos Linux (agregador alternativo de links)
- PPA não oficial para Debian e Ubuntu (mantido por Alex_P)
- Macports (MacOS 10.5+)
Links extras
- Estatísticas do projeto no github
- Estatísticas do projeto no OpenHub
- Projeto Freedc ++ (era base do eiskaltdcpp-gtk) (fontes)
- UI oficial da web para eiskaltdcpp-daemon (fontes)
- UI da web alternativa para eiskaltdcpp-daemon (fontes)
- Capturas de tela antigas (em inglês)
- Capturas de tela antigas (em russo)
- Notas antigas sobre eiskaltdc ++ (em russo)
- Notas antigas sobre FreedC ++ (em russo)
- FAQ antigo sobre eiskaltdc ++ (em russo)
- Configurando a interceptação de links de ímã de navegadores da web (em russo)
- Revisão de clientes DC para Linux (em russo)
- DC ++ e programas baseados nele na Wikipedia (em inglês)
- DC ++ e programas baseados nele na Wikipedia (em russo)
- Valknut e programas baseados nele na Wikipedia (em inglês)
- Eiskaltdc ++ na Wikipedia (em russo)
Divirta-se!