Hadouken (torrentklient) - mitt hobbyprojekt sen en tid tillbaks

Permalänk
Medlem

Hadouken (torrentklient) - mitt hobbyprojekt sen en tid tillbaks

Hej alla!

Under en lång tid tillbaks har jag jobbat på en BitTorrent-klient till Windows och för några månader släppte jag en första version. Jag tänkte bara höra efter lite kritik om det nu skulle vara så att någon är intresserad

Allt är skrivet i C# 4.0 (håller på med en rewrite till 5.0). Själva applikationen körs som en service eller via kommandoprompten (väljs vid installation) och har ett webbgränssnitt (baserat på uTorrents) där man sköter allt. Det finns ett plugin-API och ett HTTP API.

Källkoden finns här: https://github.com/hadouken/hdkn (instruktioner för att bygga finns här)
Hemsidan finns här: http://www.hdkn.net

All kritik är jättevälkommen och finns det frågor kan jag svara på dessa här.

Visa signatur

hm

Permalänk
Inaktiv
Skrivet av Elofsson:

Hej alla!

Under en lång tid tillbaks har jag jobbat på en BitTorrent-klient till Windows och för några månader släppte jag en första version. Jag tänkte bara höra efter lite kritik om det nu skulle vara så att någon är intresserad

Allt är skrivet i C# 4.0 (håller på med en rewrite till 5.0). Själva applikationen körs som en service eller via kommandoprompten (väljs vid installation) och har ett webbgränssnitt där man sköter allt. Det finns ett plugin-API och ett HTTP API.

Källkoden finns här: https://github.com/hadouken/hdkn (instruktioner för att bygga finns här)
Hemsidan finns här: http://www.hdkn.net

All kritik är jättevälkommen och finns det frågor kan jag svara på dessa här.

Första intrycket var: Wow! Det märks att det inte är någon amatör som står bakom det här.

Återkommer imorgon med mer feedback.

Permalänk
Medlem

Skrivit din egna implementation av BT-protokollet?

Permalänk
Medlem
Skrivet av iXam:

Skrivit din egna implementation av BT-protokollet?

Nej, bygger på MonoTorrent. Tyvärr är det en del som saknas där, så det ligger i planeringen att bygga ut MonoTorrent eller bygga egen implementation för att få med en fungerande DHT-del t.ex.

Visa signatur

hm

Permalänk
Medlem

Fräckt!

Hur många timmar skulle du uppskatta att du lagt på detta projektet?

Permalänk
Medlem
Skrivet av DUNXIII:

Fräckt!

Hur många timmar skulle du uppskatta att du lagt på detta projektet?

Svårt att uppskatta... Det har varit många omskrivningar sen starten. Skulle väl tippa på ~400 timmar.

Visa signatur

hm

Permalänk

Jag kan ingenting om något programspråk så kan ej läsa källkod eller så. Någon som är kunnig och kan gröna? Bara för att.

Visa signatur

Mitt kärnkraftverk
|Asus PRIME-B350-PLUS|PH-TC14PE_OR|Ryzen 5 1400@3890MHz|Vega 56@Vega64bios |Corsair 2x4GB 3200MHz|Corsair TX 650w Bronze|CM Storm Enforcer|AOC G2460PF / 24"144Hz FreeSync|

Permalänk
Entusiast

Om du tänk byta ut torrent-biblioteken i programmet, ta en titt på libtorrent. används i många olika torrent-klienter idag.
http://en.wikipedia.org/wiki/Libtorrent

Det gör det kanske lättare om du vill porta hela projektet över till Linux och/eller Mac OS X en dag.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

Om du tänk byta ut torrent-biblioteken i programmet, ta en titt på libtorrent. används i många olika torrent-klienter idag.
http://en.wikipedia.org/wiki/Libtorrent

Det gör det kanske lättare om du vill porta hela projektet över till Linux och/eller Mac OS X en dag.

Det beror på hur man ser det, hade jag skrivit allt i C/C++ hade jag absolut använt libtorrent (rakshashas eller rasterbars version). Nu är det ju skrivet i C# och tanken från min sida vid en eventuell omskrivning är att hålla sig Mono-kompatibel.

Visa signatur

hm

Permalänk
Entusiast
Skrivet av Elofsson:

Det beror på hur man ser det, hade jag skrivit allt i C/C++ hade jag absolut använt libtorrent (rakshashas eller rasterbars version). Nu är det ju skrivet i C# och tanken från min sida vid en eventuell omskrivning är att hålla sig Mono-kompatibel.

Ajdå. Se vad man missar när man bara skumläser.

Det låter som om monotorrent är det enda "riktiga" valet om man nu tänkt hålla sig till mono.
Då du har erfarenhet av monotorrent, hur står den sig till libtorrent funktionsmässigt och kompatibilitetsmässigt sett?
Jag själv har bara hört gott om det. Vore bra att höra en mer "neutral" sida av det.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem

Ser riktigt nice ut!
Ska absolut spana in mer framöver och testa!

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk
Medlem
Skrivet av SysGhost:

Ajdå. Se vad man missar när man bara skumläser.

Det låter som om monotorrent är det enda "riktiga" valet om man nu tänkt hålla sig till mono.
Då du har erfarenhet av monotorrent, hur står den sig till libtorrent funktionsmässigt och kompatibilitetsmässigt sett?
Jag själv har bara hört gott om det. Vore bra att höra en mer "neutral" sida av det.

Den ligger helt klart efter libtorrent, DHT-stödet funkar sisådär eller inte alls vilket är tråkigt om man vill använda sig av magnetlänkar (vilket det kodmässigt finns stöd för).

