Přístup k našemu serveru protokolem NNTP

Internet není jen web, naopak. Webový protokol HTTP je jen jedním z mnoha internetových protokolů – např. SMTP (pro odesílání pošty), POP3 a IMAP4 (pro příjem pošty), FTP (pro přenos souborů), XMPP (pro chatování)… a v neposlední řadě také NNTP. Network News Transfer Protocol je síťový protokol pro přístup k diskusním skupinám (též Usenet NetNews)

NNTP

K čemu je to dobré

Stále nás můžete číst zde na webu, ale od nynějška lze alternativně pro přístup k našemu obsahu použít i protokol NNTP.

Na rozdíl od RSS (možná náš web odebíráte pomocí RSS čtečky) se přes NNTP dostanete k plným textům článků a zpráviček a ke všem komentářům. Obsah si můžete stáhnout a uložit pro prohlížení offline, nebo třeba i zaarchivovat do své poštovní složky (ať už lokálně nebo na IMAP serveru).

Komentáře se zobrazují v přehledné stromové struktuře pod články. Můžete v nich vyhledávat nebo si je filtrovat – záleží na schopnostech vašeho softwaru.

Všechen obsah je dostupný jak v XHTML formátování, tak jako prostý text – záleží jen na vašich preferencích, jak ho chcete číst.

Základní údaje

Démon, který zpřístupňuje obsah tohoto webu protokolem NNTP běží na serveru i1984.cz a na (nestandardním) TCP portu 1984. Komunikace je šifrovaná pomocí SSL.

Server: i1984.cz
Port: 1984
Šifrování: SSL (stejný certifikát, jako máme zde na webu)
Jméno a heslo: stejné jako zde na webu, ale pokud chcete přes NNTP jen číst, nemusíte se přihlašovat, je možný anonymní přístup.

Na serveru jsou dostupné následující diskusní skupiny:

  • cz.i1984.clanky
  • cz.i1984.blogy
  • cz.i1984.zpravicky
  • cz.i1984.test

které v reálném čase zpřístupňují obsah našeho webu.

Posílání příspěvků do diskuse

Přes protokol NNTP můžete i komentovat, stačí být přihlášený. Příspěvek je potřeba poslat vždy jako odpověď na nějakou jinou zprávu – nelze poslat příspěvek rovnou do diskusní skupiny, protože pak by nebylo zřejmé, k jakému příspěvku patří (teoreticky by se mohl vytvořit nový článek nebo zprávička, pokud na to má daný uživatel/redaktor právo, ale tato funkce zatím není podporovaná)

Zprávy posílejte pouze v prostém textu (text/plain), jiné zprávy server odmítne. Nicméně uvnitř textu zprávy můžete používat XHTML značky (např strong, em, a, code, blockquote atd.). Odstavce nemusíte uzavírat do značek, stačí je oddělit prázdným řádkem.

Formátování si můžete vyzkoušet ve skupině cz.i1984.test – tam posílejte cokoli, občas budou tyto testovací komentáře promazávány.

Nebojte se změnit předmět zprávy – zadejte cokoli relevantního – komentář se správně zařadí (na základě hlavičky In-Reply-To:, kterou přidává váš program) bez ohledu na předmět (tzn. nemusí tam být „Re: původní předmět“).

V klientovi, kterého používáte, jste pravděpodobně vyplňovali nějaké jméno a e-mail – na těchto údajích nezáleží, nikam se neukládají (stejně jako další hlavičky zprávy). Jméno autora komentáře se doplní samo podle vašich přihlašovacích údajů.

Klientské programy

Teoreticky se můžete připojit pomocí libovolného NNTP klienta (obvykle integrovaný v poštovních klientech). Otestované jsou zatím programy Thunderbird a KNode (součást PIM balíku Kontact z KDE).

Pokud používáte GNU/Linux, programy si nainstalujete snadno pomocí balíčkovacího systému. Např. v systémech na bázi Debianu:

# aptitude install thunderbird thunderbird-locale-cs
# aptitude install knode

Thunderbird

Mozilla Thunderbird je oblíbený poštovní klient, který kromě toho umí i diskusní skupiny.

Pro čtení našeho serveru v Thunderbirdu si přidejte nový účet pomocí průvodce: Úpravy / Nastavení účtu / Akce účtu / Přidat jiný účet / Účet pro diskusní skupiny

  • Jako jméno a e-mail můžete vyplnit cokoli (nikam se neukládají, nezáleží na nich).
  • Server pro diskusní skupiny: i1984.cz
  • Název účtu: i1984.cz (libovolný název)

