Er mogen op dit forum GEEN verzoekjes of requests gevraagd worden, dit staat ook in de regels die je accepteert bij het registreren op dit forum, hiervoor krijg je direct een permanente ban.

Spotnet client

Stel hier je vragen of discussiëer over Spotnet.

Moderators: Supporters, Moderator Team

Forumregels
LEES: Forum Regels!

Topicstarter
peterdv
Berichten: 11
Lid geworden op: 01 jul 2011, 23:07
Reputation: 0
Usenet: eweka
Internet: interconnect

Spotnet client

#1

Bericht door peterdv »

Niet helemaal het goede subforum, maar ik weet niet welke beter past.

Waar kan ik informatie vinden over het maken van een eigen spotnet client?

Een tijd geleden heb ik een Mediaportal plugin gemaakt om op de TV in FTD te bladeren en meteen te downloaden. Dat werkte erg goed en mis ik nu al weer een tijdje. Dus zit ik eraan te denken om een zelfde Mediaportal plugin voor spotnet te maken. Ik heb een verbinding met een Sabnzbd server en ik kan posts uit de diverse nieuwsgroepen downloaden. Nu moet ik natuurlijk weten welke posts ik moet hebben, hoe ik ze moet controleren op juistheid en hoe ik de goede informatie eruit moet halen. Iemand een idee waar ik moet beginnen?
Neem je online privacy serieus en gebruik een VPN verbinding!

Met een VPN verbinding van IPVanish wordt uw gehele internet verbinding versleuteld

U kunt dus veilig browsen, Torrents downloaden, Usenet downloaden en onderling versleutelde verbindingen opzetten.


Gebruikersavatar

Carnifex
Berichten: 926
Lid geworden op: 19 feb 2011, 12:01
Reputation: 0
Usenet: Supernews
Internet: Ziggo Z3
Locatie: The Big Bang

Re: Spotnet client

#2

Bericht door Carnifex »

Als het puur om een add-on voor spotnet gaat, kun je eens kijken naar overige spotnet addons. Deze zijn hier te vinden: viewforum.php?f=36

Als je echt een nieuwe client wilt schrijven zal je kennis moeten hebben van NNTP.
Hiervoor zou je SpotWeb als voorbeeld kunnen gebruiken. Dit is een web-based portal voor usenet.
De source van SpotWeb kun je hier vinden: https://github.com/spotweb/spotweb
Ook zul je met XML parsing te maken krijgen, want elk usenet bericht bestaat uit XML inhoud.

Het hangt natuurlijk ook af van welke programmeertaal je wilt gebruiken.
Afbeelding
Afbeelding
Afbeelding

Topicstarter
peterdv
Berichten: 11
Lid geworden op: 01 jul 2011, 23:07
Reputation: 0
Usenet: eweka
Internet: interconnect

Re: Spotnet client

#3

Bericht door peterdv »

Bedankt! De Spotweb code is goed leesbaar. Er viel me trouwens iets vreemds op in de code: in spotparser.php, vanaf regel 433 worden eerst =-tekens toegevoegd (met fixPadding) tot een veelvoud van 4 karakters en daarna worden substrings vervangen, waardoor het weer geen veelvoud van 4 karakters hoeft te zijn (en dus niet meer volgens de base64 specificatie is). Ik kan het fout hebben (ik gebruik spotweb zelf niet), maar dat zal vast niet de bedoeling zijn.

Het is trouwens geen spotnet addon, maar een spotnet client die je kan bedienen op de TV met de afstandbediening. Het
is geschreven in C#.
Gebruikersavatar

Carnifex
Berichten: 926
Lid geworden op: 19 feb 2011, 12:01
Reputation: 0
Usenet: Supernews
Internet: Ziggo Z3
Locatie: The Big Bang

Re: Spotnet client

#4

Bericht door Carnifex »

Volgens mij klopt het wel. Bij base64 worden er 4 nullen aan de tekenreeks toegevoegd (ergens in het midden van het algoritme), wat bij het eindresultaat 2 '='-tekens oplevert.
Dan hoeft de tekenreeks zelf dus zonder de 2 binaire nullen niet persé in viervoud te zijn.

Het klinkt in ieder geval als een interessant project. Hopelijk heb je veel aan spotweb als "afkijk"-materiaal.
Afbeelding
Afbeelding
Afbeelding

Topicstarter
peterdv
Berichten: 11
Lid geworden op: 01 jul 2011, 23:07
Reputation: 0
Usenet: eweka
Internet: interconnect

Re: Spotnet client

#5

Bericht door peterdv »

Wat ik dedoel:
- Originele base64: "abc/d==="
- In de post is dit: "abc-sd" (geen = tekens en de / vervangen door -s)
In spotparser.php gebeurt dit:
- Eerst = tekens toevoegen: "abc-sd=="
- Dan -s vervangen door /: "abc/d=="
Er mist dan een extra = teken. Zal in de praktijk wel geen probleem opleveren, want de base64 library zal daar wel een check op doen.

