EISKALTDC ++ - Program Berbagi File Menggunakan Protokol Langsung Connect
Situs web: https://github.com/eiskaltdcpp/eiskaltdcpp
Sumber: https://github.com/eiskaltdcpp/eiskaltdcpp
Ruang obrolan publik: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Lisensi
Program ini dilisensikan di bawah Lisensi Publik Umum GNU. Lihat file menyalin untuk informasi lebih lanjut.
Keterangan
Eiskaltdc ++ adalah program lintas platform yang menggunakan protokol Direct Connect (DC AKA NMDC) dan Advanced Direct Connect (ADC). Ini kompatibel dengan DC ++, AIRDC ++, FlyLinkDC ++ dan klien DC lainnya. Eiskaltdc ++ juga beroperasi dengan semua perangkat lunak DC Hub yang umum.
Sistem yang didukung saat ini (dalam urutan penurunan kepentingan): GNU/Linux, MacOS, MS Windows, Freebsd, Haiku dan GNU/Hurd.
Fitur yang Didukung Saat Ini (Bukan Daftar Lengkap):
- Program dengan antarmuka pengguna grafis (UI) pada QT (Main) dan GTK+ (alternatif), ditambah daemon yang dapat dikontrol dari baris perintah atau dari Web UI (terhubung melalui JSON-RPC).
- Unduh multi-threaded (unduh fragmen satu file dari beberapa sumber sekaligus).
- Dukungan PFSR (berbagi file parsial): Pengguna dapat mengunduh bagian file dari satu sama lain selama pengunduhan file bahkan ketika tidak ada satu pun dari mereka yang tidak memiliki file yang sepenuhnya diunduh.
- Dukungan DHT (memungkinkan seseorang untuk mencari file dengan TTH dan menukar file -file ini tanpa koneksi ke hub apa pun). Implementasi fitur ini didasarkan pada kode StrongDC ++ dan kompatibel dengan semua versi StrongDC ++, APEXDC ++, RSX ++, FlyLinkDC ++ dan Pulse ++ K di mana fitur ini ada. (Beberapa klien DC telah menjatuhkan dukungan fungsi ini dalam versi terbaru.)
- Dukungan UPNP (menyederhanakan konfigurasi koneksi jaringan ketika router Wi-Fi pengguna mendukung fitur ini).
- Dukungan pengikatan ke antarmuka atau alamat jaringan tertentu (jika sistem pengguna memiliki beberapa koneksi jaringan secara bersamaan).
- Dukungan Pembaruan Otomatis dari Alamat IPv4 Eksternal melalui Layanan Dyndns.
- Dukungan daftar file yang sensitif terhadap kasus. Fitur ini sangat penting pada semua sistem yang didukung kecuali MS Windows (bahkan NTFS mendukung nama file case-sensitive, tetapi MS Windows tidak menggunakan fitur ini.).
- Antarmuka pengguna diterjemahkan ke banyak bahasa.
- Program GUI memungkinkan untuk menempatkan daftar widget di sidebar, pada panel tabbar multiline atau pada tabbar baris tunggal.
- Program GUI Berdasarkan QT memiliki dukungan untuk menyembunyikan menu program (akan tersedia dengan tombol khusus untuk toolbar).
- Pencarian lanjutan dengan kemampuan untuk mengelompokkan hasil; Daftar Hitam untuk Hasil Pencarian.
- Daftar file yang diunduh dan diunggah; Kemampuan untuk menyimpan log unduhan.
- Daftar hub publik dan favorit. Daftar pusat publik memiliki banyak sumber; Hub favorit sangat fleksibel dalam fitur konfigurasi.
- Daftar pengguna favorit (mereka akan menerima slot tambahan untuk mengunduh file, dll.).
- Daftar transfer aktif (unduhan/unggahan), termasuk antrian pengguna yang menunggu slot (pengguna dapat memberikan hibah sementara slot tambahan untuk mereka).
- Pengaturan fleksibel untuk mengunduh file (daftar direktori tujuan, direktori untuk unduhan yang tidak lengkap, batasan jumlah unduhan simultan, transfer terkompresi, cek jumlah cek, dll.).
- Indikator ruang bebas pada disk di mana direktori unduhan utama berada.
- Dukungan filter IP dan antispam dasar.
- Cari Spy (memungkinkan seseorang untuk melihat frasa pencarian yang mengirim pengguna lain, tetapi tanpa mengidentifikasi pengguna tentu saja).
- Pencarian ADL dengan dukungan untuk ekspresi reguler gaya Perl (menggunakan PCRE Library).
- Filter fleksibel (dengan dukungan ekspresi reguler) di daftar pengguna, hasil pencarian, daftar hub publik, daftar file, dll. (Gunakan ## <2 <regexp> string dan baca tentang sintaks QT QREGEXP.)
- Obrolan berfitur lengkap (font yang berbeda, pewarnaan nick, penguraian tautan magnet dan tautan lainnya, emotikon, pencarian obrolan, perintah obrolan, dukungan bbcode, menonaktifkan/mengaktifkan/menghapus obrolan, pemeriksaan ejaan (aspell digunakan), kata-kata kunci untuk pemisah ini, pemisah yang tidak dibaca, menyimpan log obrol pengguna).
- Perintah Pengguna di Hub.
- Sekretaris (memungkinkan Anda tidak membaca banyak pesan yang tidak berguna dalam banyak obrolan untuk menemukan sesuatu yang menarik, misalnya, pesan dengan tautan magnet atau dengan kata kunci).
- Pengaturan pintasan keyboard fleksibel.
- Pemberitahuan teks dan suara untuk berbagai acara.
- Menyoroti duplikat dalam file bersama.
- Pengaturan fleksibel untuk file hashing (kecepatan hashing, filter untuk mengabaikan file, dll.).
- Indikator kemajuan hashing di bilah status program.
- Alat Khusus untuk Menghitung TTH untuk file apa pun (tanpa perlu berbagi file ini) dan menyiapkan tautan magnet atau tautan Web Maget untuk itu.
- Dukungan keterbatasan kecepatan unduhan/unggah (permanen atau jadwal).
- Dukungan keterbatasan berdasarkan ukuran file bersama. (Ya, ini adalah fitur yang dipertanyakan, tetapi sangat dituntut oleh pengguna.)
- Dukungan penanganan tautan magnet, tautan magnet web dan tautan hub yang ditransfer melalui baris perintah dari program lain (misalnya dari browser web).
- Dukungan file drag-and-drop ke bidang untuk memasukkan pesan (jika file hadir dalam daftar file pengguna, tautan magnet ke sana akan ditambahkan).
- Dukungan balasan otomatis ke pesan pribadi jika tidak ada pengguna.
- Dukungan ekstensi pengguna pada QTScript (hanya di GUI berbasis QT di GNU/Linux) dan pada LUA (di semua sistem yang didukung).
- Dukungan IDN2 (pengakuan nama domain nasional).
- Dukungan string yang dikodekan URL untuk alamat hub.
- Dukungan enkripsi lalu lintas.
Sejarah Versi
Lihat file changelog.txt.
Instalasi
Untuk build dari sumber lihat file instal.
Pengguna GNU/Linux dan FreeBSD dapat menginstal paket dari repositori resmi dan tidak resmi, port, dll.
Pengguna MacOS dapat menginstal dan memperbarui bangunan resmi menggunakan tong homebrew:
brew install --cask eiskaltdcpp
atau unduh bundel aplikasi dari SourceForge dan instal secara manual. Program tidak memiliki mekanisme pembaruan yang tertanam, jadi dalam hal ini pengguna harus memantau pembaruan sendiri.
Pengguna haiku dapat menginstal paket resmi dari haikuports:
pkgman install eiskaltdcpp
Pengguna MS Windows dapat mengunduh installer resmi dan build portabel dari SourceForge. Program tidak memiliki mekanisme pembaruan yang tertanam, sehingga pengguna harus memantau pembaruan sendiri.
Penggunaan
Eiskaltdc ++ sebagian besar dirancang untuk pengguna berpengalaman yang tahu cara kerja DC, pengaturan mana yang harus digunakan dengan jenis koneksi jaringan mereka, dll. Pendahuluan singkat ini tidak dimaksudkan untuk menggambarkan hal -hal dasar tersebut.
Berikut adalah rekomendasi kecil untuk konfigurasi awal setelah peluncuran program pertama:
- Dialog Buka Preferensi dan Tetapkan Nama Panggilan (penting!), Pengkodean default untuk hub DC (misalnya, Windows-1251 untuk hub Rusia), jenis koneksi yang masuk (mode aktif, firewall dengan mode UPNP atau pasif) dan unduhan direktori.
- Buka widget hub publik dan sambungkan ke beberapa hub publik populer (Anda dapat mengurutkan daftar berdasarkan jumlah pengguna atau dengan jumlah total data bersama).
- Buka widget pencarian dan coba cari file populer apa pun. (Jangan lupa menggunakan spasi sebagai pemisah kata.)
- Tambahkan beberapa hub ke daftar hub favorit dan aktifkan koneksi otomatis ke hub selama startup program.
- Pengaturan program akan disimpan di pintu keluar program.
Semua program dari proyek eiskaltdc ++ ( eiskaltdcpp-qt , eiskaltdcpp-gtk dan eiskaltdcpp-daemon ) menggunakan pengaturan umum yang sama. Jadi setelah Anda mengkonfigurasi koneksi dengan benar di eiskaltdc ++ qt, misalnya, Anda dapat meluncurkan eiskaltdcpp-daemon dan menggunakan Web UI untuk memerintah (cari file, tambahkan mereka untuk mengunduh antrian, dll.).
Perkembangan
Selama pengembangan eiskaltdc ++ dalam beberapa tahun terakhir kami telah menggunakan CV yang berbeda (subversi pertama dan kemudian GIT) dan model pengembangan yang berbeda. Saat ini prosesnya terlihat seperti ini:
- Semua pengembangan dilakukan dalam cabang
work git atau cabang khusus (fitur) yang terlepas dari cabang work . - File Changelog harus diperbarui bersama dengan perubahan kode sumber. Ini dapat dilakukan dalam komit git yang sama atau dalam komit git terpisah tergantung pada situasi. Cukup gunakan akal sehat untuk ini. (Tidak ada aturan memperbarui log perubahan di masa lalu yang mengarah pada penundaan yang signifikan dari rilis stabil.)
- Setelah perubahan dari Cabang
work siap untuk digunakan dan pembangunan program diuji untuk sistem yang paling penting (Linux, MacOS, Windows) mereka dapat digabungkan ke master Branch. - Bangunan setiap hari program untuk penguji, pengguna aktif, dan orang -orang yang ingin tahu harus dilakukan dari Git
master Branch. - Skema Versi untuk Builds dari Snapshot Git seharusnya terlihat seperti:
<major>.<minor>.<patch>-<commits>-g<hash> (di mana <major> , <minor> dan <patch> bukan digit tetapi angka). <major>.<minor>.<patch> adalah tag git terakhir (untuk rilis stabil), <commits> - Jumlah komit sejak tag git terakhir dan <hash> - hash pendek dari komit git saat ini. - Setelah ada jumlah perubahan yang terlihat sejak rilis stabil terakhir atau jika ada perbaikan bug yang sangat penting yang harus dikirimkan dengan cepat kepada pengguna tag git baru (
v<major>.<minor>.<patch> ) dibuat dan tarballs dengan sumber diunggah ke SourceForge. - Dalam hal perubahan nyata dalam inti program (perpustakaan libeiskaltdcpp) bagian
<minor> atau <major> dari versi program harus diubah. - Dalam hal perubahan signifikan (misalnya, refactoring kode total) di bagian mana pun dari program
<minor> atau <major> bagian dari versi program harus diubah. - Dalam hal ketika di mana sangat sedikit perubahan sejak rilis stabil terakhir, tetapi mereka penting dan harus dengan cepat dikirimkan kepada pengguna, bagian dari versi
<patch> harus diubah. - Tidak ada batasan untuk perubahan yang cocok untuk pelepasan
<patch> baru jika mereka tidak mempengaruhi inti program: mereka mungkin berisi fitur baru dan perubahan nyata di bagian mana pun dari GUI.
Selama pengembangan semua perubahan diuji pada layanan integrasi berkelanjutan Travis CI dan Sibuserv CI.
Pengembang
Pengembang utama
- Pengembang utama Eiskaltdc ++ tercantum dalam file penulis.
- Program berisi kode sumber dari proyek gratis dan dan open-source lainnya. Semua informasi hak cipta dari mereka didokumentasikan secara pedanti dalam file khusus.
- Bagian dari program dengan GTK+ UI berisi file kredit.txt tambahan. (Ini hanya daftar kontributor dari proyek LinuxDC ++ dan Freedc ++, tidak semuanya adalah pemegang hak cipta.)
Kontributor lainnya
Ada banyak orang yang terlibat dalam pengembangan Eiskaltdc ++. Beberapa dari mereka terdaftar di header lisensi dalam file sumber, beberapa di antaranya mungkin hanya ditemukan dalam sejarah komit di repositori git kami. Juga ada penerjemah, penguji, dan hanya pengguna aktif. Kami berterima kasih kepada semuanya!
Bagaimana Anda bisa membantu
Laporan Bug
Jika Anda menemukan bug, silakan laporkan tentang hal itu di pelacak bug kami.
Pengujian beta
Anda dapat menggunakan program harian atau program yang dikumpulkan dari sumber sendiri (dari Git master Branch) untuk menguji dan menyarankan fitur baru, dan untuk melaporkan tentang bug baru (jika terjadi).
Komentar dan keinginan
Kami menyukai komentar konstruktif dan keinginan untuk fungsi program. Anda dapat menghubungi kami di ruang obrolan umum untuk membahas ide -ide Anda. Beberapa dari mereka akan dibuat sebagai permintaan fitur di pelacak bug kami.
Terjemahan
Pekerjaan penerjemah cukup rutin dan membosankan. Orang yang melakukannya biasanya kehilangan minat dan terjemahannya menjadi tidak lengkap. Jika Anda melihat situasi seperti itu untuk terjemahan ke bahasa ibu Anda, silakan bergabung dengan tim terjemahan kami. Ini sangat disambut!
Beberapa catatan berguna tentang proses terjemahan yang mungkin Anda temukan di halaman wiki khusus.
Grafik
Ada banyak cara untuk berkontribusi pada proyek eiskaltdc ++, jika Anda pikir Anda dapat melakukan pekerjaan yang lebih baik dengan grafik eiskaltdc ++ salah satu, maka teruskan lagi!
Pemrograman
Patch dipersilakan! Hubungi pengembang Eiskaltdc ++ jika Anda mengerjakannya.
Kemasan
Saat ini kami memiliki pemelihara paket aktif untuk distro Debian dan Ubuntu, untuk MacOS dan MS Windows. Jika Anda memiliki saran tentang peningkatan kemasan, cukup hubungi mereka.
Jika Anda ingin menyiapkan build pribadi Eiskaltdc ++ untuk sistem MS Windows dan MacOS, itu sangat disambut! Kami dapat menambahkan tautan ke mereka ke dalam dokumentasi kami. Menjadi pemelihara resmi untuk sistem ini lebih rumit, tetapi juga mungkin.
Untuk sistem GNU/Linux dan *BSD lainnya, situasinya cukup jelas: cukup perbarui paket (PKGBuilds, Ebuild, dll.) Dalam repositori resmi distribusi favorit Anda atau membuat arsip paket pribadi (PPA) dengan mereka. Kami akan menambahkan tautan ke mereka ke dalam dokumentasi kami.
Sumbangan
Kami tidak menerima sumbangan untuk proyek Eiskaltdc ++ secara keseluruhan, karena tidak ada pengeluaran untuk infrastruktur dan sejenisnya. (Terima kasih kepada pemilik layanan GitHub, SourceForge, Transifex dan Travis CI atas dukungan mereka terhadap proyek FOSS!)
Tetapi Anda dapat mengirim sumbangan ke kontributor proyek (pengembang, pengelola, penerjemah, dll.) Secara pribadi. Cukup hubungi mereka menggunakan informasi kontak dari file penulis.
Paket dan installer
- PPA resmi untuk Ubuntu dan Distro berdasarkannya (rilis stabil)
- PPA resmi untuk Ubuntu dan Distro berdasarkannya (Daily Builds)
- Paket Snap Resmi untuk Ubuntu dan Distro Lainnya (Daily Builds)
- Bangunan resmi untuk Windows
- Bangunan resmi untuk MacOS
- Bangunan resmi untuk Linux
- Paket Resmi di Debian
- Paket resmi di Ubuntu
- Paket Resmi di Fedora
- Paket resmi di Gentoo Linux
- Paket Resmi di Alt Linux
- Paket resmi di haiku
- Paket Resmi di FreebsD
- Paket untuk OpenSUSE (resmi dan tidak resmi)
- Paket untuk Arch Linux (dalam AUR)
- Paket untuk berbagai distro Linux (agregator tautan terbaik)
- Paket untuk berbagai distro Linux (agregator alternatif tautan)
- PPA tidak resmi untuk Debian dan Ubuntu (dikelola oleh Alex_p)
- MacPorts (MacOS 10.5+)
Tautan tambahan
- Statistik Proyek di GitHub
- Statistik Proyek di OpenHub
- Project Freedc ++ (adalah dasar dari eiskaltdcpp-gtk) (sumber)
- UI Web Resmi untuk Eiskaltdcpp-Daemon (Sumber)
- UI Web Alternatif untuk Eiskaltdcpp-Daemon (Sumber)
- Tangkapan layar lama (dalam bahasa Inggris)
- Tangkapan layar lama (dalam bahasa Rusia)
- Catatan Lama Tentang Eiskaltdc ++ (dalam bahasa Rusia)
- Catatan Lama Tentang Freedc ++ (dalam bahasa Rusia)
- FAQ Tua Tentang Eiskaltdc ++ (dalam bahasa Rusia)
- Menyiapkan intersepsi tautan magnet dari browser web (dalam bahasa Rusia)
- Ulasan Klien DC untuk Linux (dalam bahasa Rusia)
- DC ++ dan program berdasarkan di Wikipedia (dalam bahasa Inggris)
- DC ++ dan program berdasarkannya di Wikipedia (dalam bahasa Rusia)
- Valknut dan Program Berdasarkannya di Wikipedia (dalam bahasa Inggris)
- Eiskaltdc ++ di Wikipedia (dalam bahasa Rusia)
Selamat bersenang-senang!