=======================================================================
Date: Fri, 06 Aug 93 08:46:10 EDT
From: CCENDM03@BRUFPB
Organization: Universidade Federal da Paraiba-JP/BRASIL
To: BITNET-L@BRUFPB
Aos usuarios do BITFTP
----------------------
O Bitftp agora suporta a opcao XXENCODE. Esta opcao e' nova. Ha'
poucas semanas atras, so' podia ser usada a opcao UUENCODE, que tem al-
guns caracteres problematicos.
-----------------------
(Para quem nunca usou o Bitftp:) Uma das atracoes da rede Internet
e' a possibilidade de um usuario obter arquivos que estao guardados em
outra localidade. Esta capacidade e' chamada de "FTP" (uma abreviacao de
"File Transfer Protocol"). Isto significa que uma instituicao pode manter
importantes arquivos gravados (la' na Alemanha, por exemplo) e que um usuario
em outro local (aqui na Paraiba, por exemplo) pode copiar facilmente esses
arquivos, bastando para isso saber o endereco eletronico da instituicao,
o subdiretorio e o nome dos arquivos desejados.
Apesar do uso do FTP so' ser possivel para quem esta' ligado `a rede
Internet, a Universidade de Princeton "quebra o galho" dos usuarios da
Bitnet atraves do servidor de arquivos chamado BITFTP. O usuario Bitnet
pode enviar uma mensagem para o endereco BITFTP @ PUCC contendo as linhas
de comandos que ele digitaria se estivesse ligado `a Internet. Dai', Bitftp
pega no local especificado os arquivos desejados e depois envia-os para
o usuario Bitnet.
As mensagens enviadas para Bitftp devem ser da forma
FTP destino formato
...
(comandos)
...
QUIT
onde "destino" e' o endereco eletronico do local da Internet onde os arquivos
desejados estao guardados;
"formato" pode ser xxencode, uuencode ou netdata. Sugerimos o formato
xxencode (pelo menos aqui para a UFPB);
"comandos" podem ser uma ou varias linhas com comandos DIR (para pedir
listagem de diretorio), CD (para mudar de diretorio), GET
(para copiar arquivos), entre outros. Os comandos aceitos por
Bitftp parecem com os comandos do MS-DOS, tendo-se o cuidado
de usar a barra normal (/) nos nomes de subdiretorios. Alem
disso, a distincao entre letras maiusculas e minusculas e'
importante. Por exemplo, se um arquivo esta' gravado no destino
como INDEX.ZIP o usuario so' conseguira' copia'-lo com um
GET INDEX.ZIP , e nao com um comando como GET Index.Zip . Para
obter um "help" completo dos comandos do Bitftp, envie uma
mensagem de uma unica linha formada pela palavra HELP para
BITFTP AT PUCC.
Exemplo: A mensagem de 10 linhas a seguir pode ser enviada via Bitnet para
-------- BITFTP AT PUCC pedindo para ser feita conexao com a Universidade
de Washington (wuarchive.wustl.edu) e que sejam enviados de la'
uma listagem do diretorio /mirrors/garbo.uwasa.fi, o arquivo
INDEX.ZIP, o "empacotador" PKZIP 2.04 (pkz204g.exe) e os anti-
virus SCAN / CLEAN 106 (scanv106.zip e clean106.zip). Essa Univer-
sidade (wuarchive.wustl.edu) contem praticamente uma infinidade
de programas interessantes para micros.
FTP wuarchive.wustl.edu xxencode
CD /mirrors/garbo.uwasa.fi
DIR
GET INDEX.ZIP
CD /mirrors/garbo.uwasa.fi/arcers
GET pkz204g.exe
CD /msdos/virus
GET scanv106.zip
GET clean106.zip
QUIT
------------------
Um arquivo no formato xxencode e' um "texto" que comeca com a palavra
"begin" e termina com um "end". Depois que se usa um decodificador nesse
"texto" ele volta ao formato normal. Por exemplo, o trecho a seguir e' um
programa executavel PROGRAM1.COM nesse formato:
begin 644 program1.com
huOQ+GKtkRLEUNaZgNG-ZQb7jQWsB0YxpR5-pR0-aOKlZ64JmQaxm9Uo8QrFV
hQbEUPaxo64NjRKtY9Uo8FKtY64tjR0-aPrJiN0sB0aJsOLBoQmsUEK7jQbFd
hPaQV1Ec+++++uUDe+tc1+0ghA12mAnEpBXQsCI30EoF3FYR6GId9H2pCHp-F
hIZBIJJNLK3ZOMK7XN4JaNqVdOahgPKtjQ53mQrFpRbRsSLfcw+5cMU4zaUDc
hvk0hDK7ZRTGhDKRdRSuhDKsURSWzaUCgCgFqyukul5Lvf1f2Rjgul5E2eenf
hy9eO+nD7W+q+DaY-zrEUh2vB6Hk0R-Uw2bEIWwwfmYZ7u1g-iYk-iFA+g+Ld
hD0xo-1khRFW9o6g273wxHm09kbI9xVNd+IN4f1f2RUeefCjsCgFq+jb1lUI+
hyABMK2EURX2iAE-2MLNdN0-E62hdQbBXO47VRKog63FjMKEUG43gP+++++++
7++++++++++++
+
end
Para criar o PROGRAM1.COM no micro, passe-o na forma xxencode para
um disco (com nome PROGRAM1.XXE) e use um decodificador nele:
C:\> XXDECODE program1.xxe
Se o arquivo desejado for grande, ele vira' fragmentado em varias par-
tes. Se o formato pedido foi o xxencode, entao o usuario interessado devera'
emendar as partes (com um editor de textos ou com o comando COPY do MS-DOS:
C:\> COPY parte1+parte2+parte3 total.ext) devendo antes retirar os cabecalhos
("envelopes") de cada parte.
Se voce nao tem um XXDECODE.COM, ai' abaixo vai um em Basic. Quando
o trecho a seguir for executado por qualquer versao de Basic (QBASIC,
GWBASIC, Turbo BASIC, etc.) sera' criado no disco um decodificador
XXDECODE.COM.
-------------- CORTE AQUI (usando um editor de textos) ---------------
100 REM - PROGRAMA EM BASIC PARA CRIACAO DO XXDECODE.COM
110 CLS:PRINT "Criando XXDECODE.COM": OPEN "XXDECODE.COM" AS #1 LEN = 1
120 FIELD #1, 1 AS A$: CHECKSUM#=0
130 FOR I = 1 TO 54
140 LINESUM#=0: LOCATE 2,3: PRINT "Contagem regressiva: " 54 - I ;
150 FOR J = 1 TO 16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$)
160 LINESUM#=LINESUM#+VAL("&H"+BYTE$)
170 IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1
180 NEXT J
190 READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$)
200 IF LINECHECK# = LINESUM# THEN GOTO 220
210 LOCATE 4,2: PRINT "Erro na linha #" ; 260 + 10 * I: GOTO 260
220 NEXT I
230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$)
240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260
250 PRINT: PRINT "XXDECODE.COM criado com sucesso": SYSTEM
260 PRINT: PRINT "XXDECODE.COM criado com erro": END
270 DATA E9, A7, 0, 49, 6E, 70, 75, 74, 20, 66, 69, 6C, 65, 20, 65, 72, 657
280 DATA 72, 6F, 72, 2E, D, A, 4F, 75, 74, 70, 75, 74, 20, 66, 69, 6C, 584
290 DATA 65, 20, 65, 72, 72, 6F, 72, 2E, D, A, 73, 74, 61, 72, 74, 20, 542
300 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E, D, A, 45, 6E, 64, 20, 509
310 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E, D, A, 65, 78, 69, 73, 58B
320 DATA 74, 73, 2E, 20, 41, 62, 6F, 72, 74, 69, 6E, 67, 21, D, A, 0, 4A3
330 DATA 0, 0, 0, EA, 3, EA, 3, 9A, 3, 0, 2B, 2D, 30, 31, 32, 33, 395
340 DATA 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 3FE
350 DATA 4B, 4C, 4D, 4E, 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5A, 528
360 DATA 61, 62, 63, 64, 65, 66, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F, 70, 688
370 DATA 71, 72, 73, 74, 75, 76, 77, 78, 79, 7A, E8, F0, 1, E8, 62, 1, 7BB
380 DATA BF, 9A, 3, E8, EF, 0, AD, 3D, 62, 65, 75, F4, AD, 3D, 67, 69, 807
390 DATA 75, EE, AD, 3D, 6E, 20, 75, E8, BF, 9A, 3, AC, 3A, C4, 76, FB, 8AF
400 DATA AC, 3A, C4, 75, FB, AC, 3A, C4, 76, FB, 3A, C4, 74, 4, AA, AC, 901
410 DATA EB, F8, BA, 9A, 3, 33, C9, 88, D, 80, 3E, 69, 1, FF, 74, 20, 786
420 DATA B4, 4E, CD, 21, 3C, 2, 74, 18, 3C, 12, 74, 14, 8B, CF, 2B, CA, 5DF
430 DATA 49, 49, E8, 3B, 1, BA, 4C, 1, B9, 13, 0, B0, 5, E9, 24, 1, 54C
440 DATA B4, 3C, CD, 21, 73, 3, E9, F1, 0, A3, 61, 1, BF, 9A, 3, E8, 777
450 DATA 83, 0, 8A, 4, A, C0, 74, 65, 3C, 2B, 74, 61, 3C, 20, 74, 5D, 51D
460 DATA 57, BB, 6A, 1, BA, 40, 0, 56, AC, A, C0, 74, 12, 8B, FB, 8B, 6DA
470 DATA CA, F2, AE, 75, 45, 8B, C7, 48, 2B, C3, 88, 44, FF, EB, E9, 5E, 9A9
480 DATA 5F, AC, 32, E4, 8B, E8, B9, 4, 6, AD, 86, C4, 8A, D0, D0, E4, 95C
490 DATA D0, E4, D2, E8, A, C4, AA, 4D, 74, B5, 8A, E2, AC, 8A, D0, D2, AA0
500 DATA E4, D0, E8, D0, E8, A, C4, AA, 4D, 74, A4, 8A, E2, AC, 8A, CD, AA0
510 DATA D2, E4, A, C4, AA, 4D, 75, CE, EB, 95, E9, A1, 0, E8, 15, 0, 8C5
520 DATA AD, 3D, 65, 6E, 75, 5, AC, 3C, 64, 74, 3, E8, 9C, 0, E8, 51, 6B7
530 DATA 0, B4, 4C, CD, 21, 8B, 36, 63, 1, 89, 3E, 67, 1, BD, 43, 0, 542
540 DATA BF, 4A, 3, C6, 5, 0, 3B, 36, 65, 1, 72, 6, E8, 33, 0, E8, 529
550 DATA 50, 0, AC, 3C, D, 74, 1B, 3C, A, 74, 18, AA, 4D, 75, E7, 3B, 534
560 DATA 36, 65, 1, 72, 3, E8, 3A, 0, AC, 3C, A, 75, F2, BF, 9A, 3, 5E8
570 DATA EB, C7, 46, C6, 5, 0, 89, 36, 63, 1, 8B, 3E, 67, 1, BE, 4A, 61F
580 DATA 3, C3, BA, 9A, 3, 8B, CA, 87, E, 67, 1, 2B, CA, 76, A, 8B, 66F
590 DATA 1E, 61, 1, B4, 40, CD, 21, 72, 1, C3, BA, 16, 1, B9, 14, 0, 536
600 DATA EB, 22, BA, EA, 3, B9, 0, E1, 8B, 1E, 5F, 1, B4, 3F, CD, 21, 738
610 DATA 72, C, B, C0, 74, 8, 8B, F2, 3, C6, A3, 65, 1, C3, BA, 3, 694
620 DATA 1, B9, 13, 0, E8, 9, 0, E9, 67, FF, BA, 3C, 1, B9, 10, 0, 5CD
630 DATA 50, BB, 2, 0, B4, 40, CD, 21, 58, C3, 54, 68, 69, 73, 20, 70, 632
640 DATA 72, 6F, 67, 72, 61, 6D, 20, 72, 65, 71, 75, 69, 72, 65, 73, 20, 638
650 DATA 44, 4F, 53, 20, 56, 65, 72, 73, 69, 6F, 6E, 20, 32, 2E, 30, 20, 4BC
660 DATA 6F, 72, 20, 68, 69, 67, 68, 65, 72, 2E, D, A, 24, D, A, 49, 441
670 DATA 6E, 70, 75, 74, 20, 70, 61, 74, 68, 2F, 66, 69, 6C, 65, 3A, 20, 5BD
680 DATA 20, 4E, 6F, 20, 61, 63, 74, 69, 6F, 6E, D, A, 24, B4, 30, CD, 567
690 DATA 21, 3C, 2, 73, C, BA, 4A, 3, B4, 9, CD, 21, B8, 1, 4C, CD, 562
700 DATA 21, E8, 36, 0, 73, 23, BA, 7D, 3, B9, 14, 0, BB, 2, 0, B4, 54D
710 DATA 40, CD, 21, BF, 7F, 0, C6, 5, 50, 8B, D7, B4, A, CD, 21, E8, 77D
720 DATA 18, 0, 73, 5, BA, 91, 3, EB, CF, BA, 2C, 4, B8, 0, 3D, CD, 644
730 DATA 21, 72, 4, A3, 5F, 1, C3, E9, 44, FF, BE, 80, 0, BF, 2C, 4, 6B6
740 DATA FC, AC, A, C0, 74, 2F, B4, 20, AC, 3A, C4, 76, FB, 3C, 2F, 74, 7E3
750 DATA 4, 3C, 2D, 75, 18, 8B, D0, 8B, 4, 24, 5F, 3D, 4F, 20, 8B, C2, 560
760 DATA 75, B, F6, 16, 69, 1, 46, 46, AC, 3A, C4, 76, A, AA, AC, EB, 6ED
770 DATA F8, 3A, C4, 76, 2, F9, C3, C6, 5, 0, F8, C3, 58, 58, 44, 20, 7C4
780 DATA 76, 31, 2E, 31, 0, 44, 61, 76, 69, 64, 20, 50, 20, 4B, 69, 72, 4A4
790 DATA 73, 63, 68, 62, 61, 75, 6D, 2C, 20, 54, 6F, 61, 64, 20, 48, 61, 580
800 DATA 6C, 6C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, D8
810 DATA 87150
----------------------- CORTE AQUI ------------------ (fim da mensagem)