Thunderbird – poštovní a NNTP klient

Thunderbird – poštovní a NNTP klient

Thunderbird – poštovní a NNTP klient

A upravte Nastavení serveru:

  • Zabezpečení spojení: SSL
  • Port: 1984
  • Doporučené: odškrtnout „Zobrazit dotaz před načtením více než“
  • Volitelné: zaškrtnout „Při připojování na tento server vždy požadovat autentizaci“ – při prvním připojení se vás program zeptá na jméno a heslo (stejné jako na web, pokud nemáte, můžete se u nás zaregistrovat nebo přihlásit přes OpenID). Po přihlášení pak můžete přispívat – posílat přes NNTP komentáře ke článkům a zprávičkám. Pokud se spokojíte se čtení, žádné přihlašovací údaje zadávat nemusíte.

Thunderbird – poštovní a NNTP klient

A dále Vytváření zpráv a adresování: zkontrolujte, že není zaškrtnuté: „Vytvářet zprávy v HTML formátu“ (zprávy v HTML nejsou v současné době podporované a nepůjde je odeslat)

Poté si přihlašte odběr skupin, které vás zajímají:

Thunderbird – poštovní a NNTP klient

Thunderbird – poštovní a NNTP klient

Takto pak vypadá čtení příspěvků:

Thunderbird – poštovní a NNTP klient

Můžete si také přepnout zobrazení na prostý text (Zobrazení / Tělo zprávy jako / Prostý text) a vidět tutéž zprávu bez XHTML formátování:

Thunderbird – poštovní a NNTP klient

Zprávy zobrazené v XHTML formátování:

Thunderbird – poštovní a NNTP klient

Thunderbird – poštovní a NNTP klient

Stejná zpráva zobrazená jako prostý text:

Thunderbird – poštovní a NNTP klient

Komentáře, které posíláte pište jako prostý text (v něm můžete použít XHTML značky):

Thunderbird – poštovní a NNTP klient

Vždy přispívejte jako odpověď na jiný příspěvek (jinak to ani nejde).

KNode

NNTP klient KNode je součástí balíku pro skupinovou spolupráci Kontact. Lze ho používat i samostatně.

Stejně jako v Thunderbirdu si přidáme nový účet pro diskusní skupiny:

KNode – NNTP klient

Dále si v nastavení můžete zapnout HTML formátování a stahování obrázků (Povolit externí odkazy v HTML):

KNode – NNTP klient

Nebo taky nemusíte – naším cílem je, aby články a komentáře byly příjemně čitelné i v prostém textu.

Vyberte si skupiny, které chcete odebírat: v levém panelu klikněte pravým tlačítkem na název účtu (i1984.cz) a zvolte Přihlásit se do diskusních skupin.

Čtení diskusní skupiny v KNode:

KNode – NNTP klient

KNode – NNTP klient

Takto vypadá zpráva zobrazená jako prostý text:

KNode – NNTP klient

(vhodnější je nastavit si neproporcionální písmo)

Závěr

Zatím se stále jedná o beta-verzi systému, nicméně už by měla být použitelná a vhodná k veřejnému testování. Jakékoli připomínky a zkušenosti s tímto protokolem nám pište buď sem do komentářů nebo soukromě e-mailem do redakce přes kontaktní formulář.

P.S. RSS

Kromě NNTP nás můžete sledovat i pomocí RSS.

Komentáře

MIME typ a další práce

Uznávám, že posílat zprávy jako text/plain a uvnitř nich pak používat XHTML značky je trochu zvrhlé… Cílem je, aby šlo z klienta posílat normálně formátovaný text (tučné písmo, odrážky, odkazy atd.) vytvořený ve WYSIWYG editoru toho klienta – ale tohle je zatím ve vývoji (z těch WYSIWYG lezou různé věci a je z toho potřeba udělat nějaké slušné jednoduché XHTML).

Další věc je nějaké přívětivé informování o chybách – v současnosti je jakákoli chyba (třeba když uživatel není přihlášený a pokusí se odeslat příspěvek) oznámena jako 500 internal server error.

P.S. Pozor: tento software může obsahovat stopové množství XML a XSLT – pokud na ně máte alergii, nepoužívejte ho :-)

Poprvé co o NNTP slyším

Nejsem ale stále moc přesvědčen o jeho užitečnosti... samozřejmě, je to zajímavá alternativa v případě blokovaného http(s), ale v době míru?

V RSS (nebo Atom) nejde servírovat celý článek? Vím, že někteří mi do čtečky posílají dlouhé články i s obrázky, ale jestli je tam nějaký limit jsem si nevšiml.

