Reine PHP-torrent-client?
Ich bin ein Entwickler für ein PHP-CMS und ich möchte hinzufügen, eine BitTorrent-Funktion. Das CMS bereits ermöglicht Benutzern das hochladen von Dateien, die andere Benutzer können dann herunterladen, kommentieren, etc. aber ich glaube, das könnte verbessert werden (insbesondere für niedrig-Bandbreiten-sites), wenn die CMS anbieten könnten diese downloads via BitTorrent, entweder via .torrent-Metadaten-Dateien oder über magnet-links, so dass die upload-Last geteilt wird.
Scheint es ziemlich einfach, da gibt es massenhaft vorhandenen Tracker da draußen, ich könnte stecken, und der Prozess der Erstellung der erforderlichen Metadaten gut dokumentiert, aber das Letzte Stück des Puzzles ist, um die Seite zu handeln, wie ein Samen für die Dateien, falls niemand anderes seeding (zB. wenn es neu Hinzugefügt). Ich habe eine Weile suchen, aber nicht finden können jeden PHP-code die seed-Dateien über BitTorrent, entweder über einen tracker oder über das DHT. Es gibt viele frontends für die torrent-Anwendungen wie rtorrent, Vuze, etc. aber ich bin auf der Suche nach reinen PHP, da ich nicht einführen wollen, welche Abhängigkeiten können nicht erfüllt werden, die von Benutzern auf beschissen, locked-down-shared hosting accounts. Kennt jemand eine PHP-code in der Lage, die herum schwimmt, oder muss ich auf die Rolle meiner eigenen?
InformationsquelleAutor Chris Warburton | 2011-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
gut, was Sie wollen, ist theoretisch möglich.
gibt es einige Belastungen wie named virtual hosts und falsch listening-ports und Ausführungszeit Grenzen, aber theoretisch könnten Sie Folgen den Spezifikationen und tun alles, was in php. Sie können sockets öffnen und schreiben von raw-Daten auf, so dass theoretisch alles möglich ist.
aber seine völlig absurd und sinnlos.
aber Ihr problem ist nicht neu und es gibt Lösungen dafür.
sind Sie aufgerufen Vermehrung cdns.
meisten von Ihnen bieten edgecasting für die Bereitstellung von Inhalten mit hoher Geschwindigkeit und niedriger Latenz (das ist die übliche Anwendungsfall), aber Sie können auch verwenden, um das Gleichgewicht Verkehr.
meisten cdns der Anlage kostet Geld.
aber es ist ein Projekt gewidmet, um dieses sehr spezielle problem. für das Zwischenspeichern von Inhalt und stellen es für niedrige Bandbreiten-sites und nur Holen Sie es von dort.
seine sogenannten coral cdn, sollten Sie check it out. die wohl am meisten verwendete kommerzielle, sind akamai, cachefly, und level3.
InformationsquelleAutor The Surrican
Im langen Lauf Sie HABEN, um Ihre eigenen server haben, weil du einen torrent-client auf dem server mit Ihrer Datei(en) und (eine) seed(s)? Dann könnten Sie den Zugriff über php, es wäre schnell und einfach. Ich habe dies getan mit Getriebe für einen Linux-server.
InformationsquelleAutor Eric Sebasta
Kann ich nicht sehen, dass dies ein job für PHP. Wenn ich verstehe, was Sie wollen, zu tun, richtig, es funktioniert nicht bei allen auf shared-hosting aufgrund der Frist ein PHP-script ausgeführt werden können.
Jeder torrent, den upload oder download Prozess, der dauert länger als die erlaubten 30 oder 60 Sekunden hätte, um zur nächsten Seite springen, schließen, und starten Sie die Aktion. Ich kann nicht sehen wie das funktionieren könnte.
Ich denke, das beste, was Sie tun können, in PHP ist, dienen Sie einer Datei auf einem torrent-site, die kümmert sich um die Aussaat. Clearbits (SO um die monatlichen Daten-dump) könnte ein nützlicher service für, (aber es ist nicht frei.)
"PHP als ein gutes Werkzeug für jeden job" und warum verwenden es? BTW, mit der CLI-scripts, die Frist nicht gelten.
Sie sehen Einschränkungen statt Chancen. Wenn jemand hosting mit shell-Zugriff, werden Sie wahrscheinlich haben Zugang zu Ihren eigenen crontab. So können Sie in der Theorie beginnen, wie viele php-Skripte, die Sie wollen, Wann Sie wollen. Jedes Stück kann nach oben/heruntergeladen in eine solche 30er-Skript, und verwenden Sie ein control-Skript zum verwalten der Skripte zum herunterladen/uploaden/überprüfen/neu starten, jedes Stück als gebraucht.
InformationsquelleAutor Pekka 웃
Können Sie vorbei die Zeit begrenzen, PHP gesetzt hat, die standardmäßig in der php.ini-Datei. Jedoch, wenn Ihre hosts sieht Sie vielleicht sperren Sie Ihr Konto. Die meisten shared-hosting-Anbieter sperren Sie Ihr Konto, wenn Sie mehr als sagen wir 3% der Maschinen-Ressourcen. Beim schreiben einer bittorent-client in PHP ist absurd, es sei denn, Sie haben eine spezielle Maschine, um es auszuführen.
fügen Sie diese auf Ihre Konfiguration Datei oder eine Datei, die enthalten ist, auf jede Anfrage.
Beachten Sie, dass Sie geben die Zeit in Sekunden, es sei denn, Sie etwas wie die folgende
InformationsquelleAutor jcrawford
Kann sein, ich bin Jahre zu spät, aber können Sie Amazon S3 verwenden.
(Nicht nur typisch webseed.)
siehe Dokument hier:
http://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
Sie einfach laden Sie Dateien aus dem shared-server auf S3 verteilen Sie die torrent-Datei und zahlen nur für die ausgehende Bandbreite von S3.
InformationsquelleAutor Curious Sam