DOS w sieci

Oprogramowanie Internetowe dla komputerów PC już niemal nierozłącznie kojarzy się w naszej świadomości ze środowiskiem Windows. Trudno obecnie znaleźć choćby drobną wzmiankę w prasie komputerowej, czy innych publicznych prezentacjach, na temat oprogramowania nie przeznaczonego dla tego środowiska. Tymczasem stary poczciwy DOS - bo to o nim będzie mowa w tym tekście - wbrew temu, co by się mogło wydawać, wcale nie "umarł". Liczba użytkowników tego systemu - zwłaszcza w różnych firmach i instytucjach - jest nadal spora i wciąż pojawiają się z ich strony pytania na temat możliwości podłączenia komputera z DOS-em do Internetu. Mam nadzieję, że informacje zawarte w niniejszym artykule będą stanowić na te pytania odpowiedź.

Z samej natury systemu DOS jego skonfigurowanie do pracy w Internecie jest nieco trudniejsze niż w Windows. W przeciwieństwie do tego ostatniego systemu, w którym (zwłaszcza w Windows 95) wszystko mamy "podane na tacy", konfiguracja Internetu w DOS-ie wymaga zwykle poskładania kilku odrębnych "klocków" (niejednokrotnie pozyskanych z różnych źródeł) i dopasowania ich nawzajem do siebie, a nie mamy przy tej pracy żadnych uprzejmych podpowiedzi ze strony systemu, co należy zrobić w następnej kolejności... Często potrzebne będzie ręczne utworzenie bądź poprawienie edytorem kilku plików konfiguracyjnych - ale są to wszystko wszak normalne trudności (bądź też - jak twierdzą inni - uroki...) pracy w DOS-ie.

W DOS-ie łatwiej jest skonfigurować dostęp do Internetu w sposób stały, poprzez sieć lokalną i zainstalowaną w komputerze kartę sieciową - to niewątpliwie pomyślna wiadomość dla firm i instytucji posiadających takie sieci podłączone do Internetu. To, co interesuje typowego użytkownika domowego - czyli praca na wdzwanianym łączu modemowym - jest w konfiguracji nieco trudniejsze, wymaga też dodatkowego oprogramowania, ale nie jest to aż tak wielka trudność, aby oswojona z DOS-em osoba nie mogła jej podołać.

Sterowniki pakietowe

Podobnie jak w większości innych systemów operacyjnych, chcąc uzyskać w DOS-ie dostęp do Internetu musimy zainstalować dwie warstwy oprogramowania. Pierwszą z nich jest sterownik sieciowy, zapewniający przesyłanie z i do naszego komputera odpowiednich pakietów danych, zgodnych ze standardem TCP/IP; drugą - korzystające z tego sterownika aplikacje, czyli programy służące do realizacji konkretnych usług w Internecie: e-maila, WWW, IRC... Z tego samego sterownika może na zmianę (jako że w DOS-ie brak wieloprogramowości...) korzystać wiele różnych aplikacji - w tym celu musi istnieć wspólny standard komunikowania się aplikacji ze sterownikiem. Ze zrozumiałych względów interesować nas będzie głównie oprogramowanie niekomercyjne - zresztą prawie wyłącznie ono "pozostało na placu boju", jako że firmy komercyjne produkujące niegdyś oprogramowanie TCP/IP dla DOS-u przerzuciły się niemal całkowicie na środowisko Windows (wyjątkiem jest chyba jedynie firma FTP Software, wciąż sprzedająca swój pakiet PC/TCP w wersji dla DOS-u). W zasadzie wszystkie niekomercyjne aplikacje Internetowe dla DOS-u współpracują ze sterownikami sieciowymi zgodnymi ze standardem packet driver (sterownik pakietowy), stworzonym niegdyś właśnie przez wspomnianą firmę FTP Software. Sterowniki pakietowe przeznaczone są zasadniczo do obsługi kart sieciowych; wśród oprogramowania dostarczanego przez producenta wraz z zakupioną kartą znajduje się z reguły zawsze również sterownik standardu packet driver. Problemem bywa czasami pogodzenie obsługi karty przez sterownik pakietowy z konkretną siecią lokalną zainstalowaną w danej instytucji; nie każdy system sieciowy potrafi bezpośrednio pracować "nad" sterownikiem pakietowym, niektóre z nich wymagają wyłącznie własnych sterowników. W Internecie dostępny jest cały szereg specjalnych sterowników - niejednokrotnie napisanych w bardzo wyrafinowany sposób - których zadaniem jest bezkolizyjne pogodzenie możliwości pracy np. z siecią Novell Netware, czy DOS-owym klientem sieci Windows, i równocześnie ze sterownikiem pakietowym; to jednakże temat wykraczający już nieco poza ramy tego artykułu.

W przypadku połączenia z Internetem przy użyciu karty sieciowej odpowiedni dla danego typu karty sterownik pakietowy ładowany jest zwykle w pliku AUTOEXEC.BAT, co zapewnia wszystkim uruchamianym później aplikacjom stałą łączność z siecią bez żadnych dalszych zabiegów. Konfiguracja zatem istotnie jest w tym przypadku bardzo prosta.

PPP i SLIP

Skorzystanie z wdzwanianego połączenia modemowego wymaga użycia specjalnego sterownika pakietowego, przeznaczonego dla tego typu połączeń. W przypadku korzystania z Internetu przez modem możemy mieć do czynienia z dwoma standardami połączeń: SLIP (Serial Line Internet Protocol) albo PPP (Point to Point Protocol). Ten drugi jest obecnie znacznie popularniejszy i stosowany przez znakomitą większość dostawców Internetu (w tym protokole działa m.in. ogólnie znany numer dostępowy Telekomunikacji Polskiej S.A.). Część dostawców nadal jeszcze używa starszego i bardziej prymitywnego protokołu SLIP. W niniejszym tekście ograniczę się do połączeń typu PPP; konfigurowanie połączeń SLIP niewiele się różni, musimy tylko pamiętać o tym, aby użyć odpowiedniego dla danego typu połączenia sterownika pakietowego - dla protokołów PPP i SLIP przeznaczone są bowiem odrębne sterowniki.

Konfiguracja jest w tym przypadku nieco trudniejsza, gdyż sterownik pakietowy jest ładowany i usuwany z pamięci na bieżąco, w miarę potrzeby (przy usuwaniu sterownika z pamięci następuje zwykle automatyczne zamknięcie łącza PPP i zakończenie pracy demona PPP po stronie serwera, jak również rozłączenie połączenia telefonicznego). Oprócz tego poza sterownikiem niezbędne jest jeszcze użycie dodatkowego programu, tzw. dialera, którego zadaniem jest samo nawiązanie połączenia telefonicznego z serwerem i zainicjowanie protokołu PPP. Dialery takie rozpowszechniane są zwykle wraz ze sterownikami pakietowymi dla protokołów PPP i SLIP: na przykład, razem z bardzo dobrym sterownikiem do połączeń typu PPP - DOSPPPD - rozpowszechniany jest dialer o nazwie CHAT (obydwa programy są przeniesieniami do DOS-u odpowiednich programów Unixowych). Zwyczajowo zatem dialer i sterownik pakietowy traktuje się jako jedną całość, chociaż na ogół dialery nie są programowo powiązane z konkretnymi sterownikami i mogą być zamieniane nawzajem.

Dla zautomatyzowania tych wszystkich czynności zwykle tworzymy w DOS-ie plik wsadowy, który najpierw wywołuje dialer, po nawiązaniu przezeń połączenia ładuje do pamięci sterownik pakietowy i uruchamia żądaną aplikację Internetową, a po zakończeniu jej pracy usuwa sterownik pakietowy z pamięci, rozłączając tym samym połączenie (niewykonanie tej ostatniej czynności może mieć zgubne skutki dla naszego portfela: mimo zakończenia pracy np. przeglądarki WWW - a nawet mimo wyłączenia komputera! - połączenie telefoniczne może być nadal aktywne i naliczane będą impulsy; na szczęście większość dostawców Internetu zabezpiecza się - a raczej nas - przed taką ewentualnością, automatycznie rozłączając połączenie po pewnym czasie braku aktywności ze strony klienta).

Dzwonimy

Pierwszą - i chyba najtrudniejszą - czynnością, którą musimy wykonać, aby połączyć się z Internetem, jest zatem zainstalowanie odpowiedniego sterownika pakietowego wraz z dialerem. W Internecie dostępnych jest kilka tego typu programów, zarówno dla połączeń PPP, jak i SLIP. Jednym z najpopularniejszych, o ile nie wręcz najpopularniejszym, sterownikiem PPP dla DOS-u jest wspomniany już DOSPPPD - DOS-owy odpowiednik Unixowego demona PPP, napisany przez Hiszpana Antonio Lopeza. Używane są też programy EtherPPP - napisany na uniwersytecie Michigan, oraz Klos PPP - komercyjny produkt firmy Klos Technologies, dostępny także w wersji shareware'owej. Natomiast do połączeń typu SLIP wykorzystać można pakiet UMSLIP z uniwersytetu Minnesota, bądź programy SLIPPER i CSLIPPER Petera R. Tattama, autora znanego Trumpet Winsocka dla Windows (adresy serwerów, z których można "ściągnąć" wszystkie opisywane w artykule programy, podane są na końcu tekstu).

DOSPPPD wydaje się być najoptymalniejszym wyborem dla DOS-owego Internauty; dopiero, jeżeli mielibyśmy trudności z nawiązaniem połączenia za jego pomocą, można sięgnąć po któryś z dwu pozostałych sterowników. Prezentują się one znacznie mniej interesująco: EtherPPP jest już programem nieco przestarzałym (nie zaleca się go np. dla modemów szybszych niż 14400 bps) i mniej stabilnym od DOSPPPD, Klos PPP natomiast jest zdecydowanie bardziej skomplikowany w konfiguracji (chociaż oferuje większe możliwości, np. dial-on-demand, czyli automatyczne dzwonienie dopiero w chwili, gdy aplikacja chce wysłać lub odebrać dane z sieci, i rozłączanie połączenia przy braku transmisji przez pewien czas), a na dodatek dostępna na serwerze firmy Klos shareware'owa wersja programu ma ustaloną "na sztywno" datę ważności, która nie zawsze jest aktualna - np. program "ściągnięty" przeze mnie do testowania od razu przy pierwszej próbie instalacji wypisał komunikat o upłynięciu terminu ważności i konieczności zarejestrowania się, i dopiero przestawienie zegara komputera na wcześniejszą o miesiąc datę pozwoliło go uruchomić. Zarówno EtherPPP, jak i Klos PPP zajmują też więcej pamięci operacyjnej niż DOSPPPD, co w DOS-ie może być dość istotne (aczkolwiek podstawowe pliki Klos PPP dają się załadować do pamięci górnej - o ile rzecz jasna jest w niej dość miejsca - nie zajmując w ten sposób cennej dla DOS-u pamięci konwencjonalnej).

