EISKALTDC ++ - Direct Connect 프로토콜을 사용한 파일 공유 프로그램
웹 사이트 : https://github.com/eiskaltdcpp/eiskaltdcpp
출처 : https://github.com/eiskaltdcpp/eiskaltdcpp
공개 대화방 : https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki : https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
특허
이 프로그램은 GNU 일반 공개 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 복사 파일을 참조하십시오.
설명
EISKALTDC ++는 Direct Connect (DC AKA NMDC) 및 ADC (Direct Connect) 프로토콜을 사용하는 크로스 플랫폼 프로그램입니다. DC ++, AIRDC ++, FlyLinkDC ++ 및 기타 DC 클라이언트와 호환됩니다. EISCALTDC ++는 또한 모든 일반적인 DC 허브 소프트웨어와 상호 운용합니다.
현재 지원되는 시스템 (중요성 감소 순서) : GNU/Linux, MACOS, MS Windows, FreeBSD, Haiku 및 GNU/Hurd.
현재 지원되는 기능 (전체 목록 아님) :
- QT (Main) 및 GTK+ (대체)에 그래픽 사용자 인터페이스 (UI)가있는 프로그램, 명령 줄 또는 Web UI (JSON-RPC를 통해 연결)에서 제어 할 수있는 데몬.
- 멀티 스레드 다운로드 (한 번에 여러 소스에서 단일 파일의 단편 다운로드).
- PFSR 지원 (부분 파일 공유) : 사용자 중 누구도 완전히 다운로드 한 파일이 없어도 파일 다운로드 중에 파일의 일부를 다운로드 할 수 있습니다.
- DHT 지원 (TTH에서 파일을 검색하고 허브에 연결하지 않고이 파일을 교환 할 수 있습니다). 이 기능의 구현은 StrongDC ++ 코드를 기반으로 하며이 기능이 존재하는 모든 버전의 StrongDC ++, APEXDC ++, RSX ++ 및 Pulse ++ K와 호환됩니다. (일부 DC 클라이언트는이 기능의 지원을 최신 버전으로 삭제했습니다.)
- UPNP 지원 (사용자 Wi-Fi 라우터 가이 기능을 지원할 때 네트워크 연결 구성을 단순화합니다).
- 특정 네트워크 인터페이스 또는 주소에 대한 바인딩 지원 (사용자 시스템에 네트워크 연결이 동시에없는 경우).
- Dyndns 서비스를 통한 외부 IPv4 주소의 자동 업데이트 지원.
- 사례에 민감한 파일 목록 지원. 이 기능은 MS Windows를 제외한 모든 지원되는 시스템에서 매우 중요합니다 (실제로 NTFS조차도 대소 문자에 민감한 파일 이름을 지원하지만 MS Windows는이 기능을 사용하지 않습니다).
- 사용자 인터페이스는 많은 언어로 변환됩니다.
- GUI 프로그램을 사용하면 사이드 바, 멀티 라인 탭바 패널 또는 단일 라인 탭 바에 위젯 목록을 배치 할 수 있습니다.
- QT를 기반으로 한 GUI 프로그램은 프로그램 메뉴를 숨기는 것을 지원합니다 (특별 버튼으로 도구 모음에 사용할 수 있음).
- 결과를 그룹화하는 능력을 갖춘 고급 검색; 검색 결과를위한 블랙리스트.
- 다운로드 및 업로드 된 파일 목록; 다운로드 로그를 저장하는 기능.
- 공개 및 좋아하는 허브 목록. 공개 허브 목록에는 여러 출처가 있습니다. 좋아하는 허브는 구성 기능에서 매우 유연합니다.
- 좋아하는 사용자 목록 (파일 다운로드 등을위한 추가 슬롯을 받게됩니다).
- 슬롯을 기다리는 사용자의 대기열을 포함하여 활성 전송 목록 (다운로드/업로드) (사용자는 추가 슬롯을 임시로 부여 할 수 있음).
- 파일 다운로드를위한 유연한 설정 (대상 디렉토리 목록, 불완전한 다운로드 디렉토리, 동시 다운로드 수 제한, 압축 전송, 확인 합계 확인 등).
- 메인 다운로드 디렉토리가있는 디스크의 여유 공간 표시기.
- IP 필터 및 기본 안티 스팸 지원.
- 검색 스파이 (다른 사용자를 보내는 검색 문구를 볼 수 있지만 물론 사용자를 식별하지는 않습니다).
- PERL 스타일 정규 표현식 (PCRE 라이브러리 사용)을 지원하는 ADL 검색.
- 사용자 목록, 검색 결과, 공개 허브 목록, 파일 목록 등의 Flexible Filter (정규 표현식 지원) ..
- 전체 기능을 갖춘 채팅 (다른 글꼴, Nick Coloring, 자석 링크 및 기타 링크 및 기타 링크, 이모티콘, 채팅 검색, 채팅 명령, BBCode 지원, 채팅에서의 키워드 비활성화/활성화/명확한 채팅 (Aspell은 사용), 채팅 로그를위한 분리기, 채팅 로그를위한 분리기, 채팅에 의존하는 능력 및 HUB 설정에 의존하는 기능을 표시합니다. 일반적인 사용자).
- 허브에서 사용자 명령.
- 비서 (비서 (많은 채팅에서 쓸모없는 메시지를 많이 읽지 않아 자석 링크가있는 메시지 나 키워드가 포함 된 흥미로운 것을 찾을 수 있습니다).
- 유연한 키보드 바로 가기 설정.
- 다른 이벤트에 대한 텍스트 및 사운드 알림.
- 공유 파일의 중복 강조.
- 파일 해싱의 유연한 설정 (해싱 속도, 파일 무시하기위한 필터 등).
- 프로그램 상태 표시 줄에서 해싱 진행의 지표.
- 모든 파일에 대한 TTH 계산을위한 특수 도구 (이 파일을 공유 할 필요없이) 마그넷 링크 또는 웹 마제 링크를 준비합니다.
- 다운로드/업로드 속도 제한 지원 (영구 또는 시간표).
- 공유 파일의 크기에 따른 제한 지원. (예, 이것은 의심스러운 기능이지만 사용자가 강력하게 요구합니다.)
- 다른 프로그램 (예 : 웹 브라우저에서)에서 명령 줄을 통해 전송 된 자석 링크, 웹 마그넷 링크 및 허브 링크 처리 지원.
- 파일 지원 메시지를 입력하기 위해 필드로 드래그 앤 드롭 (파일이 사용자 파일 목록에있는 경우 자석 링크가 추가됩니다).
- 사용자가없는 경우 개인 메시지에 대한 자동 응답 지원.
- QTScript (GNU/Linux의 QT 기반 GUI) 및 LUA (모든 지원되는 시스템)에서 사용자 확장 지원.
- IDN2 지원 (국가 도메인 이름의 인식).
- 허브 주소를위한 URL 인코딩 문자열 지원.
- 트래픽 암호화 지원.
버전의 역사
changelog.txt 파일을 참조하십시오.
설치
소스에서 빌드는 설치 파일을 참조하십시오.
GNU/Linux 및 FreeBSD 사용자는 공식 및 비공식 저장소, 포트 등의 패키지를 설치할 수 있습니다.
MACOS 사용자는 홈 브루 캐스크를 사용하여 공식 빌드를 설치하고 업데이트 할 수 있습니다.
brew install --cask eiskaltdcpp
또는 Sourceforge에서 앱 번들을 다운로드하여 수동으로 설치하십시오. 프로그램에는 업데이트 메커니즘이 포함되어 있지 않으므로이 경우 사용자는 업데이트 자체를 모니터링해야합니다.
Haiku 사용자는 Haikuports에서 공식 패키지를 설치할 수 있습니다.
pkgman install eiskaltdcpp
MS Windows 사용자는 SourceForge에서 공식 설치자 및 휴대용 빌드를 다운로드 할 수 있습니다. 프로그램에는 업데이트 메커니즘이 포함되어 있지 않으므로 사용자는 업데이트 자체를 모니터링해야합니다.
용법
EISKALTDC ++는 주로 DC 작동 방식을 알고있는 숙련 된 사용자를 위해 설계되었습니다. 네트워크 연결 유형과 함께 사용해야하는 설정은 어떤 설정 등을 사용해야합니다.이 짧은 소개는 그러한 기본 사항을 설명하기위한 것이 아닙니다.
다음은 처음 프로그램을 시작한 후 초기 구성에 대한 작은 권장 사항입니다.
- 열린 환경 설정 대화 상자 및 설정 별명 (중요합니다!), DC 허브에 대한 기본 인코딩 (예 : 러시아 허브 용 Windows-1251), 들어오는 연결 유형 (활성 모드, UPNP 또는 수동 모드가있는 방화벽) 및 디렉토리를 다운로드합니다.
- 공개 허브 위젯을 열고 인기있는 공개 허브에 연결합니다 (사용자 수 또는 총 공유 데이터 양으로 목록을 정렬 할 수 있음).
- 검색 위젯을 열고 인기있는 파일을 검색하십시오. (공백을 단어 분리기로 사용하는 것을 잊지 마십시오.)
- 좋아하는 허브 목록에 허브가 거의없고 프로그램 시작 중에 허브에 자동 연결을 활성화하십시오.
- 프로그램 출구에 프로그램 설정이 저장됩니다.
EISCALTDC ++ 프로젝트 ( eiskaltdcpp-qt , eiskaltdcpp-gtk 및 eiskaltdcpp-daemon )의 모든 프로그램은 동일한 공통 설정을 사용합니다. 예를 들어, eiskaltdc ++ QT에서 연결을 올바르게 구성한 후에는 eiskaltdcpp-daemon 시작하고 웹 UI를 사용하여 배제 할 수 있습니다 (검색 파일, 다운로드 큐에 추가).
개발
지난 몇 년 동안 EiskAltdc ++ 개발 중에 우리는 다른 CVS (우선 및 GIT)와 다른 개발 모델을 사용했습니다. 현재 프로세스는 다음과 같습니다.
- 모든 개발은 Git
work Branch 또는 Special (기능) 지점에서 분리 된 work 에서 수행됩니다. - changelog 파일은 소스 코드의 변경 사항과 함께 업데이트되어야합니다. 상황에 따라 동일한 GIT 커밋 또는 별도의 GIT 커밋에서 수행 될 수 있습니다. 이를 위해 상식을 사용하십시오. (과거에는 변경 로그를 업데이트하는 규칙이 없었으며, 이로 인해 안정적인 릴리스가 크게 지연됩니다.)
-
work 지점의 변경 사항이 사용될 준비가되고 프로그램 빌드가 가장 중요한 시스템 (Linux, MacOS, Windows)에 대해 테스트되면 master 브랜치로 병합 될 수 있습니다. - 테스터, 활동적인 사용자 및 호기심 많은 사람들을위한 매일 프로그램 구축은 Git
master Branch에서 수행해야합니다. - git 스냅 샷의 빌드에
<major> 버전 구성표 <minor> <major>.<minor>.<patch>-<commits>-g<hash> 과 같아야 <patch> . <major>.<minor>.<patch> <hash> <commits> - 마지막으로 안정적인 릴리스 이후 눈에 띄는 양의 변경 사항이 있거나 매우 중요한 버그 수정이있는 경우 사용자에게 빠르게 전달 해야하는 새로운 GIT 태그 (
v<major>.<minor>.<patch> )가 생성되고 소스가 포함 된 Tarballs가 Sourceforge에 업로드됩니다. - 프로그램의 핵심 변경이 눈에 띄는 경우 (Library Libeiskaltdcpp)
<minor> 또는 <major> 프로그램 버전의 일부를 변경해야합니다. - 프로그램의 어느 부분에서든 상당한 변경 (예 : 총 코드 리팩토링)의 경우
<minor> 또는 <major> 프로그램 버전의 일부를 변경해야합니다. - 마지막으로 안정적인 릴리스 이후 거의 변경되지 않은 경우, 중요하지만 중요하고 사용자에게 신속하게 전달해야합니다. 프로그램 버전의
<patch> 를 변경해야합니다. - 프로그램의 핵심에 영향을 미치지 않으면 새로운
<patch>
개발 중에 모든 변경 사항은 지속적인 통합 서비스 Travis CI 및 Sibuserv CI에서 테스트됩니다.
개발자
주요 개발자
- EISKALTDC ++의 주요 개발자는 저자 파일에 나열되어 있습니다.
- 프로그램에는 다른 무료 및 오픈 소스 프로젝트의 소스 코드가 포함되어 있습니다. 그들로부터의 모든 저작권 정보는 특수 파일에 과학적으로 문서화되어 있습니다.
- GTK+ UI를 사용한 프로그램의 일부에는 추가 크레딧이 포함되어 있습니다 .txt 파일. (이것은 LinuxDC ++ 및 Freedc ++ 프로젝트의 기고자 목록 일뿐입니다. 모두가 저작권 보유자가 아닙니다.)
다른 기고자
EISCALTDC ++ 개발에 참여한 많은 사람들이 있습니다. 그들 중 일부는 소스 파일의 라이센스 헤더에 나열되어 있으며, 그 중 일부는 Git 저장소의 커밋 이력에서만 찾을 수 있습니다. 또한 번역가, 테스터 및 적극적인 사용자가 있습니다. 우리는 그들 모두에게 감사합니다!
당신이 도울 수있는 방법
버그 보고서
버그를 찾은 경우 버그 추적기에서보고하십시오.
베타 테스트
새로운 기능을 테스트하고 제안하고 새로운 버그에 대한보고 (발생하는 경우)를 위해 직접 소스 (Git master Branch)에서 컴파일 된 프로그램 또는 프로그램 빌드를 사용할 수 있습니다.
의견과 소원
우리는 건설적인 의견을 좋아하고 프로그램 기능을 원합니다. 귀하의 아이디어를 논의하기 위해 공개 대화방에서 저희와 연락 할 수 있습니다. 그들 중 일부는 버그 추적기의 기능 요청으로 작성됩니다.
번역
번역가의 작업은 상당히 일상적이고 지루합니다. 그것을하는 사람들은 보통 관심을 잃고 번역은 불완전 해집니다. 모국어로 번역 할 상황이 보이면 번역 팀에 가입하십시오. 정말 환영합니다!
특별 위키 페이지에서 찾을 수있는 번역 과정에 대한 유용한 메모.
제도법
EISCALTDC ++ 프로젝트에 기여하는 방법에는 여러 가지가 있습니다. EiskALTDC ++ 그래픽으로 더 나은 일을 할 수 있다고 생각하면 바로 계속하십시오!
프로그램 작성
패치를 환영합니다! 작업중인 경우 EISCALTDC ++ 개발자에게 문의하십시오.
포장
현재 우리는 MacOS 및 MS Windows 용 Debian 및 Ubuntu 배포판을위한 활성 패키지 관리자를 보유하고 있습니다. 포장 개선에 대한 제안이 있으시면 연락 만하십시오.
MS Windows 및 MacOS 시스템을 위해 EISCALTDC ++의 개인 빌드를 준비하려면 매우 환영합니다! 문서에 링크를 추가 할 수 있습니다. 이러한 시스템의 공식 유지 관리자가되는 것은 더 복잡하지만 가능합니다.
다른 GNU/Linux 및 *BSD 시스템의 경우 상황이 분명합니다. 좋아하는 배포판의 공식 저장소에서 패키지 (PKGBuilds, ebuild 등)를 업데이트하거나 PPA (Personal Package Archive)를 만들어보십시오. 우리는 문서에 링크를 추가 할 것입니다.
기부
우리는 인프라 등에 대한 지출이 없기 때문에 EISKALTDC ++ 프로젝트에 대한 기부금을 전체적으로 수락하지 않습니다. (FOSS 프로젝트 지원에 대한 GitHub, Sourceforge, Transifex 및 Travis CI 서비스의 소유자 덕분에!)
그러나 개인적으로 프로젝트 기고자 (개발자, 관리자, 번역가 등)에 기부금을 보낼 수 있습니다. 저자 파일의 연락처 정보를 사용하여 그들과 연락하십시오.
패키지 및 설치자
- 우분투 및 배포판의 공식 PPA (안정적인 릴리스)
- 우분투 및 배포판의 공식 PPA (매일 빌드)
- 우분투 및 기타 배포판을위한 공식 스냅 패키지 (매일 빌드)
- Windows의 공식 빌드
- MACOS의 공식 빌드
- Linux의 공식 빌드
- 데비안의 공식 패키지
- 우분투의 공식 패키지
- 페도라의 공식 패키지
- Gentoo Linux의 공식 패키지
- Alt Linux의 공식 패키지
- 하이쿠의 공식 패키지
- freebsd의 공식 패키지
- OpenSuse 패키지 (공식 및 비공식)
- Arch Linux 패키지 (AUR)
- 다양한 Linux 배포판 패키지 (최고의 링크의 애그리 게이터)
- 다른 Linux 배포판 패키지 (링크의 대체 어 그리 게이터)
- 데비안과 우분투의 비공식 PPA (Alex_P에 의해 유지됨)
- MacPorts (MacOS 10.5+)
추가 링크
- GitHub에 대한 프로젝트 통계
- OpenHub의 프로젝트 통계
- Project Freedc ++ (eiskaltdcpppp-gtk의 기초) (출처)
- eiskaltdcpp-daemon을위한 공식 웹 UI (소스)
- eiskaltdcpp-daemon을위한 대체 웹 UI (소스)
- 오래된 스크린 샷 (영어)
- 오래된 스크린 샷 (러시아어)
- eiskaltdc ++에 대한 오래된 메모 (러시아어)
- Freedc ++에 대한 오래된 메모 (러시아어)
- eiskaltdc ++에 대한 오래된 FAQ (러시아어)
- 웹 브라우저에서 자그넷 링크의 가로 채기 (러시아어)
- Linux에 대한 DC 클라이언트 검토 (러시아어)
- DC ++ 및 Wikipedia (영어)에 기반한 프로그램
- DC ++ 및 Wikipedia (러시아어)에 기반한 프로그램
- Valknut 및 Wikipedia (영어)에 기반한 프로그램
- Wikipedia (러시아어)의 eiskaltdc ++
재미있게 보내세요!