منصوبے کے بارے میں
OpenPT ایک ہلکا پھلکا، کنفیگریشن سے چلنے والا BitTorrent ٹریکر اناؤنس ٹول ہے جس کا مقصد پرائیویٹ ٹریکر (PT) سیڈنگ کے منظرنامے ہیں۔ یہ صرف .torrent فائلوں سے کام کرتا ہے: کسی حقیقی مواد کو ڈاؤن لوڈ کرنے کی ضرورت نہیں ہوتی، اور پروگرام ایک ایسے کلائنٹ کی نقل کرتا ہے جو وقفے وقفے سے ٹریکر کو سیڈنگ اسٹیٹس، اپ لوڈ کی گئی مقدار، پورٹ اور کلائنٹ کی شناخت رپورٹ کرتا ہے۔ چونکہ یہ ڈیٹا منتقل کرنے کے بجائے نمبرز رپورٹ کرتا ہے، اس لیے یہ BitTorrent کلائنٹ کے بجائے ایک سیڈنگ-سیمولیشن یوٹیلیٹی ہے؛ ٹریکر کے قوانین اور قابل قبول استعمال کی پالیسیاں آپریٹر کی ذمہ داری رہتی ہیں۔
دستاویزی صلاحیتوں میں ٹورنٹس ڈائریکٹری کی خودکار اسکیننگ اور .torrent فائلوں کی لوڈنگ شامل ہے؛ بیک وقت سیڈز پر ایک قابل ترتیب حد (0 کا مطلب لامحدود ہے)؛ qBittorrent، Transmission، Deluge اور uTorrent کے لیے کلائنٹ سپوفنگ فائلیں؛ جیٹر اور ریفریش وقفوں کے ساتھ تین اپ لوڈ حکمت عملی (none, conservative_rate, configured_rate)؛ ٹریکر کی طرف سے واپس کیے گئے پیئرز سے متحرک طور پر مختص اپ لوڈ اسپیڈ؛ ایک ٹارگٹ شیئر ریشو جو ہدف حاصل ہونے پر ٹورنٹ کو روک دیتا ہے؛ اناؤنس ناکامی کے بعد ایکسپونینشل بیک آف ری ٹرائی؛ HTTP، HTTPS اور UDP ٹریکر سپورٹ؛ BitTorrent v1، ہائبرڈ اور v2-only انفو ہیشز؛ خراب یا ناقابل فہم ٹورنٹ فائلوں کی خودکار آرکائیونگ؛ مستقل اپ لوڈ ٹوٹلز اور تکمیل کی حالت تاکہ ری اسٹارٹ کے بعد اسے دوبارہ شروع کیا جا سکے؛ ٹورنٹ فائل حذف ہونے پر اناؤنس کا رک جانا؛ اور Prometheus-format میٹرکس کے ساتھ ایک ہیلتھ چیک اینڈ پوائنٹ۔
ڈیپلائمنٹ کے طریقے مقامی طور پر بلٹ بائنری ہیں جسے openpt --config config.toml کے طور پر شروع کیا جاتا ہے، یا شائع شدہ Docker امیج chenbin3625/openpt جسے PUID/PGID میپنگ اور ایک ./data والیم (جس میں ٹورنٹس ڈائریکٹری ہو) کے ساتھ Docker Compose کے ذریعے چلایا جاتا ہے۔ کنفیگریشن TOML ہے، جسے examples/config.example.toml سے کاپی کیا جاتا ہے، اور اس میں simultaneous_seed، client، torrents_dir، clients_dir، archive_dir، state_file، اسکین انٹرول، شٹ ڈاؤن اسٹاپ ٹائم آؤٹ، اپ لوڈ حکمت عملی اور ریٹ باؤنڈز، ratio_target، اناؤنس پورٹ/IP/IPv6، ٹریکر ٹائم آؤٹ، پراکسی (HTTP یا SOCKS5، صرف HTTP/HTTPS ٹریکرز کے لیے استعمال ہوتا ہے، جبکہ UDP ٹریکرز واضح غلطی واپس کرتے ہیں)، بیک آف لمٹس، میٹرکس لسن ایڈریس اور پاتھ، اور لاگنگ آؤٹ پٹ شامل ہیں۔
بلٹ ان Web UI کو Vite، React اور antd کے ساتھ لکھا گیا ہے اور go:embed کے ذریعے بائنری میں شامل کیا گیا ہے؛ بلٹ فرنٹ اینڈ آؤٹ پٹ کمٹ کیا گیا ہے، لہذا ایک تازہ کلون کو Go ٹول چین کے ساتھ براہ راست بلڈ یا ٹیسٹ کیا جا سکتا ہے۔ UI فعال اور غیر معمولی ٹورنٹ گنتی، موجودہ اپ لوڈ اسپیڈ، کل اپ لوڈ، اگلی اناؤنس کا وقت، فی ٹورنٹ سائز، اپ لوڈ، اسپیڈ، پیئرز اور شیئر ریشو، آخری/اگلی اناؤنس کا وقت اور وقفہ، ٹریکر ہوسٹ اور سوئچ انڈیکس، پلس اسٹیٹس اور غلطی کی تفصیلات دکھاتا ہے، جس میں کالم سورٹنگ، اسٹیٹس فلٹرنگ اور نام یا ٹریکر کے ذریعے سرچ کی سہولت موجود ہے۔ میٹرکس لسنر /metrics اور /healthz بھی فراہم کرتا ہے؛ /healthz تب بھی دستیاب رہتا ہے جب metrics.enabled غلط (false) ہو۔ SIGHUP بھیجنے سے سیٹنگز کے ایک حصے (simultaneous seeds، اپ لوڈ حکمت عملی اور ریٹس، ریشو ٹارگٹ، شٹ ڈاؤن اسٹاپ ٹائم آؤٹ، اناؤنس پورٹ/IP/IPv6، ٹریکر ٹائم آؤٹ، پراکسی اور بیک آف) دوبارہ لوڈ ہو جاتے ہیں، جبکہ کلائنٹ سپوفنگ فائلیں، ڈائریکٹریز، اسٹیٹ فائل، اسکین انٹرول، لاگ فائل اور میٹرکس/Web UI آپشنز کے لیے ری اسٹارٹ کی ضرورت ہوتی ہے۔
بائی ڈیفالٹ announce.port = 0 ہر اسٹارٹ اپ پر 49152-65535 کی رینج میں ایک رینڈم ڈائنامک پورٹ تیار کرتا ہے بجائے اس کے کہ 6881 جیسے عام ڈیفالٹس کو دوبارہ استعمال کرے۔ یہ پروجیکٹ MIT لائسنس کے تحت جاری کیا گیا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.