W pakiecie DOSPPPD zawartych jest kilka wersji sterownika, zapewniających różne możliwości. Podstawowa wersja programu zawarta jest w pliku o nazwie PPPD.EXE. Współpracuje ona poprawnie z większością aplikacji Internetowych, istnieją jednak takie, które potrafią obsługiwać jedynie sterowniki pakietowe dla kart sieciowych i nie działają ze sterownikiem PPP. Dla takich aplikacji przeznaczony jest - zajmujący nieco więcej pamięci - plik EPPPD.EXE, emulujący - z punktu widzenia aplikacji - taki właśnie sterownik karty. Tej wersji sterownika używamy też, gdy chcemy wykorzystać protokół BOOTP, pozwalający na łatwe konfigurowanie aplikacji (zob. dalej). Dostępne są również wersje ułatwiające śledzenie ewentualnych błędów występujących podczas nawiązywania połączenia (PPPDD.EXE i EPPPDD.EXE), a także - spakowane w osobnym pliku .ZIP - wersje obsługujące autoryzację użytkownika przy użyciu protokołu CHAP, gdy provider Internetu stosuje ten sposób autoryzacji (sytuacja raczej rzadko spotykana). W pakiecie zawarty jest oprócz tego dialer CHAT (będący także przeniesieniem z Unixa), możliwe jest jednak użycie innego dialera - np. opisywana dalej przeglądarka WWW Arachne używa DOSPPPD w połączeniu z własnym dialerem o nazwie Miniterm.

Wiele cennych informacji na temat konfigurowania DOSPPPD znaleźć można w dołączonym do pakietu pliku SAMPLES.TXT, opisującego różne przykładowe konfiguracje, wraz z plikami wsadowymi służącymi do nawiązywania połączenia i uruchamiania poszczególnych aplikacji. Najprostsza konfiguracja, która powinna być odpowiednia dla większości typowych zastosowań, sprowadza się do utworzenia (za pomocą zwykłego edytora ASCII, np. z Norton Commandera) pliku PPPD.CFG o treści podobnej do poniższej:

     COM2
     57600
     asyncmap 0
     modem
     crtscts
Rzecz jasna musimy odpowiednio dostosować do naszych potrzeb pierwsze dwa wiersze, określające numer portu szeregowego, do którego przyłączony jest modem, oraz szybkość transmisji na tym porcie. Należy przy tym pamiętać, że ze względu na kompresję danych zachodzącą w modemie zwykle ustawia się szybkość portu na wartość od 2 do 4 razy większą niż szybkość samego modemu, np. przy modemie 28800 bps możemy ustawić szybkość portu na 115200 bps (co równocześnie jest maksymalną możliwą szybkością transmisji przez port szeregowy w komputerach PC). W komputerach wyposażonych w "stare", niebuforowane porty szeregowe (układy serii 8250 lub 16450) mogą wystąpić kłopoty z obsługą dużych szybkości transmisji przez niektóre programy (podczas testowania opisywanych w artykule programów zdarzył mi się przypadek, że strony WWW przy ustawionej szybkości portu 38400 bps ładowały się wolniej niż przy 19200 bps!) - wówczas musimy niestety zmniejszyć ustawioną szybkość transmisji portu do wartości równej szybkości modemu, a być może nawet zmniejszyć i tę ostatnią, za pomocą odpowiednich poleceń wysyłanych do modemu przez dialer (opis niezbędnych poleceń powinniśmy znaleźć w instrukcji do modemu). Obecnie w komputerach PC instalowane są szybkie buforowane porty szeregowe typu 16550A, w których tego typu problemy nie występują. Rodzaj zainstalowanego portu szeregowego możemy sprawdzić przy pomocy odpowiednich programów narzędziowych - np. programu UARTTYPE, dostępnego w mirrorach archiwum SimTel (np. ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/msdos/io_utils/uartty12.zip).

DOSPPPD może współpracować z dialerem na dwa sposoby: możliwe jest albo wywołanie dialera z wnętrza programu PPPD.EXE po jego uruchomieniu (w tym przypadku musi to być CHAT, gdyż tylko z nim PPPD.EXE jest w stanie "podzielić się" dostępem do portu szeregowego), albo też można najpierw uruchomić dialer, a dopiero po nawiązaniu przez niego połączenia - program PPPD.EXE (najczęściej robi się to za pomocą pliku wsadowego). W tym przypadku można wykorzystać dowolny dialer, np. pochodzący z innego pakietu PPP czy SLIP (o ile tylko dialer jest samodzielnym programem, nie zintegrowanym ze sterownikiem). W zasadzie jako dialera można też użyć dowolnego programu terminalowego, z którego da się wyjść bez przerywania połączenia (np. Term90 z Norton Commandera), ale są to narzędzia zbyt rozbudowane - wygodniej jest używać specjalizowanych programów przeznaczonych do tego celu. Najistotniejszą zaletą takich specjalizowanych dialerów - poza ich niewielkimi rozmiarami - jest to, że umożliwiają one zautomatyzowanie procesu łączenia się z serwerem, logowania i inicjowania protokołu PPP.

Proces taki typowo obejmuje szereg pytań wysyłanych przez serwer po nawiązaniu połączenia (np. o nazwę użytkownika, hasło), na które musimy udzielić odpowiedzi. Jednym z najważniejszych elementów każdego dialera przeznaczonego do połączeń PPP lub SLIP jest możliwość tworzenia tzw. skryptów logujących, pozwalających tę sekwencję "pytań i odpowiedzi" zautomatyzować. Dołączony do DOSPPPD program CHAT używa chyba najprostszej postaci takich skryptów spośród wszystkich dialerów - składają się one po prostu z kolejno wypisanych par tekstów: komunikatu modemu bądź serwera, na pojawienie się którego program ma czekać, i tekstu, który należy wysłać do serwera w odpowiedzi na pojawienie się tego komunikatu. Najprostszy skrypt dla programu CHAT służący do uzyskania połączenia z numerem dostępowym TP S.A. mógłby zatem wyglądać następująco (nie miałem możliwości przetestowania tego skryptu, nie mogę więc zagwarantować, że na pewno działa on prawidłowo):

     '' ATZ
     OK ATDT0,202122
     CONNECT \c
     'ername: ' ppp
     'ssword: ' ppp
Pierwszy wiersz powyższego skryptu informuje program, że nie czekając na nic ma wysłać do modemu tekst "ATZ", będący typową komendą inicjującą modem. Niektóre modemy mogą potrzebować oprócz "ATZ" dodatkowych komend, ustalających określony sposób działania modemu - ewentualnych szczegółów musimy poszukać w instrukcji obsługi danego modemu. Jeżeli modem odpowiedział komunikatem "OK", wysyłana jest komenda wybrania numeru 0-202122 (przecinek po zerze powoduje zrobienie przez modem krótkiej przerwy przed następnymi cyframi numeru). Jeżeli jesteśmy podłączeni do centrali telefonicznej stosującej wybieranie impulsowe, a nie tonowe, komendę "ATDT" musimy zamienić na "ATDP". Oczekujemy teraz tekstu "CONNECT", sygnalizującego nawiązanie połączenia przez modem. W odpowiedzi na ten tekst nie wysyłamy jednak nic i kontynuujemy wykonanie skryptu (\c), aż do pojawienia się pytania o nazwę użytkownika (zauważmy, że wystarczy podać tylko końcową część interesującego nas tekstu - dzięki temu uniezależniamy się np. od tego, czy pytanie "Username:" napisane jest dużą, czy małą literą). Warto zwrócić uwagę, że oczekiwany przez program tekst kończy się spacją - jeżeli serwer, z którym się łączymy, nie wypisuje tej spacji po pytaniu "Username:", trzeba usunąć ją ze skryptu, gdyż inaczej nie będzie on działał. Na pytanie o nazwę użytkownika odpowiadamy tekstem "ppp", i analogicznie na następujące po nim pytanie o hasło. W tym momencie skrypt się kończy, gdyż serwer uruchamia po zalogowaniu automatycznie protokół PPP. Gdybyśmy łączyli się z innym niż TP S.A. providerem, mogłaby być potrzebna jeszcze jedna para pytanie-odpowiedź, oczekująca na pojawienie się zgłoszenia systemu operacyjnego na serwerze i wysyłająca komendę uruchamiającą demona PPP.

Przedstawiony skrypt można ulepszyć określając maksymalny czas oczekiwania na pojawienie się poszczególnych komunikatów (domyślnie program czeka na każdy z nich 45 sekund), a także określając teksty, których pojawienie się spowoduje natychmiastowe przerwanie wykonywania skryptu (np. odpowiedź modemu "BUSY", sygnalizująca zajęty numer) - przykłady, jak to zrobić, znaleźć można we wspomnianym pliku SAMPLES.TXT. Aby skorzystać z tak przygotowanego skryptu, wystarczy dopisać do przedstawionego wcześniej pliku konfiguracyjnego PPPD.CFG wiersz o postaci:

     connect 'chat -f tpsa.scr'
powodujący po uruchomieniu PPPD.EXE wywołanie z jego wnętrza programu CHAT i wykonanie skryptu zapisanego w pliku o nazwie TPSA.SCR (zakładając, że pod taką nazwą zapisaliśmy nasz skrypt). Można też - jak już wspomniano - najpierw wywołać CHAT (w takim przypadku trzeba mu jeszcze osobno, niezależnie od PPPD, określić numer portu szeregowego i szybkość transmisji) - a dopiero potem PPPD.EXE (wówczas powyższego wiersza do pliku PPPD.CFG nie dopisuje się).

W przypadku problemów z napisaniem skryptu trzeba najpierw dokładnie prześledzić cały proces logowania się do serwera (wszystkie pojawiające się w trakcie tej operacji komunikaty), łącząc się ręcznie przy pomocy zwykłego programu terminalowego, i dopiero później na tej podstawie napisać skrypt. Można do tego wykorzystać tryb terminalowy, w który jest wyposażony program CHAT z nowszej wersji pakietu DOSPPPD (w Internecie znaleźć można dwie wersje tego pakietu: 0.5 i 0.6).

Jeżeli cały proces łączenia się z serwerem przebiegł poprawnie, od tego momentu mamy aktywne połączenie PPP! Aby je przetestować, będzie potrzebna nam jakaś aplikacja Internetowa, zanim jednak do tego przejdziemy, warto wiedzieć, w jaki sposób połączenie takie można zakończyć. Zwróćmy uwagę na komunikat, który wypisał nam program PPPD.EXE tuż przed wyjściem do DOS-u: podany jest w nim tzw. numer przerwania, na którym zainstalował się packet driver. Zwykle jest to 0x60 (znaki "0x" przed liczbą oznaczają zapis w układzie szesnastkowym), jeżeli jednak akurat to przerwanie zajęte jest przez jakiś inny program, może to być inny numer. Numer ten będzie nam potrzebny, aby później zakończyć połączenie: dokonujemy tego za pomocą - również zawartego w pakiecie - programu TERMIN, któremu jako parametr musimy podać właśnie ów numer przerwania. Typowo zatem aby zakończyć połączenie PPP posłużymy się komendą:

     termin 0x60

Konfiguracja aplikacji