De eerste versie van mijn MediaPortal Spot client is inmiddels klaar. Alle basis functionaliteit werkt goed, ik moet alleen nog filters / cachen van afbeeldingen e.d. toevoegen. Als er interesse in is, wil ik de source wel vrij geven of er een MediaPortal plugin installer van maken. Ik heb in C# een SpotX library gemaakt die herbruikbaar is, mocht iemand interesse hebben. Het enige nadeel is dat de RSA verify van Microsoft erg lang duurt, waardoor het parsen van veel spots best traag is. Ik los dat nu op met multithreaded, maar als iemand daar nog een betere oplossing (library) voor heeft, hoor ik het graag.

Screenshotje:
-knip-. Sorry, geen inhoud van usenet hier plaatsen aub
- Carnifex
Gebruikersavatar

Mickroz
Website Team Leider
Berichten: 1795
Lid geworden op: 13 feb 2011, 19:56
Reputation: 8
Usenet: Tweaknews
Internet: Ziggo
Locatie: Netherlands
Gender:
Leeftijd: 46
Contacteer:

Re: Spotnet client

#6

Bericht door Mickroz »

wow dat ziet er best cool uit!
Afbeelding
Support via PB wordt niet gegeven tenzij ik je vraag om mij een PB te sturen!
Q: Whats a hash and a root password?
A: hash gets you high, root password gives you god powers, combine the 2 and you are invincible.
Gebruikersavatar

KoffieBo0N
Moderator Team Lid
Berichten: 1947
Lid geworden op: 15 feb 2011, 15:35
Reputation: 0
Locatie: Starbucks
Contacteer:

Re: Spotnet client

#7

Bericht door KoffieBo0N »

Wauw, inderdaad dat ziet er heel goed uit :D.
Ben zelf te lui internet op mijn teevee aan te sluiten, heb ook geen idee hoe dat moet, maar ga je deze ook verder rondverspreiden? Denk dat heel wat users dit handig vinden, en ziet er top uit :)!

Topicstarter
peterdv
Berichten: 11
Lid geworden op: 01 jul 2011, 23:07
Reputation: 0
Usenet: eweka
Internet: interconnect

Re: Spotnet client

#8

Bericht door peterdv »

Nu nog streaming ondersteuning in sabnzbd <KNIP> en dan heb je echt "movie on demand".
Gevoellige info weggehaald
- Bulletproof
Gebruikersavatar

Carnifex
Berichten: 926
Lid geworden op: 19 feb 2011, 12:01
Reputation: 0
Usenet: Supernews
Internet: Ziggo Z3
Locatie: The Big Bang

Re: Spotnet client

#9

Bericht door Carnifex »

Ziet er goed uit peterdv. Wil je aub geen screenshots meer posten met inhoud van usenet erin? Helaas moeten wij deze regels hanteren vanwege juridische redenen.

Over het base64 gedoe, de padding is er toch juist voor om van de tekenreeks een viervoud te maken? Dus de padding is meestal tussen de 1 en 3 "="-tekens.
Afbeelding
Afbeelding
Afbeelding

Topicstarter
peterdv
Berichten: 11
Lid geworden op: 01 jul 2011, 23:07
Reputation: 0
Usenet: eweka
Internet: interconnect

Re: Spotnet client

#10

Bericht door peterdv »

Inderdaad, maar...

In het kort: Als je een string hebt van 8 karakters en je vervangt daarna 2 karakters door 1 karakter, dan is het resultaat nog maar 7 karakters en niet meer een veelvoud van 4.

In het lang: Elk karakter bij base64 is 6 bits, maar de onderliggende data is een veelvoud van 8 bits (1 byte). Je hebt dus altijd een veelvoud van 4 base64 karakters nodig voor elke veelvoud van 3 bytes. Als de onderliggende data niet precies een veelvoud van 3 bytes is, dan wordt dat aangegeven met een = teken voor elke twee bits dat de base64 te groot is. "Toevallig" is het daardoor weer altijd een veelvoud van 4 karakter (4 * 6bits = 3 * 1byte + 0 * 2bits; 3 * 6bits = 2 * 1byte + 1 * 2bits; 2 * 6bits = 1 * 1byte + 2 * 2bits). Je kan nooit een base64 hebben die een veelvoud van 4 karakters + 1 karakter is en daarom kan je nooit een base64 met 3 = tekens hebben. Maar dat vergeet iedereen voor het gemak altijd.

Vrijwel alle base64 implementaties houden hier rekening mee. De = tekens halen ze er gewoon weer vanaf en pakken gewoon het maximale aantal blokje van 8 bits dat er is. Eventueel met een controle of het restje echt wel allemaal nullen is. Je hoeft dus meestal helemaal geen = tekens toe te voegen. Ik snap ook niet waarom iemand dat ooit bij de base64 specificatie verzonnen heeft, want dat maakt het alleen maar onnodig complex.

Maar als je dan toch = tekens toevoegt, dan moet je natuurlijk wel zorgen dat het klopt. In spotparser.php wordt de base64 aangevuld met = tekens tot een veelvoud van 4 karakters. Dat is goed. Maar meteen daarna worden eventuele substrings van 2 karakters (-s of -p) vervangen door 1 karakter (/ of +). Gevolg is dus dat het resultaat geen veelvoud van 4 karakters hoeft te zijn. Oftewel: str_replace("-s","/","a-s=") = "a/=" (= van 4 naar 3 karakters).
Plaats reactie Vorig onderwerpVolgend onderwerp
Spot-net.nl Forums : Disclaimer