Pelacak Torrust-Actix
Deskripsi Proyek
Torrust-Actix Tracker adalah BitTorrent Tracker yang ringan namun sangat kuat dan kaya fitur yang dibuat menggunakan Rust.
Saat ini, sedang aktif digunakan di https://www.gbitt.info/.
Proyek ini berawal dari kode Torrust-Tracker yang awalnya dikembangkan oleh Mick van Dijke, dikembangkan lebih lanjut oleh Power2All sebagai alternatif untuk OpenTracker dan kode pelacak lain yang tersedia di GitHub.
Fitur
BEP yang diterapkan
- BEP 3: Protokol BitTorrent
- BEP 7: Dukungan IPv6
- BEP 15: Protokol Pelacak UDP untuk BitTorrent
- BEP 23: Pelacak Mengembalikan Daftar Rekan yang Ringkas
- BEP 41: Ekstensi Protokol Pelacak UDP
- BEP 48: Ekstensi Protokol Pelacak: Scrape
Memulai
Anda bisa mendapatkan binari terbaru dari rilis atau mengikuti petunjuk penginstalan dari awal di bawah.
Instal Dari Awal
- Kloning repositori:
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- Bangun kode sumber menggunakan Rust (pastikan Anda telah menginstal Rustup dengan cabang yang stabil)
Menggunakan skrip build
Penggunaan
Jalankan kode menggunakan argumen --help
untuk digunakan di lingkungan Anda:
./target/release/torrust-actix --help
Sebelum Anda dapat menjalankan server, Anda harus mematikan persietency, dan ketika diaktifkan, pastikan database Anda dibuat dan berfungsi. Lihat argumen bantuan di atas tentang cara memperbaiki pengaturan Anda sesuai keinginan.
Swagger UI diperkenalkan, dan ketika diaktifkan dalam konfigurasi, dapat diakses melalui API melalui /swagger-ui/
.
Dukungan Sentry.io diperkenalkan, Anda dapat mengaktifkannya di konfigurasi dan URL tempat mengirim data.
UbahLog
v4.0.4
- Implementasi lebih lanjut dari Sentry (pencatatan jejak)
v4.0.3
- Memperbaiki jalur pengumuman dan pengikisan, karena itu cara yang salah.
- Memperbaiki berbagai bug kecil yang tidak merusak aplikasi, namun harus ditangani dengan lebih baik.
- Menambahkan dukungan untuk Sentry.io SaaS dan pengaturan yang dihosting sendiri.
- Mempersiapkan pekerjaan untuk versi v4.1.0, yang akan memperkenalkan dukungan LUA untuk middleware.
v4.0.2
- Ditambahkan opsi bahwa sistem akan menghapus data dari database.
- Menambahkan variabel pembaruan untuk daftar putih/hitam dan tabel kunci.
- Mengganti nama penamaan "database" yang seharusnya menjadi "tabel".
- Banyak perbaikan dan bug yang saya temukan.
v4.0.0
- Sepenuhnya dibangun kembali dari kode pelacak, agar mudah dibaca.
- Pindah ke Actix v4, sehingga membuat versi perangkat lunak ini menjadi v4.0.0 juga.
- Membangun kembali dan membuat ulang cara file konfigurasi dibuat (Anda perlu memberikan perintah sebagai argumen untuk itu).
- Mengerjakan ulang seluruh sistem database, diuji dengan versi terbaru yang tersedia saat ini.
- API telah melalui banyak pekerjaan dan diuji.
- Memperkenalkan Swagger UI sebagai pengujian dan dokumentasi.
- Banyak peningkatan dalam kecepatan dan kinerja diterapkan lebih lanjut.
- Fungsi Impor dan Ekspor ditambahkan, akan membuang atau mengimpor dari file JSON, berguna saat membuat cadangan dari database yang ada, atau saat bermigrasi ke mesin database lain.
- Menghapus WebGUI, sudah usang dan tidak terlalu berguna.
v3.2.2
- Versi perpustakaan mengalami perubahan secara signifikan, termasuk patch keamanan.
- Memperbaiki perubahan di perpustakaan agar berfungsi dengan baik.
- Menyetel kode non-persistensi untuk menggunakan lebih sedikit memori.
v3.2.1
- Versi perpustakaan yang bermasalah, termasuk patch keamanan.
- Memperbaiki bug di pengendali PostgreSQL.
- Beberapa orang lupa penamaan dari Torrust-Axum hingga Torrust-Actix.
v3.2.0
- Versi perpustakaan terbentur.
- Memodifikasi cara penjadwalan dilakukan melalui thread, hal ini dapat mengunci dan memperlambat pelacak publik dengan aktivitas berat.
- Mengubah penggunaan database SQLite3 dan konsumsi ruang database.
- Perombakan menyeluruh tentang cara torrent dan peer digunakan dalam memori. Menggunakan skipmap crossbeam untuk berbagi memori non-penguncian yang aman untuk thread.
- Beberapa peningkatan berbeda pada kinerja pengkodean, keterbacaan, dan linting file.
- Mengganti kerangka web Tokio Axum untuk Actix, alasan: Hilangnya hal-hal penting seperti batas waktu saat terhubung, putuskan sambungan, baca dan tulis, dan dukungan tidak memuaskan.
- Mengganti nama repositori github dari torrust-axum menjadi torrust-actix.
- Menambahkan dukungan pelacakan pengguna dengan kunci tambahan.
v3.1.2
- Versi perpustakaan terbentur.
- Menambahkan file Kode Etik, karena beberapa proyek sumber terbuka memerlukannya.
- Menambahkan fungsi sakelar Pemeliharaan ke API dan WebGUI.
- File konfigurasi tidak dibuat jika tidak ada, atau memiliki data yang tidak valid, kecuali jika dipaksa dengan argumen '--create-config'.
- Memperbaiki berbagai bug kecil.
v3.1.1
- Versi perpustakaan terbentur.
- Database untuk SQLite3, MySQL dan PostgreSQL sekarang berfungsi dengan baik dengan semua tabel, dan akan digunakan jika diaktifkan.
- UDP mempunyai masalah di IPv4, memperbaiki kode untuk mengurai array byte dengan benar.
- Pembersihan dan pemfaktoran ulang beberapa kode yang berlebihan.
- Menambahkan beberapa pemeriksaan kecil jika diperlukan untuk mencegah kesalahan.
v3.1.0
- Sistem Daftar Putih: Anda dapat mengaktifkan ini untuk hanya mengizinkan penggunaan hash torrent yang Anda tentukan dalam database, atau menambahkannya melalui API.
- Sistem Daftar Hitam: Anda dapat mengaktifkan ini untuk melarang penggunaan hash torrent yang Anda tentukan dalam database, atau menambahkannya melalui API.
- Sistem Kunci: Anda dapat mengaktifkan ini untuk hanya mengizinkan pelacakan ketika hash "kunci" yang diaktifkan (sama seperti info_hash, 20 byte atau 40 karakter hex) diberikan. Kunci dengan batas waktu nol "0" akan bersifat permanen dan tidak akan dihapus oleh pembersihan.
- WebGUI: API memiliki antarmuka web yang tersedia, yang dapat diakses melalui https://your.api:8080/webgui/ dan memberikan Kunci API yang benar, yang Anda konfigurasikan di file konfigurasi.
- Struktur database yang dapat disesuaikan dapat diberikan dalam file konfigurasi.
- Sistem ini sekarang juga tersedia melalui Docker Hub di https://hub.docker.com/r/power2all/torrust-axum
v3.0.1
- Perbaikan bug
- Dukungan SQLite3 ditambahkan
- Dukungan MySQL ditambahkan
- Dukungan PostgresSQL ditambahkan
v3.0.0
Versi awal Torrust-Axum.
Kredit
Torrust-Tracker ini merupakan upaya bersama oleh Nautilus Cyberneering GmbH, Dutch Bits, dan Power2All. Juga terima kasih kepada Naim A. dan kera terbesar untuk beberapa bagian dalam kode Torrust-Tracker. Proyek ini (Torrust-Actix) dibangun dari awal oleh Power2All.