Nim będziemy mogli rozpocząć korzystanie z aplikacji Internetowych, pozostaje do wykonania jeszcze jeden ważny krok: ich konfiguracja. W przeciwieństwie do Windows, gdzie warstwa oprogramowania realizująca protokół TCP/IP (tzw. stos TCP/IP) jest wydzielona w postaci odrębnego modułu, tzw. Winsocka, z którego usług korzystają wszystkie aplikacje, w DOS-ie każda aplikacja ma własny, wbudowany w siebie stos TCP/IP (taka sytuacja ma miejsce w przypadku aplikacji niekomercyjnych: pakiety komercyjne, np. wspomniany już PC/TCP, mają zwykle wspólny stos TCP/IP, wykorzystywany przez wszystkie aplikacje, co upraszcza konfigurację, ale zarazem uniemożliwia - albo przynajmniej znacznie utrudnia - równoczesne wykorzystywanie aplikacji nie przeznaczonych dla danego pakietu). Oznacza to, że w Windows wystarczy dane niezbędne do skonfigurowania TCP/IP, takie jak adres IP naszego komputera czy adresy serwerów DNS, podać tylko raz - w konfiguracji Winsocka, natomiast w DOS-ie trzeba je konfigurować w każdej aplikacji oddzielnie. Oznacza to jednak zarazem inny, poważniejszy problem. Adresy serwerów DNS i inne podobne parametry z reguły nie zmieniają się i można je wpisać w konfiguracji na stałe, natomiast adresy IP przy połączeniach modemowych zwykle przydzielane są dynamicznie, tak więc przed zainicjowaniem połączenia PPP nie możemy z góry wiedzieć, jaki będziemy mieć adres IP. W środowisku Windows Winsock jest ściśle zintegrowany ze sterownikiem PPP i otrzymuje tę informację podczas nawiązywania połączenia; w DOS-ie sterownik PPP i stosy TCP/IP wbudowane w poszczególne aplikacje są niezależne, trzeba więc wymyślić jakąś metodę przekazywania adresu IP ze sterownika do aplikacji.

Wszystkie wersje sterownika DOSPPPD po zainicjowaniu połączenia PPP - przed wyjściem do DOS-u - tworzą w bieżącym katalogu na dysku plik wsadowy o nazwie IP-UP.BAT, który może być wykorzystany do skonfigurowania aplikacji. Uruchomienie tego pliku (trzeba to zrobić w sposób jawny; plik nie jest uruchamiany automatycznie) zapamiętuje w zmiennych środowiskowych DOS-u szereg wartości parametrów aktualnego połączenia. Najistotniejszą spośród nich jest zmienna MYIP, przechowująca aktualny adres IP naszego komputera. Niektóre aplikacje Internetowe (np. omawiany dalej Minuet) potrafią wykorzystać tę zmienną bezpośrednio: jeżeli w konfiguracji programu pole przeznaczone na wpisanie adresu IP jest puste, program sprawdza, czy w środowisku DOS-u zdefiniowana jest zmienna o nazwie MYIP, a jeżeli tak - z niej właśnie pobiera adres IP. Inne aplikacje umożliwiają podanie adresu IP w sposób jawny jako parametru w komendzie uruchamiającej program - nietrudno napisać plik wsadowy, wykorzystujący do tego również wspomnianą zmienną środowiskową. Najbardziej "trikowa" metoda, szczegółowo zaprezentowana we wspomnianym już kilkakrotnie pliku SAMPLES.TXT, polega na bezpośrednim modyfikowaniu, w oparciu o wartość tej zmiennej, plików konfiguracyjnych używanych przez aplikacje.

Najprostszym i najbardziej uniwersalnym sposobem konfigurowania aplikacji jest jednak wykorzystanie protokołu BOOTP. Protokół ten jest standardową metodą stosowaną w sieciach lokalnych do dynamicznego przydzielania adresów IP komputerom podłączonym do sieci: niemal każda aplikacja TCP/IP dla DOS-u potrafi go obsługiwać. Aby skorzystać z BOOTP, należy - w zależności od programu - miejsce w pliku konfiguracyjnym przeznaczone na wpisanie adresu IP pozostawić puste, wpisać adres 0.0.0.0 lub tekst "bootp".

Zastosowanie protokołu BOOTP w sieci lokalnej wymaga obecności specjalnego serwera, który przydziela adresy IP kolejnym zgłaszającym się komputerom. Sterownik EPPPD.EXE symuluje pracę takiego serwera, przechwytując wysyłane przez programy zapytania o adres IP, i przekazując w odpowiedzi do programu analogiczny pakiet danych, jak wysyłany przez "prawdziwy" serwer BOOTP. Jeżeli korzystamy z tego sposobu konfiguracji, warto dopisać do pliku PPPD.CFG adresy używanych przez nas serwerów DNS, co umożliwi automatyczne przekazywanie ich do aplikacji - nie będziemy musieli ich tam jawnie wpisywać. Robi się to przy użyciu parametru "namsrv"; np. korzystając z numeru dostępowego TP S.A. dopiszemy do pliku PPPD.CFG następujące wiersze:

     namsrv 194.204.159.1
     namsrv 194.204.152.34
(można oczywiście tego nie robić, a adresy serwerów DNS konfigurować jawnie w każdej aplikacji).

No to do dzieła!

Najcięższa praca związana z podłączeniem DOS-owego komputera do Internetu za nami. Pora na zasłużoną nagrodę: przystępujemy do uruchamiania aplikacji, które pozwolą nam świeżo skonfigurowane połączenie z Internetem wykorzystać.

Użytkownik Internetu pracujący w Windows zwykle zaczyna od instalacji przeglądarki WWW (czasami nawet nie musi jej instalować, jak w przypadku wersji Windows 95 z dołączonym Internet Explorerem...). Zainteresowania użytkowników DOS-owych - jak to pokazuje praktyka - są nieco inne: głównie interesują ich takie usługi, jak poczta elektroniczna czy news; WWW jest z reguły na dalszym planie. Dlatego też właśnie od programów realizujących te usługi zaczynam omówienie aplikacji Internetowych dla DOS-u.

Na wstępie niezbędna wydaje się jedna uwaga: aplikacji Internetowych dla DOS-u w ogóle jest niewiele, w porównaniu np. z Windows. Często nie będziemy mieć wyboru: może być tak, że dla określonej usługi Internetowej istnieje tylko jeden program, bądź... nie ma go w ogóle. Wiele z nich przy tym to programy dość stare, których rozwój zatrzymał się kilka lat temu i obecnie nikt już nad nimi nie pracuje; stąd też ich możliwości dość wyraźnie odstają od tego, co oferuje oprogramowanie tworzone współcześnie. Niestety, chcąc (lub będąc do tego zmuszonym, np. z powodu słabego sprzętu) pracować w DOS-ie, musimy się pogodzić z tymi niedogodnościami. Niewiele pojawia się nowych, współcześnie tworzonych i rozwijanych aplikacji dla DOS-u (jak np. Arachne); są to chlubne wyjątki, świadczące o tym, że DOS nadal "żyje" i istnieje zapotrzebowanie na nowoczesne, profesjonalne oprogramowanie pozwalające na dostęp do Internetu z tego systemu.

Minuet

Programem, któremu warto na początek się przyjrzeć, może być napisany na uniwersytecie Minnesota Minuet. Minuet to program typu "wszystko w jednym": oferuje on niemal komplet usług, które mogą być potrzebne użytkownikowi Internetu. Zawiera obsługę e-maila, news, FTP, telnetu, a nawet przeglądarkę WWW! Niestety, ostatnia dostępna wersja Minueta pochodzi z 1995 roku, co odbija się na jego możliwościach - szczególnie przeglądarki WWW. Dużą zaletą Minueta jest bardzo estetyczny i przejrzysty interfejs użytkownika, zrealizowany z wykorzystaniem znanej biblioteki Turbo Vision firmy Borland, pozwalającej uzyskać w trybie tekstowym okienka obsługiwane na nieco podobnej zasadzie, jak w środowiskach graficznych. Zastosowanie tego sprawdzonego narzędzia sprawiło, że posługiwanie się programem jest bardzo wygodne.