Jakou má NNTP režii v porovnání s JSON daty klasicky přes HTTP ?

Pokud by se přes HTTP

Pokud by se přes HTTP přenášela jasně strukturovaná data (třeba ten zmíněný JSON) ve standardizovaném formátu, problém by s tím podle mě nebyl. Problém ale nastává na současné implementaci webu (jako sítě, ne nějakého konkrétního sídla [website]). Každá stránka s diskuzemi si to řeší po svém. Například sledování nepřečtených komentářů nebo stopování vlákna se tak stává detektivní činností. Navíc UI je vždy odlišné. Srovnej třeba Root, D-FENS, KP a AbcLinuxu.

Podle mě nejvymakanější webovou implementaci diskuzí má AbcLinuxu. I tam je ale několik tragických věcí - stránka je datově šíleně neúsporná, pomalu se vykresluje (na rozdíl od nativního kódu a nějakého jednoduchého formátu zpráv se musí interpretovat šílené HTML a CSS) a nepřečtené komentáře nejsou perzistentní mezi reloady. O hromadném stažení a následném offline prohlížení snad ani nemluvě.

Naproti tomu kdyby všechny internetové diskuze byly přístupné přes nějaký standardizovaný protokol (vůbec to nemusí být zrovna NNTP), všechna vlákna bych si jedním kliknutím stáhl a pak si užíval pohodlí desktopového klienta.

HTTP vs. NNTP

sledování nepřečtených komentářů nebo stopování vlákna se tak stává detektivní činností.

A co teprve na takovém Twitteru – původně to měly být (zřejmě) stavové zprávy (jak se dneska mám, co dělám atd.) a dneska to spíš lidi používají jako diskusi – jeden odpovídá druhému a je potřeba nějak evidovat jakási vlákna (byť jsou to původně nezávislé stavové zprávy jednotlivých uživatelů). A někdy to nefunguje – někdy se totiž zobrazuje „in reply to“ a člověk hned vidí, na co že to byla odpověď. A někdy tam tahle informace chybí, ale z textu příspěvku je zřejmé, že to je odpověď na něco jiného – to aby si pak člověk otevřel Twitter toho druhého (komu bylo odpovídáno) a projížděl jeho příspěvky podle času a snažil se dohledat, k čemu ta odpověď patří. Asi nemusím psát, že čtení takových „diskusí“ obvykle rovnou vzdávám.

Podle mě nejvymakanější webovou implementaci diskuzí má AbcLinuxu.

+1 :-)

nepřečtené komentáře nejsou perzistentní mezi reloady.

To vždycky naštve, když dám omylem obnovit, nebo kliknu na nějaký odkaz a ztratí se mi ta informace, které příspěvky jsem četl a které ještě ne.

To vždycky naštve, když dám

To vždycky naštve, když dám omylem obnovit, nebo kliknu na nějaký odkaz a ztratí se mi ta informace, které příspěvky jsem četl a které ještě ne.

Nebo když se diskuze nepodaří celá stáhnout napoprvé - teď jsem byl na LinuxAltu a tam viselo 50 lidí na jedné wifině…

"Poprvé co o NNTP slyším" V

"Poprvé co o NNTP slyším"

V tom případě vřele doporučuji si jej nastudovat, není to žádná alternativa.

Redakci chválím za podporu standardních protokolů.

Hustý! To jsi implementoval

Hustý! To jsi implementoval sám, nebo je na to nějaký hotový server?

Re: Hustý! To jsi implementoval

Našel jsem sonews, kde použitelná implementace NNTP byla, takže jsem to naštěstí nemusel psát celé znova – stačilo napsat „jenom“ to napojení na Drupal.

P.S. a omlouvám se za pozdní odpověď, byl jsem na LinuxConu :-) a nějak nebyl čas na pročítání diskusí.

Markdown syntaxe

Příspěvky lze teď přes NNTP posílat i v Markdown syntaxi.

Pokud tuto syntaxi chcete použít, pošlete zprávu jako prostý text (text/plain) a na její začátek vložte:

#!markdown

Pak můžete používat např. citace uvozené ostrou závorkou:

> citovaný text
> druhý řádek citovaného textu

moje odpověď na něj

Které se následně převedou na <blockquote/> elementy v XHTML.

Nebo psát odrážky takto:

- aaa
- bbb
- ccc

což se převede na XHTML značky <ul/> a <li/>

  • aaa
  • bbb
  • ccc

A další – viz odkaz výše.

Jak se co píše, si opět můžete vyzkoušet v diskusní skupině cz.i1984.test.