eiskaltdc ++ - 使用直接连接协议的文件共享程序
网站:https://github.com/eiskaltdcpp/eiskaltdcpp
来源:https://github.com/eiskaltdcpp/eiskaltdcpp
公共聊天室:https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki:https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
执照
该计划已获得GNU通用公共许可证的许可。有关更多信息,请参见复制文件。
描述
EiskaltDC ++是一个跨平台程序,使用直接连接(DC AKA NMDC)和高级直接连接(ADC)协议。它与DC ++,AirDC ++,FlyLinkDC ++和其他DC客户兼兼容。 eiskaltdc ++也与所有常见的直流集线器软件互操作。
当前支持的系统(以减少重要性的顺序):GNU/Linux,MacOS,MS Windows,FreeBSD,Haiku和GNU/Hurd。
当前支持的功能(不是完整列表):
- QT(MAIN)和GTK+(替代)上具有图形用户界面(UI)的程序,以及可以通过命令行或Web UI控制的守护程序(通过JSON-RPC连接)。
- 多线程下载(从几个来源下载单个文件的片段)。
- PFSR的支持(部分文件共享):用户可以在文件下载过程中彼此下载文件部分,即使没有一个人没有完全下载的文件。
- DHT的支持(允许一个人通过tth搜索文件并在没有连接到任何集线器的情况下交换这些文件)。此功能的实现基于strongDC ++代码,并与所有版本的strongdc ++,apexdc ++,rsx ++,flylinkdc ++和pulse ++ k兼容。 (一些DC客户端在最新版本中删除了此功能的支持。)
- UPNP的支持(用户Wi-Fi路由器支持此功能时,简化了网络连接配置)。
- 支持绑定到特定网络接口或地址(如果用户系统同时具有很少的网络连接时)。
- 支持通过DynDNS服务自动更新外部IPv4地址。
- 支持案例敏感的文件列表。此功能在除MS Windows以外的所有受支持的系统上都非常重要(实际上,即使NTFS也支持对案例敏感的文件名称,但是MS Windows不使用此功能。)。
- 用户界面被翻译成多种语言。
- GUI程序允许将小部件列表放在侧边栏,多行Tabbar面板上或单行tabar上。
- 基于QT的GUI程序支持隐藏程序菜单(可以通过特殊按钮可用于工具栏)。
- 高级搜索具有分组结果的能力;搜索结果的黑色列表。
- 下载和上传文件的列表;能够保存下载日志。
- 公共和最喜欢的枢纽列表。公共枢纽列表有多个来源;最喜欢的轮毂在配置功能方面非常灵活。
- 喜欢的用户列表(他们将收到用于下载文件等的额外插槽)。
- 活动转移列表(下载/上传),包括等待插槽的用户队列(用户可以为其临时授予额外的插槽)。
- 用于下载文件的灵活设置(目标目录列表,不完整下载的目录,同时下载次数的限制,压缩转移,检查总和的检查总和等)。
- Main Downloads目录所在的磁盘上的可用空间指标。
- 支持IP滤波器和基本反帕姆。
- 搜索间谍(允许人们查看发送其他用户但当然没有识别用户的搜索短语)。
- ADL搜索,并支持Perl风格的正则表达式(使用PCRE库)。
- 灵活的过滤器(具有正则表达式支持)在用户列表中,搜索结果,公共集线器列表,文件列表等。
- 完整功能的聊天(不同的字体,划线着色,磁性链接解析和其他链接,表情符号,聊天搜索,聊天命令,聊天命令,bbcode支持,禁用/禁用/启用/清除聊天,拼写检查,拼写检查(使用Aspell),在聊天器中突出显示聊天器中的聊天信息,聊天的能力,某些数据的访问量(依赖iP offeres offers offers)通常用户)。
- 用户命令在集线器上。
- 秘书(允许您在许多聊天中不阅读许多无用的消息来找到有趣的东西,例如带有磁铁链接或使用关键字的消息)。
- 灵活的键盘快捷键设置。
- 不同事件的文本和声音通知。
- 在共享文件中突出显示重复项。
- 文件散列的灵活设置(哈希的速度,忽略文件的过滤器等)。
- 计划状态栏的哈希进度指标。
- 用于计算任何文件的TTH的特殊工具(无需共享此文件)并为其准备磁铁链接或Web Maget链接。
- 支持下载/上传速度的局限性(永久或按时间表)。
- 支持共享文件大小的限制。 (是的,这是可疑的功能,但用户高度要求它。)
- 支持处理磁铁链接,Web磁铁链接和集线器链接通过命令行传输的磁铁链接的支持(例如,从Web浏览器中)。
- 支持文件拖放到字段中以输入消息(如果在用户文件列表中存在文件,则将添加磁铁链接)。
- 在不存在用户的情况下,支持私人消息的自动答复。
- 对QTScript(仅在GNU/Linux中的QT GUI中)和LUA(在所有受支持的系统中)的用户扩展支持。
- IDN2的支持(对国家域名的识别)。
- 支持URL编码字符串的集线器地址。
- 支持流量加密。
版本历史
请参阅ChangElog.txt文件。
安装
有关来自源的构建,请参阅安装文件。
GNU/Linux和FreeBSD用户可以安装官方和非官方存储库,端口等的软件包。
MACOS用户可以使用Homebrows Cask安装和更新官方构建:
brew install --cask eiskaltdcpp
或从SourceForge下载应用程序捆绑包并手动安装它们。程序没有更新的嵌入式机制,因此在这种情况下,用户应自己监视更新。
Haiku用户可以从Haikuports安装官方软件包:
pkgman install eiskaltdcpp
MS Windows用户可以从SourceForge下载官方安装程序和便携式构建。程序没有更新的嵌入式机制,因此用户应自己监视更新。
用法
Eiskaltdc ++主要是为知道DC工作方式的经验丰富的用户设计的,应与他们的网络连接类型一起使用哪些设置等。此简短介绍并不旨在描述此类基本内容。
以下是第一次启动程序后初始配置的小建议:
- 打开的首选项对话框并设置昵称(这很重要!),默认编码直流集线器(例如,俄罗斯集线器的Windows-1251),传入连接的类型(活动模式,具有UPNP或被动模式的防火墙)以及下载目录。
- 打开公共枢纽小部件,并连接到少数流行的公共枢纽(您可以按用户数量或共享数据的总量进行排序)。
- 打开搜索小部件,尝试搜索任何流行的文件。 (不要忘记将空间用作单词分离器。)
- 在程序启动过程中添加几个集线器列表,并启用与集线器的自动连接。
- 程序设置将保存在程序退出中。
来自Eiskaltdc ++项目( eiskaltdcpp-qt , eiskaltdcpp-gtk和eiskaltdcpp-daemon )的所有程序都使用相同的常见设置。因此,一旦您在eiskaltdc ++ QT中正确配置了连接后,您可以启动eiskaltdcpp-daemon并使用Web UI进行统治(搜索文件,添加它们以下载排队等)。
发展
在过去几年的开发中,我们使用了不同的CVS(首先颠覆,然后是GIT)和不同的开发模型。目前的过程看起来像这样:
- 所有开发均在GIT
work部门或特殊(功能) work中完成。 - ChangElog文件应与源代码的更改一起更新。可以根据情况在同一git commit中或单独的git承诺中完成。为此使用常识。 (过去没有更新更改日志的规则,这会导致稳定发行的大量延迟。)
- 一旦
work分支的更改准备就绪,并且对大多数重要系统(Linux,MacOS,Windows)进行了程序的构建,则可以将其合并到master分支。 - 每日为测试人员,活跃用户和只是好奇的人构建程序,应该从Git
master Branch完成。 - 从Git快照构建的版本方案应该看起来像:
<major>.<minor>.<patch>-<commits>-g<hash> (其中<major> ,<minor>, <minor>和<patch>不是数字,而是数字)。 <major>.<minor>.<patch>是最后一个git标签(用于稳定发行版), <commits> - 自上次git标签和<hash>以来的提交数量 - 当前git commit的简短哈希。 - 一旦自上次稳定版本以来发生了明显的更改,或者如果有非常重要的错误修复程序,应将其快速交付给用户新的git标签(
v<major>.<minor>.<patch> 。。 - 如果程序的
<minor>核心(库LibeiskaltDCPP)发生明显变化,则应更改程序版本的<major> 。 - 如果在程序的任何部分发生重大更改(例如,
<minor>代码重构),则应更改程序版本<major>部分。 - 如果自上次稳定版本以来几乎没有更改的地方,但是它们很重要,应快速将其
<patch>部分版本的部分更改。 - 如果不影响程序的核心,则没有适用于新
<patch>发布的更改的限制:它们可能包含新功能和GUI任何部分的明显变化。
在开发过程中,所有更改均在连续集成服务Travis CI和Sibuserv CI上进行了测试。
开发人员
主要开发人员
- eiskaltdc ++的主要开发人员在作者文件中列出。
- 程序包含来自其他免费和开源项目的源代码。它们的所有版权信息都在特殊文件中进行了良好的记录。
- 使用GTK+ UI的程序的一部分包含其他Credits.txt文件。 (这只是LinuxDC ++和FreedC ++项目的贡献者的列表,并不是所有这些都是版权持有人。)
其他贡献者
有很多人参与了EiskaltDC ++的开发。其中一些位于源文件中的许可证标头中,其中一些可能仅在我们的GIT存储库中的Consits历史中找到。还有翻译人员,测试人员和活跃的用户。我们感谢他们!
您如何提供帮助
错误报告
如果您发现错误,请在我们的错误跟踪器中报告有关它。
Beta测试
您可以使用您自己(来自GIT master Branch)从源头编制的程序或程序的每日构建进行测试和建议,并报告有关新错误(如果发生的话)。
评论和愿望
我们喜欢建设性的评论,并希望对程序的功能发挥作用。您可以在公共聊天室与我们联系以讨论您的想法。其中一些将在我们的错误跟踪器中作为功能请求绘制。
翻译
翻译人员的工作是常规的和无聊的。这样做的人通常会失去兴趣,而翻译则不完整。如果您看到这样的情况转化为母语,请加入我们的翻译团队。非常欢迎!
有关翻译过程的一些有用注释,您可能会在特殊Wiki页面上找到。
图形
有很多方法可以为EiskaltDC ++项目做出贡献,如果您认为可以使用EiskaltDC ++图形做得更好,那么就可以继续前进!
编程
欢迎补丁!如果您正在研究它们,请与EiskaltDC ++开发人员联系。
包装
目前,我们为Debian和Ubuntu发行版提供了活跃的软件包维护者,MacOS和MS Windows。如果您有有关改进包装的建议,请与它们联系。
如果您想为MS Windows和MacOS系统准备eiskaltdc ++的个人构建,非常欢迎!我们可能会将其链接添加到我们的文档中。成为这些系统的官方维护者更为复杂,但也可能是可能的。
对于其他GNU/Linux和 *BSD系统,情况非常清楚:只需在您喜欢的发行版的官方存储库中更新包装(PKGBUILDS,EBUILD等),或与它们一起制作个人软件包档案(PPA)。我们将在我们的文档中添加链接。
捐赠
我们不接受整个eiskaltdc ++项目的捐款,因为没有用于基础架构等的支出。 (感谢Github,SourceForge,Transifex和Travis CI服务的所有者的支持!)
但是您可以个人向项目贡献者(开发人员,文化译本等)发送捐款。只需使用作者文件中的联系信息与他们联系。
软件包和安装程序
- 基于IT的官方PPA和ubuntu和发行版(稳定发行)
- 基于它的Ubuntu和发行版的官方PPA(每日构建)
- Ubuntu和其他发行版的官方快照包(每日构建)
- 官方建造窗户
- 官方建造MacOS
- 官方构建Linux
- Debian的官方包装
- Ubuntu的官方包裹
- 软呢帽的官方包裹
- Gentoo Linux的官方包装
- Alt Linux的官方包装
- Haiku的官方包装
- FreeBSD的官方包装
- opensuse的包装(官方和非官方)
- Arch Linux的包装(在AUR中)
- 不同Linux发行版的软件包(链接的最佳聚合器)
- 不同Linux发行版的软件包(链接的替代聚合器)
- Debian和Ubuntu的非官方PPA(由Alex_P维护)
- MacPorts(MacOS 10.5+)
额外的链接
- GitHub的项目统计数据
- OpenHub的项目统计信息
- Project freec ++(是eiskaltdcpp-gtk的基础)(来源)
- eiskaltdcpp-daemon(来源)的官方Web UI(来源)
- EiskaltDCPP-DAEMON(来源)的替代Web UI
- 旧屏幕截图(英文)
- 旧屏幕截图(俄语)
- 有关eiskaltdc ++的旧说明(俄语)
- 有关freec ++的旧说明(俄语)
- 关于eiskaltdc ++的旧常见问题(俄语)
- 设置Web浏览器(俄语)的磁铁链接的拦截
- 审查Linux的DC客户(俄语)
- DC ++和基于Wikipedia的程序(英文)
- DC ++和基于Wikipedia的程序(俄语)
- 维基百科(以英语)为基础的Valknut及其程序
- Wikipedia(俄语)的Eiskaltdc ++
玩得开心!