I övrigt tycker jag det fungerar fint. Det är lättarbetat och jag kan enkelt maxa min 100mbit-lina.

Om man skulle önska sig något så är det nog lite djupare dokumentation kring peers och så vidare. Nu får man förlita sig till källkoden.

Visa signatur

hm

Permalänk
Entusiast
Skrivet av Elofsson:

Den ligger helt klart efter libtorrent, DHT-stödet funkar sisådär eller inte alls vilket är tråkigt om man vill använda sig av magnetlänkar (vilket det kodmässigt finns stöd för).

I övrigt tycker jag det fungerar fint. Det är lättarbetat och jag kan enkelt maxa min 100mbit-lina.

Om man skulle önska sig något så är det nog lite djupare dokumentation kring peers och så vidare. Nu får man förlita sig till källkoden.

Tittade på monotorrent i github, verkar det som om de senaste "riktiga" ändringarna skedde för en ungefär 3-4 år sedan. (Och några olösta problem som är uppemot 2 år gamla).
Det ser ut som ett projekt som går en långsam död till mötes.
Det är synd att projekt dör ut på det sättet. Ännu värre när det inte finns många alternativ att välja på heller.

Funderat på att grena av monotorrent och lösa de små bekymmer som hänger kvar? ...eller utveckla helt eget?

EDIT: Är liksom intresserad själv av en plattformsoberoende torrent-klient (...eller, ja... mindre plattformsberoende då)
Använder sedan en tid tillbaks en bunt andra mono-baserade program som jag kör i en dualboot-lösning mellan Linux och Windows, så detta lilla projekt är klart intressant.
Enda nackdelen jag ser med mono-program under Linux, är att dem "bryter ut" från resten av systemets färg och utseende -tema.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

Tittade på monotorrent i github, verkar det som om de senaste "riktiga" ändringarna skedde för en ungefär 3-4 år sedan. (Och några olösta problem som är uppemot 2 år gamla).
Det ser ut som ett projekt som går en långsam död till mötes.
Det är synd att projekt dör ut på det sättet. Ännu värre när det inte finns många alternativ att välja på heller.

Funderat på att grena av monotorrent och lösa de små bekymmer som hänger kvar? ...eller utveckla helt eget?

EDIT: Är liksom intresserad själv av en plattformsoberoende torrent-klient (...eller, ja... mindre plattformsberoende då)
Använder sedan en tid tillbaks en bunt andra mono-baserade program som jag kör i en dualboot-lösning mellan Linux och Windows, så detta lilla projekt är klart intressant.
Enda nackdelen jag ser med mono-program under Linux, är att dem "bryter ut" från resten av systemets färg och utseende -tema.

Jag håller med, det är jättetråkigt när en såpass bra och mogen produkt bara dör ut. Det finns redan en kille som försökt sig på att rätta lite grejer. OctoTorrent heter projektet och är en fork på MonoTorrent. Kollade in det i höstas men ingen DHT-fix än.

Det mesta är ganska abstraherat i MonoTorrent och att bygga klart DHT-stödet bör inte vara jättemycket jobb, om det bara är det man saknar. Sen kan man ju diskutera API-design ad infinitum och om MonoTorrent gjort rätt eller fel val, och nu när async-stödet kom i C#5 så kanske det är roligare att bygga något på det än något som var aktuellt kring C#2.

Utseende på olika plattformar i Mono har väl mer med vilket GUI-toolkit man använder och inte Mono i sig. Just Hadouken har ju inget native GUI, det är ju webbaserat.

Visa signatur

hm

Permalänk
Entusiast
Skrivet av Elofsson:

Jag håller med, det är jättetråkigt när en såpass bra och mogen produkt bara dör ut. Det finns redan en kille som försökt sig på att rätta lite grejer. OctoTorrent heter projektet och är en fork på MonoTorrent. Kollade in det i höstas men ingen DHT-fix än.

I och med att det är en fork, kanske man skulle kunna låna DHT-biten från monoTorrent (Det lilla som finns), putsa upp den och knuffa in den i OctoTorrent. Där har man ju en del av arbetet klart.

Skrivet av Elofsson:

Det mesta är ganska abstraherat i MonoTorrent och att bygga klart DHT-stödet bör inte vara jättemycket jobb, om det bara är det man saknar. Sen kan man ju diskutera API-design ad infinitum och om MonoTorrent gjort rätt eller fel val, och nu när async-stödet kom i C#5 så kanske det är roligare att bygga något på det än något som var aktuellt kring C#2.

Låter som en rätt trevlig prestanda-boost. (Om det nu fanns prestanda-bekymmer)

Skrivet av Elofsson:

Utseende på olika plattformar i Mono har väl mer med vilket GUI-toolkit man använder och inte Mono i sig. Just Hadouken har ju inget native GUI, det är ju webbaserat.

Jo. Det är sant. Saken är dock den att de flesta som utvecklar GUI med mono, använder i regel Windows Forms, då det är ett säkert kort, fungerar med Windows, *nix och Mac OS X.

Att det i ditt fall är webb-baserat och använder sig av mono är av extra intresse, då det innebär att tjänsten skulle kunna köras på flera olika plattformar.
Jag har inte testat detta ännu, men jag undrar: Det är inget i det här projektet som gör att det endast fungerar med Windows? (Win32 API) ...och om så är fallet, överväg att göra den mer plattformsoberoende.
(Och apptopå plattformsoberoende. Skulle vara trevligt med en "portablare" version, som inte packas in i ett msi -paket. Är intresserad av att testa detta under Linux)

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem

Jag gillar vad jag har sett hitintills.
Har inget konstruktivt att komma med just nu, ville bara lämna en kommentar med uppmuntran.
Keep it up!