Uruchamiając Minueta po raz pierwszy musimy go odpowiednio skonfigurować. Parametry, które musimy ustawić, zgrupowane są w trzech opcjach menu Setup: User, Servers i Network. W tej ostatniej musimy jedynie wpisać adresy używanych serwerów DNS (o ile nie przekazujemy ich poprzez BOOTP, jak to opisano wcześniej) - jeżeli używamy BOOTP lub mamy ustawioną zmienną środowiskową MYIP, wszystkie pozostałe wartości zostaną ustawione automatycznie. (Uwaga! W Minuecie BOOTP działa tylko ze sterownikiem EPPPD w wersji 0.6, natomiast nie działa z wersją 0.5 - jest to jedyna aplikacja zachowująca się w taki sposób.) Bardzo istotne jest natomiast właściwe skonfigurowanie adresów w opcji "Servers". Minuet dostarczany jest z prekonfigurowanymi adresami serwerów uniwersytetu Minnesota; dla naszych potrzeb musimy te adresy odpowiednio zmodyfikować. Wypełniamy więc adres naszego serwera poczty (w przeciwieństwie np. do Netscape'a, gdzie można oddzielnie skonfigurować adres serwera POP i SMTP, tutaj ten sam serwer będzie używany zarówno do odbioru, jak i wysyłania poczty), news, domyślnych serwerów gophera, fingera (najlepiej wpisać tutaj ten sam adres, co serwera poczty) i WWW. Poza samymi adresami Minuet daje również możliwość skonfigurowania numerów portów, które wykorzystywane będą dla poszczególnych usług - i tutaj niezwykle ważne jest to, że dla serwera poczty program proponuje domyślny numer portu 109, który używany był dawniej przez serwery pocztowe pracujące w protokole POP2. Obecnie praktycznie wszystkie serwery wykorzystują protokół POP3, w którym używany jest port 110 - trzeba go zatem zmienić. Podobna sytuacja ma miejsce w odniesieniu do news - domyślnym numerem portu dla tej usługi jest w Minuecie 7119 zamiast standardowego 119. Port ten charakterystyczny jest dla napisanego w Minnesocie specjalnego rozszerzenia serwera news, przyspieszającego jego współpracę z Minuetem - rozszerzenie to raczej nie jest szerzej stosowane na innych serwerach, stąd korzystając ze standardowego serwera news trzeba zmienić ten numer na 119. Znajdujący się w okienku dialogowym przycisk "Test" umożliwia, po wpisaniu wszystkich wartości, przetestowanie możliwości połączenia z każdym z tych serwerów, co pozwala nam upewnić się, że nie zrobiliśmy błędu. Na koniec w opcji "User" musimy wpisać naszą nazwę użytkownika i hasło na serwerze pocztowym (wbrew opisowi, sugerującemu iż należy tu wpisać pełny adres e-mail, podajemy tylko samą nazwę konta!). Możemy także w polu "Your full name" podać swoje imię i nazwisko, oraz (w polu "Reply-to adress") adres e-mailowy, na który chcemy otrzymywać odpowiedzi na nasze listy, jeżeli jest on inny od domyślnego adresu zwrotnego, który Minuet tworzy przez złożenie nazwy naszego konta i adresu serwera poczty. Warto też ustawić prawidłową strefę czasową (Time Zone), która będzie podawana w nagłówkach naszych listów (dla Polski jest to +0100, gdy obowiązuje czas zimowy, i +0200 w czasie letnim).

Funkcjonalność modułu pocztowo-newsowego Minueta (usługi te są w Minuecie bardzo ściśle zintegrowane) nie wykracza poza elementarne możliwości programów pocztowych: możliwe jest odpowiadanie na listy, przekazywanie ich dalej (forward), grupowanie listów w foldery i przenoszenie ich między nimi (nie ma jednak opcji automatycznego filtrowania listów do poszczególnych folderów). Bardzo ciekawą cechą Minueta jest wspomniana już daleko posunięta integracja poczty i newsów: redagowanie i wysyłanie wiadomości w obu przypadkach odbywa się w tej samej opcji programu (możliwa jest zresztą wysyłka równocześnie obydwiema drogami), a odpowiadanie na listy lub forward możliwe są także "na krzyż", np. odpowiedź na wiadomość otrzymaną pocztą może być wysłana do Usenetu, albo na odwrót. We wszystkich okienkach programu działa funkcja "cut & paste", co pozwala na bezproblemowe kopiowanie adresów odbiorców np. z treści listu lub z dowolnego innego miejsca. Sporą wadą programu jest natomiast całkowity brak obsługi standardu MIME, co nie pozwala np. na proste wysyłanie ani odbieranie żadnych plików w postaci załączników do listu (konieczne jest kodowanie lub dekodowanie plików osobnymi programami); nie pozwala też na stosowanie polskich liter. Co prawda jeżeli mamy zainstalowane w DOS-ie polskie litery (w kodzie ISO 8859-2!), możemy je zarówno widzieć, jak i wpisywać w wysyłanych listach, ale ze względu na brak odpowiednich nagłówków MIME robimy to "na własne ryzyko" - nie ma gwarancji, że odbiorca będzie mógł przeczytać nasz list z polskimi literami.

Minuet pozwala na czytanie zarówno poczty, jak i newsów, oraz przygotowywanie odpowiedzi off-line, co jest bardzo istotne dla osób korzystających z połączeń modemowych. Nie przewidziano jednakże możliwości wywoływania dialera z wnętrza programu dla nawiązania połączenia lub jego rozłączenia, co powoduje, że musimy w tym celu wychodzić z Minueta. Typowe postępowanie przy pracy off-line obejmowałoby zatem nawiązanie połączenia za pomocą dialera, uruchomienie Minueta, ściągnięcie poczty i zasubskrybowanych grup newsowych (wszystkich lub tylko wybranych), wyjście z Minueta, rozłączenie się, ponowne wejście do Minueta, czytanie listów i pisanie odpowiedzi, wyjście z Minueta, nawiązanie połączenia, wejście do Minueta i wysłanie przygotowanych listów, wyjście z Minueta, rozłączenie się. Uff!

Pozostałymi możliwościami oferowanymi przez program są telnet (dość przeciętna emulacja VT100, bez możliwości definiowania klawiszy, nie obsługująca wyświetlania w negatywie, co bardzo utrudnia korzystanie z wielu pełnoekranowych programów Unixowych - np. elm, tin, Midnight Commander) - możliwe jest otwarcie kilku sesji telnetowych jednocześnie, klient dziś już prawie nie używanej usługi gopher (w Minueta "wmontowano" ulepszoną wersję programu PC Gopher, zrealizowanego uprzednio przez ten sam zespół programistów jako samodzielna aplikacja), ping, finger (występujący w menu - nie wiedzieć czemu - trzykrotnie pod trzema różnymi nazwami), pożyteczny drobiazg ochrzczony mianem "IP Finder", umożliwiający "rozszyfrowanie" numeru IP dla podanej nazwy domenowej komputera, oraz klient FTP i przeglądarka WWW. W czasach, gdy Minuet ujrzał światło dzienne, ani system WWW, ani aplikacje Internetowe dla Windows nie były jeszcze zbyt rozpowszechnione, toteż wizualny interfejs FTP zastosowany w Minuecie stał się rewelacją. Program pozwala na oglądanie zawartości katalogów zdalnego serwera w postaci drzewa i wybór pliku do przetransmitowania klawiszem Enter (lub myszą). Okienko dialogowe pozwala wybrać tryb transmisji - tekstowy bądź binarny - oraz nazwę, pod jaką plik zostanie zapisany na dysku (niestety, okienko służące do przeglądania katalogów nie działa prawidłowo i trzeba ręcznie wpisywać ścieżkę dostępu). Miłą cechą programu jest to, że przetransmitowany plik można od razu obejrzeć w dolnej części okienka FTP.

Przeglądarka WWW jest chyba najsłabszym fragmentem całego programu. Jej możliwości są bardzo skromne: akceptuje tylko HTML 2.0, i to niepełny (brak np. obsługi formularzy), błędnie przy tym interpretując niektóre jego elementy (np. listy). Używa też archaicznej wersji protokołu HTTP, jeszcze sprzed oficjalnego standardu (określanej czasem jako HTTP 0.9), w której ani serwer, ani przeglądarka nie opatrują wysyłanych danych żadnymi nagłówkami, co praktycznie wyklucza jakąkolwiek bardziej zaawansowaną komunikację między nimi: przykładowo, nie są obsługiwane komunikaty "redirect" serwera, które powinny spowodować automatyczne wczytanie przez przeglądarkę nowego adresu w przypadku przeniesienia dokumentu. Przeglądarka nie jest też wygodna w użyciu: brak jest np. funkcji "Reload" (aby uzyskać ponowne wczytanie dokumentu trzeba po prostu ręcznie wykasować go z cache'a), a mimo istnienia w menu opcji "File/Open URL" nie da się w prosty sposób otworzyć dokumentu o dowolnym adresie: trzeba najpierw otworzyć okienko notatnika, w nim wpisać żądany adres i dopiero po ustawieniu nań kursora wybrać tę opcję z menu.

Ciekawostką jest, że przeglądarka może pracować zarówno w trybie tekstowym, jak i graficznym (dla uzyskania lepszych trybów graficznych niż 640x480x16 kolorów wymagana jest karta graficzna zgodna ze standardem VESA). Ten ostatni nie był rzecz jasna projektowany z myślą o dominujących obecnie stronach "pełnograficznych", lecz raczej stronach głównie tekstowych, wzbogaconych o nieliczny materiał ilustracyjny (ikony, schematy, wykresy itp.). Można ten tryb potraktować jednak w istocie tylko jako ciekawostkę, gdyż nawet na takich stronach praca w nim obfituje w szereg problemów. Przykładowo, próba wyświetlania grafik typu JPEG w rozdzielczości 640x480 nieodmiennie kończyła się zawieszeniem programu: dopiero w rozdzielczości 800x600 udało się je wyświetlić. Ilustracje nierzadko są interpretowane źle, "rozcinane" na kilka części bądź całkowicie zniekształcane.

Mimo, że przeglądarka zawiera też pewne interesujące rozwiązania (jak np. sposób zapamiętywania historii obejrzanych stron, czy odwoływanie się do innych, odpowiednich dla danej usługi modułów Minueta po kliknięciu na URL typu np. "ftp:", "telnet:" czy "mailto:"), generalnie niezbyt nadaje się do użytku. Lepiej korzystać w Minuecie z pozostałych usług, a do WWW używać lepszego programu, jak np. Arachne.

Program uzupełniają dosyć nietypowe jak na aplikację Internetową dodatki, których obecność wynika chyba stąd, iż są one standardowo dostępne w bibliotece Turbo Vision: kalkulator (a nawet dwa - drugi umożliwiający przeliczanie liczb z układu dziesiątkowego na szesnastkowy, dwójkowy itp.), tablica znaków ASCII i prosty, wielookienkowy edytor do plików tekstowych, umożliwiający wykonywanie notatek "na boku" czy po prostu przeglądanie znajdujących się na dysku plików. Według dokumentacji, Minuet formalnie jest programem shareware, za który opłata rejestracyjna wynosi 50$, jednakże według informacji uzyskanej od autorów programu, ze względu na zaprzestanie jego dalszego rozwoju obecnie opłata rejestracyjna nie jest wymagana i program może być używany swobodnie.

Pegasus Mail

W przeciwieństwie do "kombajnu", jakim jest Minuet, Pegasus Mail (w skrócie Pmail) realizuje tylko jedną usługę - pocztę elektroniczną, ale za to jest w tym zastosowaniu absolutnie bezkonkurencyjny. Niewątpliwie jest to najlepszy istniejący program pocztowy dla DOS-u i być może nie tylko dla DOS-u...

Autorem Pmaila jest Nowozelandczyk, David Harris. Program powstał pierwotnie jako mailer dla sieci lokalnych Novell Netware (i nadal jest to jego głównym przeznaczeniem), ale dzięki ogromnej elastyczności tego programu możliwe jest wykorzystanie go jako samodzielnej aplikacji pocztowej.

Pmail sam w sobie nie zawiera żadnej obsługi TCP/IP, dla umożliwienia odbierania i wysyłania poczty niezbędne jest zatem doinstalowanie dodatkowego modułu o nazwie PMPOP. W zasadzie wystarczy rozpakować do wspólnego katalogu obydwa pliki skompresowane - zawierający samego Pmaila oraz PMPOP - aby uzyskać prawie gotowy do pracy program. Niezbędny jest tylko jeszcze jeden zabieg. Wersja 1.10 pakietu PMPOP (tylko ta potrafi pracować z packet driverem; poprzednia wymagała zainstalowanego komercyjnego stosu TCP/IP z pakietu LAN Workplace firmy Novell) zawiera dwa pliki wykonywalne: LWPMPOP.EXE - przeznaczony dla LAN Workplace, oraz PDPMPOP.EXE - dla packet drivera. Ten drugi musimy przemianować na PMPOP.EXE, zanim będziemy mogli rozpocząć korzystanie z programu. Trzeba jeszcze uruchomić program PCONFIG (dołączony do Pegasus Maila) i określić katalog, w którym będzie składowana nasza poczta, i już możemy przystąpić do pracy. Przy pierwszej próbie ściągnięcia lub wysłania poczty PMPOP wyświetla okienko konfiguracyjne, w którym powinniśmy wpisać adresy serwerów POP i SMTP, nazwę użytkownika i hasło (do okienka tego można powrócić w dowolnym późniejszym momencie wydając w DOS-ie komendę "pmpop -c"). Niestety, okazuje się, że o ile PMPOP bez kłopotu ściąga pocztę z serwera, to z jej wysyłaniem ma problemy: nie udało mi się wysłać poczty przez żaden z pobliskich serwerów SMTP stosujących aktualne wersje programu sendmail. Jest to prawdopodobnie związane z długością tekstu powitalnego, którym zgłasza się sendmail po nawiązaniu połączenia - kiedy udało mi się znaleźć inny serwer, zgłaszający się krótszym tekstem, poczta została wysłana prawidłowo (tylko że ze znalezieniem takiego serwera może być kłopot...). Zamiast PMPOP-a można skorzystać z nowszego programu o nazwie SMTPOP (napisanego przez innego autora). Nie ma on kłopotów z wysyłaniem poczty, nie jest jednak zintegrowany z Pmailem tak jak PMPOP; powinien być uruchamiany oddzielnie, przed lub po pracy z Pmailem, dla ściągnięcia nowej poczty z serwera i wysłania poczty oczekującej. Dość lakoniczna dokumentacja SMTPOP-a nie wspomina o tym, że dla prawidłowej współpracy tego programu z Pmailem niezbędny jest jeden plik pochodzący z pakietu PMPOP (PMGATE.SYS).

Zarówno PMPOP, jak i SMTPOP wykorzystują bardzo popularny stos TCP/IP o nazwie WATTCP, dają się więc - tak jak wszystkie aplikacje oparte na tym stosie - konfigurować jedynie przez BOOTP bądź jawne wpisanie wartości do pliku konfiguracyjnego WATTCP.CFG (wszelkie zmienne środowiskowe są ignorowane). Plik WATTCP.CFG dostarczany z programem SMTPOP jest dostosowany do konfiguracji przez BOOTP, natomiast w żadnym wypadku nie należy używać w postaci niezmodyfikowanej pliku WATTCP.CFG dostarczanego z PMPOP - zawiera on wpisane jawnie adresy IP komputerów używanych przez autora programu!

Pmail - oprócz DOS-u - dostępny jest także w wersjach dla Windows i Macintosha (szkoda, że nie ma wersji dla Unixa; niestety, indagowany w tej sprawie autor odpowiedział, że nie podjąłby się jej napisania). Wygodę pracy z programem i jego przyjazność dla użytkownika należy ocenić bardzo wysoko, przy czym wersja DOS-owa wydaje się nawet łatwiejsza i prostsza w użyciu niż wersja dla Windows, aczkolwiek ta druga niewątpliwie prezentuje się znacznie bardziej efektownie. Program realizuje - i to bardzo dobrze - wszystkie standardowe funkcje, których możnaby oczekiwać od mailera. Tak przychodzące, jak i wysyłane listy przechowywać można w drzewiastej (!) strukturze folderów, którymi można wygodnie manipulować - np. przenosić listy między nimi, czy przenosić same foldery w inne miejsce drzewa - zaś same foldery mają długie, opisowe nazwy. Możliwe jest filtrowanie przychodzącej poczty według definiowalnych w szerokim zakresie kryteriów - można np. automatycznie kasować listy przychodzące z określonych adresów czy zawierające określony tekst w polu Subject:, a inne np. przenosić od razu do odpowiednich folderów. Bardzo łatwo realizuje się w programie Pegasus Mail wysyłanie dowolnych plików jako załączników do listów: pliki są automatycznie "w locie" kodowane i dekodowane w standardzie UUencode, BinHex (stosowany głównie przez programy pocztowe pracujące w środowisku Macintosha) lub MIME. Pegasus Mail jako jeden z nielicznych programów - nie tylko w środowisku DOS-u - ma zrealizowaną pełną obsługę standardu MIME, włącznie z poprawną interpretacją parametru "charset=" i automatyczną konwersją znaków do odpowiedniego standardu kodowania - dzięki temu można np. pisać w programie polskimi literami w kodzie Latin-2, będącym przyjętym przez Microsoft "standardem" w DOS-ie, a przy wysyłaniu automatycznie przekodowywać na ISO 8859-2. Trzeba tylko zaopatrzyć się w odpowiednie tablice konwersji - są one dostępne np. na Polskiej Stronie Ogonkowej - lub napisać je samemu przy użyciu dołączonych do Pmaila wzorców. Dodajmy do tego taki niezwykle użyteczny drobiazg, jak możliwość wyboru przy redagowaniu odpowiedzi na list dowolnego adresu spośród pól "Reply-To:", "From:", "Sender:" oraz "To:" (ta ostatnia możliwość wbrew pozorom nie zawsze jest bez sensu!) jako adresu, na który ma zostać wysłana odpowiedź - przydaje się to szczególnie przy odpowiadaniu na listy pochodzące z list dyskusyjnych, dodajmy możliwość ustalenia własnego tekstu, którym będą się rozpoczynały nasze odpowiedzi na listy (np. "Dnia .... o godz. .... X napisał:"), a uzyskamy obraz programu naprawdę komfortowego i wygodnego w obsłudze. Istnieje nawet polskojęzyczna lokalizacja jednej ze starszych wersji Pmaila.

Pegasus Mail to program naprawdę wart polecenia każdemu, kto używa poczty elektronicznej. Jest to w dodatku program całkowicie bezpłatny, a przy tym cały czas intensywnie rozwijany (choć ostatnio rozwój koncentruje się bardziej na wersji dla Windows) - jego autor bardzo życzliwie reaguje na wszelkie uwagi od użytkowników i informacje o zaobserwowanych błędach. Formę dobrowolnej zapłaty dla autora za tak znakomity program stanowi możliwość zakupienia drukowanych podręczników jego obsługi.

Trumpet News Reader

Trumpet News Reader (tak, tego samego autora, co Trumpet Winsock dla Windows...) jest praktycznie jedynym dostępnym samodzielnym czytnikiem news dla DOS-u. Podobnie jak Minuet, program również napisany jest z użyciem biblioteki Turbo Vision, aczkolwiek jego interfejs użytkownika jest znacznie prymitywniejszy. Trumpet jest "prawdziwym" czytnikiem news, działającym poprzez protokół NNTP, tak więc nie jest możliwe przy jego użyciu czytanie grup dyskusyjnych off-line - musimy cały czas mieć połączenie z serwerem. Nie jest to więc chyba najlepsze rozwiązanie dla "modemowców". Z drugiej strony, korzystając z tego programu unikamy "zapychania" dysku ściąganymi z serwera wiadomościami, jak to się dzieje przy programach pracujących off-line.

Funkcjonalność programu ogranicza się do elementarnych możliwości: wysyłanie nowej wiadomości, odpowiedź pocztą (reply), odpowiedź na grupę (followup), przesłanie wiadomości z newsów dalej pocztą (forward), zapisanie wiadomości do pliku. Nie ma możliwości zakładania - bardzo popularnych wśród użytkowników news - filtrów eliminujących z wyświetlanego wykazu listy, których ze względu na temat bądź osobę autora nie mamy ochoty czytać (tzw. killfile). Podobnie jak w Minuecie, brak obsługi MIME, a więc polskich liter możemy używać "na własne ryzyko" (choć w newsach w zdecydowanej większości przypadków powinny one raczej być przetransmitowane poprawnie).

W pliku spakowanym znajduje się kilka wersji programu, przeznaczonych dla różnych stosów TCP/IP. Interesującą nas wersją, działającą z packet driverem, jest NEWS.EXE. Program ten korzysta jedynie z pamięci konwencjonalnej DOS-u; ponieważ jego zapotrzebowanie na pamięć jest dosyć duże (zwłaszcza w trakcie pobierania z serwera wykazu wszystkich grup, aby wybrać te, które chcemy zasubskrybować - przy dużej liczbie grup na serwerze wykaz ten może po prostu się nie załadować), dostępna jest także wersja korzystająca z DOS-extendera, mogąca używać całej dostępnej pamięci, jest ona jednakże mniej stabilna od wersji standardowej. Wersja ta (NEWSDPMI.EXE) jest przeznaczona wyłącznie dla komputerów z procesorem co najmniej 386 (wcześniej omawiane aplikacje mogą działać nawet na PC/XT).

Przy pierwszym uruchomieniu Trumpet News Readera musimy skonfigurować adresy używanych serwerów news (NNTP) i SMTP. Ten drugi potrzebny jest np. do wysyłania odpowiedzi pocztą; trzeba też w tym celu wpisać swój adres e-mailowy. Podaje się go w dwu oddzielnych częściach: nazwę użytkownika w polu "User name", natomiast domenę (część po znaku "@") w polu "Site name". Trzeba też wpisać adres używanego serwera DNS (o ile nie jest on przekazywany poprzez BOOTP). Program domyślnie zakłada konfigurację za pomocą BOOTP, ale jeżeli jest zdefiniowana zmienna środowiskowa MYIP, nie wysyła żądania BOOTP i korzysta z podanej w niej wartości.

Trumpet News Reader ma status programu shareware, opłata rejestracyjna wynosi 10$.

Coś dla IRC-owników

Dla miłośników IRC przeznaczony jest kolejny Internetowy produkt Petera Tattama - Trumpet IRC. Podobnie jak w przypadku newsreadera, program zapewnia jedynie podstawowe funkcje klienta IRC, bez zaawansowanych możliwości typu skrypty, DCC itp. Jego obsługa jest bardzo łatwa, gdyż większość podstawowych komend (np. /JOIN, /LIST, /INVITE itd.) dostępna jest także - poza "klasycznym" wpisywaniem ich z klawiatury - za pośrednictwem opcji menu. Przyjemną właściwością programu jest wyświetlanie poszczególnych kanałów oraz konwersacji "na msgach" z różnymi osobami w odrębnych okienkach (z możliwością przeglądania wstecz kilkudziesięciu ostatnich wierszy), dzięki czemu łatwiej zorientować się w kilku sesjach jednocześnie (znów użyta jest biblioteka Turbo Vision).

Przy pierwszym uruchomieniu programu pojawia się okienko konfiguracyjne, w którym musimy wpisać adres używanego serwera IRC, naszą lokalną nazwę użytkownika (w przypadku PC jest ona bez znaczenia - można wpisać cokolwiek - ale wymaga jej protokół stosowany przez IRC), adres e-mailowy oraz nick, którego będziemy używali na IRC. Konfiguracja parametrów sieciowych programu (adres IP, serwer DNS itp.) odbywa się natomiast albo przez BOOTP (domyślnie), albo poprzez ustawienie zmiennych środowiskowych. W tym drugim przypadku dwie zmienne, które bezwzględnie muszą być ustawione, to IP (nie MYIP!), podająca adres IP naszego komputera, oraz DNS, podająca adres serwera DNS. Parametry można też podać w komendzie uruchamiającej program, np. "irc -ip=x.x.x.x -dns=y.y.y.y". Trumpet IRC jest programem darmowym.

Dostępny jest również inny klient IRC dla DOS-u, o nazwie VOICE. Jest on zarówno interfejsem użytkownika, jak i możliwościami (dostępne są m.in. aliasy, komenda /ON, w wersji zarejestrowanej programu możliwość tworzenia skryptów) zbliżony do "klasycznego" Unixowego ircII. Program oparty jest na stosie WATTCP, a więc konfiguruje się analogicznie, jak inne programy korzystające z tego stosu TCP/IP (przez plik WATTCP.CFG). Parametry typu adres serwera, nick itp. podaje się w odrębnym pliku konfiguracyjnym o nazwie VOICE.PRM. VOICE jest programem shareware (aczkolwiek rejestracja nie jest obligatoryjna), opłata rejestracyjna wynosi 10$.

NCSA Telnet i spółka

Wielu DOS-owych użytkowników Internetu, zwłaszcza w środowiskach akademickich, potrzebuje swojego PC praktycznie tylko do tego, aby zalogować się do jakiegoś komputera Unixowego i tam już pracować dalej: wysyłać pocztę, czytać newsy, ściągać pliki przez FTP... Dla osób intensywnie eksploatujących sesje telnetowe NCSA Telnet i różne jego wersje i przeróbki to program wręcz nieodzowny.

Ten bardzo stary program (pierwsza wersja NCSA Telnetu powstała w 1988 r.!), który był pierwszą aplikacją Internetową na komputery PC (nie korzystał jeszcze wtedy z packet driverów, których po prostu nie było, obsługując bezpośrednio karty sieciowe) jest dziś nadal - rzecz jasna po wielu modyfikacjach - jedną z najlepszych realizacji telnetu na te komputery: chciałoby się powiedzieć "program stary, ale jary". Obecnie szczególnie chętnie używana jest wersja programu przerobiona przez Clarkson University, znana pod nazwą CUTCP. Program oferuje bardzo wysokiej jakości emulację terminala VT100, z możliwością dowolnego zdefiniowania każdego klawisza na klawiaturze (i to nawet różnego dla różnych komputerów, z którymi się łączymy). Pozwala na równoczesne otwarcie wielu sesji telnetowych (do tego samego lub różnych komputerów) i szybkie przełączanie się między otwartymi sesjami. Możliwe jest zapisywanie do pliku tekstowego całego przebiegu sesji telnetowej lub tylko "zrzucanie" wybranych ekranów. Program zawiera też wbudowany serwer FTP aktywny podczas jego pracy; dzięki temu, pracując na zdalnym komputerze Unixowym możemy zainicjować połączenie FTP "w tył" do naszego PC i transmitować równocześnie pliki. Pakiet zawiera też - oprócz telnetu - "klasycznego", sterowanego za pomocą komend klienta FTP, wzorowanego na Unixowym, i jeszcze kilka drobiazgów, jak np. ping. Program dostępny jest jako public domain, z pełnym kodem źródłowym, co owocuje powstawaniem licznych modyfikacji i przeróbek; m.in. istnieje wersja (stworzona przez Piotra Piątkowskiego z krakowskiej AGH) pozwalająca prawidłowo wyświetlać (i wpisywać) polskie litery, a nawet przekodowywać je z używanego w Unixie ISO 8859-2 na różne "standardy" stosowane na PC (oryginalny NCSA Telnet lub CUTCP jest programem przesyłającym dane 7-bitowo, a więc nie pozwalającym na użycie polskich znaków).

Program napisany jest z użyciem własnego stosu TCP/IP, konfigurowanego poprzez jawne wpisanie odpowiednich parametrów do pliku CONFIG.TEL (możliwa jest konfiguracja poprzez BOOTP).

Nettamer

Wszystkie dotychczas opisywane programy wymagały do działania dodatkowego dialera i packet drivera. Pakiet o nazwie Nettamer stanowi tutaj wyjątek: wszelkie tego typu sterowniki po prostu mu przeszkadzają, gdyż samodzielnie obsługuje całe połączenie - od sterowania modemem aż po warstwę aplikacji. Nettamer przeznaczony jest wyłącznie do połączeń typu PPP (nie obsługuje ani SLIP-a, ani tym bardziej kart sieciowych) i jest kolejnym programem typu "wszystko w jednym": e-mail, news, FTP, telnet, WWW, a w wersji zarejestrowanej programu (rejestracja kosztuje 35$) nawet IRC! Ze względu na zintegrowaną budowę programu niewątpliwie byłby on dobrym narzędziem dla użytkowników, którzy nie są w stanie się połapać w zawiłościach osobnego konfigurowania dialera, packet drivera, aplikacji... Byłby, gdyby nie mała wygoda jego użytkowania, o czym wspominam dalej.

Program dostępny jest w trzech wersjach. Najbardziej rozbudowana przeznaczona jest dla komputerów co najmniej 386: zawiera ona wszystkie omawiane usługi, a do tego obsługę grafiki i dźwięku (możliwość oglądania lub odsłuchiwania ściągniętych plików graficznych lub dźwiękowych). Skromniejsza wersja (bez grafiki i dźwięku) przeznaczona jest dla komputerów PC/XT i PC/AT; wreszcie istnieje najbardziej okrojona wersja "dla palmtopów", z której usunięto obsługę telnetu i IRC (natomiast w ograniczonym - głównie możliwościami wyświetlacza - zakresie dostępna jest grafika).

Program zaprojektowany jest z myślą o pracy off-line; zarówno pocztę, jak i newsy można ściągnąć z serwera na lokalny dysk i czytać już po rozłączeniu połączenia. Bardzo dobrze, że istnieje taka możliwość; gorzej, że program wymusza taki sposób pracy, niezależnie od tego, czy ktoś tego chce, czy nie: funkcje czytania zawartości skrzynek pocztowych i odpowiadania na listy po prostu nie są dostępne podczas trwania połączenia! Będąc połączonym z serwerem możemy korzystać z FTP, WWW czy telnetu, ale nie z e-maila ani newsów; aby dostać się do tych usług, musimy się wpierw rozłączyć.

Nettamer składa się z dwóch - nawzajem przekazujących sobie podczas pracy sterowanie - głównych plików wykonywalnych: NETTAMER.EXE i READER.EXE. Pierwsze uruchomienie programu musimy rozpocząć od tego drugiego pliku. Przejdziemy kolejno przez dwa okienka konfiguracyjne. Pierwsze dotyczy parametrów komunikacyjnych: określamy w nim m.in. numer i szybkość portu, do którego przyłączony jest modem, czy wybieranie numeru ma się odbywać techniką tonową (ATDT), czy impulsową (ATDP), a także komendę inicjującą modem (standardowo ATZ). Określamy też (dlaczego tutaj?), czy w przeglądarce WWW ma być wyświetlana grafika, a także oryginalną opcję dotyczącą sposobu ustalania przez program naszej aktualnej strefy czasowej (przesunięcia względem czasu uniwersalnego GMT). Przy domyślnym ustawieniu program określa ją odczytując (przy każdorazowym łączeniu się z serwerem PPP) aktualny czas z serwera ds.internic.net i porównując go z aktualnym czasem naszego zegara systemowego (uwzględniana jest tolerancja do 30 minut). Aby uniknąć tej zbędnej operacji, wydłużającej tylko czas nawiązywania połączenia, lepiej jest jawnie podać przesunięcie względem GMT (czyli +0100 lub +0200, w zależności od aktualnie obowiązującego czasu).

W kolejnym okienku określamy takie parametry, jak nazwa użytkownika i hasło (osobno dla logowania, osobno dla e-maila - w końcu możemy logować się poprzez jednego providera, a korzystać z konta e-mailowego u innego; tak właśnie dzieje się np. przy korzystaniu z numeru TP S.A.), adresy serwerów POP, SMTP i NNTP oraz nasz adres e-mail. Następnie musimy podać do czterech numerów telefonów, których będziemy używać do nawiązywania połączenia, wraz z odpowiadającymi im skryptami logującymi. Program jest wyposażony w szereg gotowych skryptów logujących, dostosowanych do różnych providerów amerykańskich, a także w kilka skryptów o charakterze "ogólnym", które powinny działać w większości typowych systemów (żaden z nich nie nadaje się niestety wprost do zastosowania z numerem dostępowym TP S.A.; najbardziej odpowiedni jest skrypt SERVICE2.LOG, ale trzeba z niego usunąć wiersze drugi i trzeci od końca). Oczywiście, jeżeli nie znajdziemy żadnego skryptu, który działałby dla naszego providera, możemy napisać własny (albo logować się ręcznie, z użyciem trybu terminalowego). Jeżeli podanych numerów telefonów jest więcej niż jeden, możemy zdecydować, czy w razie niemożliwości połączenia się z którymś z nich program ma próbować po kolei pozostałe (Rotate Dial). Trzeba jeszcze wybrać opcję "Advanced" i wpisać tam adresy naszych serwerów DNS (ciekawe, dlaczego tak podstawowy parametr znalazł się w grupie opcji "zaawansowanych"?) i program jest gotowy do pracy. Program ma możliwość obsługi wielu kont użytkowników na różnych serwerach; w każdej chwili możemy dodać kolejne konto, wypełniając dla niego podobny zestaw parametrów, jak ten początkowy (może to być przydatne np. dla osób podróżujących z komputerem przenośnym, korzystających z Internetu przez różnych providerów w różnych miastach).

Z głównego ekranu programu dostępne są dwa odrębne menu oferowanych przez program możliwości. Klawiszem F3 wywołujemy menu wszystkich tych operacji, które możemy wykonać off-line (głównie czytanie i pisanie poczty i newsów), natomiast pod klawiszem F6 znajdziemy menu związane z logowaniem się do serwera. Z myślą o minimalizacji czasu połączenia telefonicznego program zawiera szereg możliwości "automatycznego" połączenia celem ściągnięcia bądź wysłania poczty lub newsów (lub jednego i drugiego; dostępne są praktycznie wszystkie kombinacje tych czynności) i niezwłocznego rozłączenia się; można też po prostu tylko połączyć się, aby pracować dalej w trybie "ręcznym" (np. korzystając z telnetu czy klienta FTP). Ciekawostką programu (w wersji 386) jest sygnalizowanie przebiegu procesu łączenia głosem: kiedy nawiązane zostanie połączenie PPP, słyszymy komunikat informujący (rzecz jasna w języku angielskim) o "włączeniu autopilota", natomiast gdy program gotowy jest do pracy w trybie "ręcznym", odzywa się głos przywołujący kapitana na mostek (komunikaty te są zapisane w oddzielnych plikach .WAV, które można oczywiście podmienić na inne, lub całkowicie usunąć je z dysku).

Możliwości obsługi poczty i newsów są typowe; nieco nawet uboższe niż w Minuecie. Podobnie jak w tym ostatnim, korzystanie z tych dwu usług jest tutaj zintegrowane i odbywa się za pomocą jednej opcji. Przewagą Nettamera jest możliwość przesyłania wraz z listami załączników w formacie MIME, chociaż standard ten obsługiwany jest jedynie fragmentarycznie. Skoro już mowa o MIME, to program nieprawidłowo podaje w nagłówkach wysyłanych listów typ danych dla zwykłych wiadomości tekstowych (samo "text" zamiast "text/plain"); inne czytniki poczty "czułe" na MIME wykrywają to i sygnalizują komunikatem o błędnym typie. Dlatego też - podobnie jak w przypadku innych opisywanych programów (za wyjątkiem Pegasus Maila) - polskich liter możemy używać "na własne ryzyko".

Interesująco przedstawiają się opcje ściągania poczty z serwera POP: można ściągać całą pocztę lub tylko nowe (jeszcze nie przeczytane) listy, z kasowaniem z serwera lub bez. Za to bardzo niewygodnie rozwiązane jest ściąganie grup Usenetowych: najpierw trzeba ściągnąć z serwera listę grup (z programem dostarczana jest wprawdzie gotowa lista, ale nie jest ona aktualna, a oprócz tego nie zawiera szczególnie interesujących dla polskich użytkowników grup pl.*) - to pierwsze połączenie (oczywiście robi się to tylko raz na jakiś czas); następnie, po rozłączeniu, wybieramy grupy do ściągnięcia i łączymy się po raz drugi, aby ściągnąć wykaz listów w wybranych grupach. O ile nie zaznaczyliśmy wybierając daną grupę, że listy z tej grupy mają być zawsze ściągane automatycznie (co autor odradza w dokumentacji), musimy teraz - kierując się polem "Subject:" - wybrać konkretne listy, które chcemy przeczytać, i ściągnąć je w trzecim połączeniu. Cała ta procedura jest chyba trochę zbyt skomplikowana; a czasami - gdy listów do ściągnięcia jest niewiele - może nas również kosztować drożej, niż gdyby wszystko było ściągane w trakcie jednego połączenia.

Klient FTP wbudowany w Nettamera jest dość prymitywny, choć funkcjonalny: podobnie jak w Minuecie, plik do ściągnięcia wybiera się klawiszem ENTER z wyświetlanego na ekranie wykazu zawartości katalogu zdalnego komputera (choć jest to znacznie gorzej zrealizowane graficznie). Niestety, podczas oczekiwania na ściągnięcie pliku z serwera FTP nie możemy się zająć np. czytaniem i pisaniem listów, z uwagi na wspominany już brak dostępu do tej opcji w trakcie połączenia z serwerem. Z telnetu natomiast praktycznie nie da się korzystać - program ma wyraźne trudności z odświeżaniem na bieżąco ekranu (często dopiero po wciśnięciu klawisza ENTER pojawia się kilka czy kilkanaście ostatnio wpisanych znaków), co praktycznie uniemożliwia jakąkolwiek poważniejszą pracę.

Przeglądarka WWW wbudowana w Nettamera jest jeszcze gorsza od tej w Minuecie: wprawdzie teoretycznie rozpoznaje ona więcej elementów języka HTML (np. formularze), ale zarazem znacznie częściej wyświetla je w sposób błędny! Przeglądarka robi błędy m.in. w prezentacji nagłówków, list, pokazuje również na ekranie - ni stąd, ni zowąd - fragmenty komentarzy zawartych w wyświetlanych stronach! Jest też bardzo wolna, zwłaszcza w trybie graficznym, w którym odświeżanie ekranu na stosunkowo szybkim komputerze 486 trwa kilka sekund (a program ma być przeznaczony dla 386...). Na stronach o większych rozmiarach zdarzało mi się, że przeglądarka mimo ściągnięcia z serwera całej strony nie wyświetlała jej w ogóle. Zarówno w trybie graficznym, jak i tekstowym bardzo niewygodny jest sposób wybierania odsyłaczy na prezentowanej stronie.

Ogólnie Nettamer robi wrażenie programu mocno niedopracowanego; szkoda, że szereg bardzo interesujących koncepcji, które autor zawarł w programie, zmarnowanych zostało kiepskim wykonaniem. Największe zastrzeżenia - poza wspomnianą już zupełnie nieudaną przeglądarką WWW - można mieć do bardzo niewygodnego i niekonsekwentnego sposobu obsługi programu: prawie w każdym trybie pracy ekran wygląda inaczej i działają w nim inne klawisze, na ogół zresztą w sposób niezgodny z przyzwyczajeniami wyniesionymi z innego oprogramowania. Bardzo zagmatwany jest np. sposób poruszania się w module służącym do czytania poczty i newsów. Praktycznie nie można się nim posługiwać wygodnie, a jest to w końcu przecież czynność dość podstawowa dla tego programu. Dość chaotyczne "rozrzucenie" poszczególnych funkcji między różne menu, konieczność wielokrotnego łączenia się i rozłączania dla wykonania pewnych czynności także nie sprzyjają wygodzie obsługi. Dodatkową "zawalidrogą" są pojawiające się przy prawie każdym przejściu z jednej do innej funkcji programu pośrednie okienka z opcjami czy pytaniami, na które trzeba odpowiedzieć. Wszystko to raczej zniechęca do korzystania z programu; aczkolwiek byłaby to naprawdę bardzo wartościowa propozycja, gdyby autor zrealizował ją staranniej.

Dookoła Lynxa

Na koniec pozostawiłem omówienie programów pozwalających użytkownikom DOS-u korzystać z "najatrakcyjniejszej" dla wielu osób części Internetu, jaką jest WWW. Jak wynika z dotychczasowych opisów, przeglądarki WWW zawarte w Minuecie czy Nettamerze są jedynie namiastkami nie nadającymi się praktycznie do użytku; istnieje jednak kilka samodzielnych programów, za pomocą których możemy korzystać z WWW w całkiem zadowalający sposób.

Użytkownik DOS-u staje przede wszystkim przed wyborem: WWW w trybie graficznym czy tekstowym. Wprawdzie nie wszyscy autorzy stron WWW piszą je w sposób czytelny również dla przeglądarek tekstowych (por. artykuł "Niedzielne webmajstrowanie, czyli jak nie tworzyć stron WWW" w MI 10/97), ale wszelkie poważne witryny o charakterze informacyjnym powinny być dla przeglądarek tekstowych osiągalne.

Jeżeli wybierzemy tryb tekstowy, do dyspozycji mamy aż trzy przeglądarki, wszystkie wywodzące się od wspólnego przodka, którym jest Unixowa przeglądarka Lynx: Lynx 386, Doslynx i Bobcat.

Wszystkie trzy przeglądarki obsługują w miarę zbliżony repertuar znaczników języka HTML. Rozpoznawane są w zasadzie wszystkie ważniejsze elementy HTML-a 3.2, a także niektóre rozszerzenia z HTML-a 4.0, jak np. ramki (rzecz jasna, odwzorowanie strony na ekranie podlega naturalnym ograniczeniom trybu tekstowego; strona "ramkowa" przedstawiana jest w postaci prostego menu z odsyłaczami do zawartości poszczególnych ramek). W zasadzie w trybie tekstowym nie bardzo już da się zrealizować więcej, niż oferują to obecnie przeglądarki z "rodziny" Lynxa.

Lynx 386 ma - przynajmniej teoretycznie - największe możliwości z wszystkich tych przeglądarek. Jest to tzw. port, czyli pełne przeniesienie oryginalnego programu Unixowego do DOS-u. Z tego względu program wymaga procesora co najmniej 386 (pracuje w trybie chronionym z wykorzystaniem DOS-extendera; istnieje również wersja tego programu dla Windows 95/NT, ta jednak nas tu nie interesuje). Teoria się potwierdza, jeżeli chodzi o interpretację kodu HTML - Lynx 386 robi to istotnie najlepiej (choć różnice w stosunku do pozostałych przeglądarek są niewielkie). Podobnie jak w Unixowej wersji Lynxa, bardzo szerokie są możliwości konfiguracji przeglądarki i dostosowywania jej do własnych potrzeb. Możliwe jest "podczepienie" do przeglądarki zewnętrznych programów (tzw. helper applications), służących do prezentacji danych innych niż tekst, takich jak pliki graficzne lub dźwiękowe (żadne takie programy nie są jednak standardowo dołączone do przeglądarki - trzeba je doinstalowywać oddzielnie). Program powinien obsługiwać pełen zestaw usług Internetowych stosowanych w adresach URL; niestety przeniesienie programu do DOS-u nie obyło się bez kłopotów i nie wszystko działa dobrze - np. przy odwołaniach do adresów typu "ftp:" i "news:" przeglądarka zawiesza się. Telnet - podobnie jak w Unixowym pierwowzorze - obsługiwany jest przez odwołanie do zewnętrznego programu (także nie dołączonego); w tym charakterze bez problemów może być wykorzystany np. NCSA Telnet czy CUTCP.

Doslynx był chronologicznie pierwszą z przeglądarek WWW dla DOS-u. Przeglądarka ta jest próbą ubrania "siermiężnego" oblicza oryginalnego Lynxa w formę nieco bardziej znajomą dla użytkownika komputera PC. Wykorzystywana jest biblioteka Turbo Vision, program pozwala na otwarcie kilku okienek, w których oglądać można kilka stron WWW (należy jednak mieć na względzie ograniczenia pamięciowe: Doslynx, w przeciwieństwie do Lynxa 386, pracuje w trybie rzeczywistym procesora i korzysta głównie z pamięci konwencjonalnej). Program ten początkowo tworzony był na uniwersytecie Kansas - tam, gdzie i oryginalny Unixowy Lynx (był jeszcze wtedy bardzo prymitywny), później jego rozwojem zajął się Wayne Buttles z Champlain College w Vermont, który doprowadził go do stanu w miarę "przyzwoitego" dla współczesnej przeglądarki (później jednak sam również zarzucił go na rzecz swojego kolejnego przedsięwzięcia - Bobcata). Program jednak nadal nie obsługuje pewnych elementów HTML-a - przede wszystkim formularzy. Interpretacja języka HTML w Doslynxie ma pewne wady: program często wstawia niepotrzebne dodatkowe puste wiersze po elementach takich, jak np. nagłówki czy pozycje list, ma też problemy z centrowaniem takich elementów; ogólnie jednak strony prezentowane są raczej poprawnie. Doslynx obsługuje URL-e typu "ftp:" i "news:" (aczkolwiek w tych ostatnich zdarza mu się po pewnym czasie pracy zawieszać). Potrafi też wysyłać pocztę ("mailto:"), ale ta opcja jest pełna błędów - bezsensowny adres podawany w polu "From:", brak oddzielenia treści listu od nagłówka pustym wierszem, co powoduje, że w wielu programach pocztowych treści takiego listu... w ogóle nie widać, wreszcie podobne jak przy PMPOP problemy we współpracy z nowszymi serwerami pocztowymi. Nie jest natomiast zupełnie zaimplementowana obsługa połączeń telnetowych. Doslynx potrafi sam wyświetlać pliki graficzne (tylko typu .GIF) - aczkolwiek z dosyć słabą jakością - natomiast skonfigurowanie żadnych helper applications do obsługi innych typów plików nie jest możliwe.

Bobcat, najnowsze przedsięwzięcie Wayne'a Buttlesa, to "zminiaturyzowany" Lynx, który ma w założeniu dać się uruchomić - podobnie jak Doslynx - na każdym PC, także z procesorem słabszym niż 386. Dla "odchudzenia" programu została z niego usunięta obsługa wszystkich innych protokołów poza HTTP i wysyłaniem poczty (jeżeli chodzi o to ostatnie, to podobnie jak w przypadku PMPOP i Doslynxa, występują problemy z dużą częścią serwerów pocztowych). URL-e typu "ftp:" i "telnet:" obsługiwane są przy pomocy zewnętrznych programów (dołączonych do przeglądarki), obsługi newsów brak w ogóle. Ciekawostką Bobcata jest cały rozbudowany system korzystania z zewnętrznych programów - dołączony jest np. interfejs do Minueta, pozwalający na używanie tego ostatniego jako narzędzia do obsługi URL-i typu "mailto:" czy "ftp:". Program jest też wstępnie skonfigurowany do uruchamiania z jego wnętrza VOICE jako klienta IRC, a nawet Arachne (zob. niżej) jako "pomocniczej" przeglądarki WWW, używanej, gdy chcemy aktualną stronę obejrzeć w trybie graficznym! Wraz z Bobcatem otrzymujemy w pakiecie także programy pomocnicze do obsługi plików graficznych i dźwiękowych, a także sterowniki EPPPD, SLIPPER i CSLIPPER wraz z dialerem NetDial, tudzież cały szereg dość złożonych plików wsadowych do ich obsługi. Cały ten system niestety zrobił na mnie wrażenie nadmiernie - i zupełnie niepotrzebnie - skomplikowanego. Jeżeli chodzi o samą prezentację strony, Bobcat wykazuje podobne niedociągnięcia co Doslynx (np. zbędne puste wiersze), choć wiele elementów formatowania strony przejętych ma wyraźnie z Lynxa. Z tego ostatniego przejął też interfejs użytkownika, jak również większość możliwości konfiguracyjnych.

Wszystkie trzy przeglądarki tekstowe wydają się być mniej więcej równorzędne; wybór jednej z nich jest kwestią szczegółowych potrzeb użytkownika, czy też może po prostu gustu... Kto np. wiele korzysta w przeglądarce z adresów typu "ftp:", nie wybierze Lynxa 386 (bo ten na tego typu adresach się zawiesza), natomiast z punktu widzenia kogoś, komu niezbędne są formularze, wykluczony będzie Doslynx; i tak dalej...

Arachne

I wreszcie pora na prawdziwy hit oprogramowania Internetowego dla DOS-u: znakomitą graficzną przeglądarkę WWW o nazwie Arachne. Jest to bardzo nowoczesny program, mogący śmiało konkurować z przeglądarkami pracującymi w Windows. Strony w Arachne wyglądają równie dobrze, co w Netscape Navigatorze czy Internet Explorerze (no chyba, że są to strony typu "Explorer-only"...). Spoglądając na ekran czasami wręcz zapomina się, że pracujemy w DOS-ie; odruchowo szukamy przycisków pozwalających przełączyć się do innego okienka... Przeglądarka obsługuje wszelkie "ozdobniki" spotykane na stronach WWW: ramki, kolory, zmiany wielkości czcionek, ilustracje w formacie GIF, JPEG i PNG, tła graficzne, mapy odsyłaczy - zarówno obsługiwane przez klienta (client-side imagemaps), jak i przez serwer (server-side imagemaps). Brak w zasadzie jedynie animowanych GIF-ów (widoczna jest z nich jedynie pierwsza klatka) oraz oczywiście języków programowania typu Javy, JavaScriptu czy ActiveX - to już chyba nieco za dużo, jak na możliwości DOS-u. Nie umniejsza to - przynajmniej w mojej opinii - w sposób istotny funkcjonalności przeglądarki, gdyż wykorzystywanie tych elementów programistycznych do celów innych niż wizualne "bajery" należy na stronach WWW do rzadkości. Dołączone standardowo do programu czcionki zawierają polskie znaki, jednakże w układzie niezgodnym ani z ISO 8859-2, ani z Windows - tak w jednym, jak i w drugim przypadku nie wszystkie polskie litery wyświetlają się prawidłowo (prawdopodobnie czcionki dostosowane są do czeskiego kodowania Kamienickich, jako że program został napisany w Czechach). Na macierzystej stronie programu dostępny jest jednak do doinstalowania pakiet czcionek w pełni zgodnych z ISO 8859-2.

Wymagania sprzętowe programu są przy tym bardzo małe: według dokumentacji, program powinien działać w zasadzie na każdym PC z kartą VGA, choć autor lojalnie uprzedza, że rozsądną konfiguracją jest przynajmniej procesor 386 i 4 megabajty RAM-u. Program nie pracuje jednak - co jest zadziwiające zważywszy jego zakres możliwości - w trybie chronionym, stąd też będzie działał również (choć wolniej) na słabszych maszynach. Potrzebna jest karta graficzna o rozdzielczości przynajmniej 640x480 w 256 kolorach, najlepiej zgodna ze standardem VESA, choć nie jest to konieczne: dla popularniejszych typów starszych kart program ma własne sterowniki.

Arachne jest bezpośrednio dostosowana do współpracy z trzema najważniejszymi sterownikami PPP: DOSPPPD, EtherPPP i Klos PPP (dwa pierwsze są od razu dołączone do programu) - ich konfiguracji można dokonać całkowicie z wnętrza programu, za pomocą odpowiednich formularzy i okienek dialogowych. Można wykorzystać również dowolny "nietypowy" sterownik (np. także dołączony do programu CSLIPPER), trzeba tylko określić w konfiguracji komendy, którymi będzie on uruchamiany. Arachne wykorzystuje do nawiązania połączenia telefonicznego własny dialer o nazwie Miniterm, ściśle zintegrowany z programem, dzięki czemu możliwe jest łączenie się i rozłączanie z wnętrza przeglądarki (gdy np. chcemy pooglądać off-line strony "ściągnięte" z sieci i zapamiętane w cache'u).

Przeglądarka obsługuje wewnętrznie URL-e typu "ftp:" (ale współpracuje jedynie z serwerami FTP obsługującymi tzw. tryb pasywny - umożliwia to większość serwerów Unixowych, nie zawsze natomiast pracujące w innych systemach). Nie da się skorzystać z serwerów gophera - program łączy się, ale każdorazowo sygnalizuje błąd. Adresy telnetowe obsługiwane są za pomocą zewnętrznego programu (autor poleca NCSA Telnet), natomiast obsługa URL-i typu "news:" nie została na razie jeszcze w programie zaimplementowana. Wraz z programem otrzymujemy odgrywarkę do plików dźwiękowych; w dokumentacji programu (dostępnej rzecz jasna w postaci plików HTML) znaleźć można natomiast odsyłacze do aplikacji umożliwiających odtwarzanie w DOS-ie filmów typu MPEG i QuickTime. Arachne zawiera też wbudowaną pełną obsługę poczty elektronicznej (POP3/SMTP). Odbierane listy zapisywane są w formacie zgodnym z Pegasus Mailem.

Poza typowymi rozwiązaniami spotykanymi w przeglądarkach WWW Arachne zawiera szereg oryginalnych koncepcji. Jedną z nich jest tzw. DGI (DOS Gateway Interface), czyli możliwość bezpośredniego uruchamiania w DOS-ie pod kontrolą Arachne skryptów (programów), komunikujących się z przeglądarką w identyczny sposób jak skrypty CGI na serwerze WWW - daje to możliwość np. testowania takich skryptów bez dostępu do serwera, czy wręcz wykorzystywania Arachne w intranecie bez konieczności posiadania w nim w ogóle serwera WWW! (przy użyciu takich skryptów realizowana jest zresztą duża część standardowych funkcji Arachne, np. obsługa poczty) Innym ciekawym pomysłem są moduły APM (Arachne Plug-in Modules) - spakowane w odpowiedni sposób pliki z programami (najczęściej różnego rodzaju dodatkami do przeglądarki), automatycznie instalującymi się po "ściągnięciu" ich z sieci za pomocą Arachne. Oczywiście aby uniknąć podrzucenia nam w ten sposób jakiegoś konia trojańskiego, adresy wszystkich stron, z których pozwalamy przeglądarce "ściągać" pliki APM, muszą być jawnie wypisane w pliku o nazwie SECURITY.CFG.

Jest to niezwykle interesujący (i bardzo intensywnie rozwijany) program, z którym niewątpliwie warto się bliżej zapoznać i który polecam wszystkim Czytelnikom; udowadnia on, że w dobie ekspansji Windows użytkownicy DOS-u wcale nie muszą czuć się "ubogimi krewnymi", jeżeli chodzi o możliwości korzystania z Internetu. O jakości tego programu świadczy fakt, że wykupiła na niego licencję firma Caldera i dołącza go, w nieco zmodyfikowanej wersji, pod nazwą Webspyder do licencjonowanych wersji OpenDOS-a. Skoro już o licencji mowa, to Arachne jest programem shareware, dla prywatnych, niekomercyjnych celów wolno go jednakże używać bez rejestracji. Rejestracja dla pojedynczego użytkownika kosztuje 30$, przy komercyjnych licencjach na wiele stanowisk stosowane są zniżki; dla szpitali, szkół i uczelni rejestracja dostępna jest za darmo. Ciekawostką w cenniku jest pozycja zabraniająca używania programu instytucjom wojskowym oraz... czeskiej telekomunikacji; jak widać, nie tylko u nas monopoliści telefoniczni są nielubiani.

Gdzie znaleźć programy?

Powyższy przegląd nie obejmuje z pewnością wszystkich aplikacji Internetowych dostępnych dla DOS-u, choć starałem się, żeby znalazły się w nim wszystkie najistotniejsze. Więcej informacji nie tylko o konkretnych programach, ale w ogóle na temat podłączania komputera DOS-owego do Internetu, konfiguracji itp. znaleźć można pod adresem http://www.agate.net/~tvdog/internet.html - strona ta jest chyba najlepszym źródłem informacji z tego zakresu. Dostępne tam są również prawie wszystkie omawiane programy; szkoda tylko, że transmisja z tego serwera jest bardzo wolna... Warte uwagi strony z informacjami o oprogramowaniu Internetowym dla DOS-u znajdują się również pod adresami http://www.palms.nq.net/ppp.html oraz http://www.fdisk.com/doslynx/.

Same programy dostępne są zwykle w bardzo wielu miejscach w sieci; starałem się podać ich "oryginalne" źródło, tam, gdzie było to możliwe. Zacznijmy od sterowników PPP i SLIP. DOSPPPD ma "swoją" stronę pod adresem http://mvmpc9.ciw.uni-karlsruhe.de/c:/user/toni/. Można tam znaleźć najnowszą wersję 0.6 programu; nieco starsza wersja 0.5 dostępna jest w licznych mirrorach archiwum SimTel, np. ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/msdos/pktdrvr/dosppp05.zip.
Trudno obecnie wskazać "pierwotne" źródło EtherPPP; dobrym miejscem do "ściągnięcia" tego programu może być np. ftp://wuarchive.wustl.edu/systems/ibmpc/umich.edu/communications/ncsa/. Znajduje się tam zarówno starsza, jak i nowsza wersja tego sterownika (etherppp.zip i etherppp.zip.new); na innych serwerach w Internecie rozpowszechniona jest przeważnie jedynie ta pierwsza.
Shareware'ową wersję Klos PPP musimy "ściągnąć" z serwera firmy Klos: ftp://ftp.klos.com/demo/pppshare.exe (jak już powiedziano, ma ona ograniczony termin ważności). Programy SLIPPER i CSLIPPER przeznaczone do połączeń typu SLIP znaleźć można pod adresem ftp://ftp.trumpet.com.au/slipper/ (kopia tego katalogu znajduje się również w archiwum SimTel, skąd można go ściągnąć o wiele szybciej: ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/trumpet/slipper/), UMSLIP natomiast dostępny jest pod adresem ftp://minuet.micro.umn.edu/Pc/INTERNET/PCSLIP/ (niestety, znów wolna transmisja!)

Na tym samym co powyżej serwerze, pod adresem ftp://minuet.micro.umn.edu/Pc/INTERNET/MINUET/LATEST/ znaleźć można Minueta. Oficjalnym europejskim punktem dystrybucyjnym Pegasus Maila jest ftp://ftp.let.rug.nl/pub/pmail/. W chwili pisania tego tekstu aktualna wersja Pmaila dla DOS-u nosiła numer 3.40 (plik pmail340.zip). W tymże samym katalogu znajduje się PMPOP - istotne jest, żeby zaopatrzyć się w wersję 1.10 tego programu (pmpop110.zip), gdyż poprzednia nie działa z packet driverem. Alternatywny w stosunku do PMPOP-a program SMTPOP znaleźć można pod adresem http://www.acyc.com/mail.html - tam też znajduje się program konfiguracyjny dla sterownika DOSPPPD, umożliwiający jego skonfigurowanie w sposób "wizualny" zamiast ręcznego pisania pliku PPPD.CFG i skryptu logującego.

Trumpet News Reader i Trumpet IRC znaleźć można na serwerze ftp.trumpet.com.au, odpowiednio w katalogach dostrump i irc. Jak wszystkie katalogi z tego serwera, są one mirrorowane w archiwum SimTel (ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/trumpet/). Natomiast VOICE - alternatywnego klienta IRC - "ściągnąć" można spod adresu ftp://ftp.cdrom.com/pub/irc/clients/msdos/voice/.

Pakiet CUTCP niestety zniknął już jakiś czas temu spod swojego oryginalnego adresu (na serwerze Rutgers College); pozostały jedynie liczne kopie. Można go obecnie znaleźć np. pod adresem ftp://ftp.agh.edu.pl/pub/msdos/network/cutcp/. Oryginalny NCSA Telnet dostępny jest natomiast w archiwum SimTel: ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/msdos/ncsatlnt/. W tymże samym archiwum jest także i Nettamer (ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net/msdos/nettamer/), zaś jego macierzysta strona znajduje się pod adresem http://www.nettamer.net/tamer.html.

Wszystkie trzy przeglądarki WWW oparte na Lynxie znaleźć można na wspomnianej już stronie http://www.fdisk.com/doslynx/, a strona macierzysta Arachne mieści się pod adresem http://www.naf.cz/arachne/.

Ze względu na to, że opisywane tu programy rozproszone są na wielu serwerach, wśród których część charakteryzuje się bardzo wolną transmisją, dla wygody Czytelników zebrałem większość z nich (nie znalazły się tam właściwie jedynie Klos PPP, Nettamer oraz przeglądarki WWW, które ze względu na częste aktualizacje lepiej jest "ściągać" z ich macierzystych stron) razem pod adresem ftp://inf.wsp.krakow.pl/home/ftp/dos/internet/ (plik index.txt zawiera bliższe informacje o zawartości katalogu).
Przyjemnej pracy!


Jarosław Rafa 1998. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 20.08.98.


Powrót do wykazu artykułów o Internecie Statystyka