home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 22 / AMUG_22-1.ISO / Files / Internet / Web Things / WebStarLinkCheck1.23.sit / WebStar Link Checker / WSLC Utilities.APS < prev    next >
MacBinary  |  1995-06-09  |  27.1 KB  |  [TEXT/ToyS]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Atari APAC3 APP Image (image/apac3App) ext Supported
1% dexvert AProSys Module (music/aProSys) ext Unsupported
1% dexvert Better On-Line Solutions Printer Driver (other/betterOnLineSolutionsPrinterDriver) ext Unsupported
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Jun 9 09:31:43 1995, modified Fri Jun 9 09:31:43 1995, creator 'ToyS', type ASCII, 26895 bytes "WSLC Utilities.APS" , at 0x698f 584 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[ToyS]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 12 57 53 4c 43 20 55 | 74 69 6c 69 74 69 65 73 |..WSLC U|tilities|
|00000010| 2e 41 50 53 00 00 00 00 | 00 00 00 00 00 00 00 00 |.APS....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 54 6f 79 | 53 01 00 00 00 00 00 00 |.TEXTToy|S.......|
|00000050| 00 00 00 00 00 69 0f 00 | 00 02 48 ab fd fd bf ab |.....i..|..H.....|
|00000060| fd fd bf 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 55 08 00 00 |........|....U...|
|00000080| 2d 2d 20 6f 74 68 65 72 | 20 70 72 6f 70 65 72 74 |-- other| propert|
|00000090| 69 65 73 20 73 65 63 74 | 69 6f 6e 20 2d 2d 2d 2d |ies sect|ion ----|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000e0| 2d 0d 0d 70 72 6f 70 65 | 72 74 79 20 6c 66 20 3a |-..prope|rty lf :|
|000000f0| 20 28 41 53 43 49 49 20 | 63 68 61 72 61 63 74 65 | (ASCII |characte|
|00000100| 72 20 31 30 29 0d 70 72 | 6f 70 65 72 74 79 20 63 |r 10).pr|operty c|
|00000110| 72 20 3a 20 28 41 53 43 | 49 49 20 63 68 61 72 61 |r : (ASC|II chara|
|00000120| 63 74 65 72 20 31 33 29 | 0d 70 72 6f 70 65 72 74 |cter 13)|.propert|
|00000130| 79 20 43 4c 20 3a 20 28 | 41 53 43 49 49 20 63 68 |y CL : (|ASCII ch|
|00000140| 61 72 61 63 74 65 72 20 | 31 33 29 20 26 20 28 41 |aracter |13) & (A|
|00000150| 53 43 49 49 20 63 68 61 | 72 61 63 74 65 72 20 31 |SCII cha|racter 1|
|00000160| 30 29 0d 70 72 6f 70 65 | 72 74 79 20 42 43 20 3a |0).prope|rty BC :|
|00000170| 20 28 22 3c 42 52 3e 22 | 20 26 20 28 41 53 43 49 | ("<BR>"| & (ASCI|
|00000180| 49 20 63 68 61 72 61 63 | 74 65 72 20 31 33 29 29 |I charac|ter 13))|
|00000190| 0d 0d 2d 2d 20 73 75 62 | 72 6f 75 74 69 6e 65 20 |..-- sub|routine |
|000001a0| 69 6e 69 74 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |init ---|--------|
|000001b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0d 6f |--------|-----..o|
|000001f0| 6e 20 69 6e 69 74 28 4d | 4c 2c 20 6d 68 70 2c 20 |n init(M|L, mhp, |
|00000200| 68 66 2c 20 67 66 2c 20 | 66 66 2c 20 6e 70 6f 2c |hf, gf, |ff, npo,|
|00000210| 20 66 61 2c 20 73 76 2c | 20 6d 74 2c 20 6c 70 2c | fa, sv,| mt, lp,|
|00000220| 20 6e 74 2c 20 6d 70 2c | 20 64 62 2c 20 6c 6c 2c | nt, mp,| db, ll,|
|00000230| 20 6c 64 6c 2c 20 6c 72 | 6c 2c 20 69 72 63 2c 20 | ldl, lr|l, irc, |
|00000240| 66 6d 29 0d 09 0d 09 67 | 6c 6f 62 61 6c 20 4d 61 |fm)....g|lobal Ma|
|00000250| 74 63 68 4c 69 73 74 0d | 09 67 6c 6f 62 61 6c 20 |tchList.|.global |
|00000260| 57 65 62 53 74 61 72 5f | 50 61 74 68 0d 09 67 6c |WebStar_|Path..gl|
|00000270| 6f 62 61 6c 20 48 54 54 | 50 46 69 72 65 77 61 6c |obal HTT|PFirewal|
|00000280| 6c 0d 09 67 6c 6f 62 61 | 6c 20 47 6f 70 68 65 72 |l..globa|l Gopher|
|00000290| 46 69 72 65 77 61 6c 6c | 0d 09 67 6c 6f 62 61 6c |Firewall|..global|
|000002a0| 20 46 54 50 46 69 72 65 | 77 61 6c 6c 0d 09 67 6c | FTPFire|wall..gl|
|000002b0| 6f 62 61 6c 20 4e 6f 50 | 72 6f 78 79 4f 6e 0d 09 |obal NoP|roxyOn..|
|000002c0| 67 6c 6f 62 61 6c 20 46 | 72 6f 6d 41 64 64 72 65 |global F|romAddre|
|000002d0| 73 73 0d 09 67 6c 6f 62 | 61 6c 20 53 6f 66 74 77 |ss..glob|al Softw|
|000002e0| 61 72 65 56 65 72 73 69 | 6f 6e 0d 09 67 6c 6f 62 |areVersi|on..glob|
|000002f0| 61 6c 20 4d 61 73 74 65 | 72 54 69 6d 65 6f 75 74 |al Maste|rTimeout|
|00000300| 0d 09 67 6c 6f 62 61 6c | 20 4c 6f 6f 70 50 61 75 |..global| LoopPau|
|00000310| 73 65 0d 09 67 6c 6f 62 | 61 6c 20 4e 6f 54 65 73 |se..glob|al NoTes|
|00000320| 74 45 78 74 65 72 6e 61 | 6c 43 6c 61 73 73 65 73 |tExterna|lClasses|
|00000330| 0d 09 67 6c 6f 62 61 6c | 20 4d 79 50 61 74 68 0d |..global| MyPath.|
|00000340| 09 67 6c 6f 62 61 6c 20 | 44 61 79 73 42 65 74 77 |.global |DaysBetw|
|00000350| 65 65 6e 45 78 74 65 72 | 6e 61 6c 43 68 65 63 6b |eenExter|nalCheck|
|00000360| 73 0d 09 67 6c 6f 62 61 | 6c 20 4c 69 6e 6b 4c 69 |s..globa|l LinkLi|
|00000370| 73 74 0d 09 67 6c 6f 62 | 61 6c 20 4c 69 6e 6b 52 |st..glob|al LinkR|
|00000380| 65 73 75 6c 74 4c 69 73 | 74 0d 09 67 6c 6f 62 61 |esultLis|t..globa|
|00000390| 6c 20 4c 69 6e 6b 44 61 | 74 65 4c 69 73 74 0d 09 |l LinkDa|teList..|
|000003a0| 67 6c 6f 62 61 6c 20 4e | 65 78 74 52 75 6e 52 65 |global N|extRunRe|
|000003b0| 63 68 65 63 6b 43 6f 64 | 65 73 0d 09 67 6c 6f 62 |checkCod|es..glob|
|000003c0| 61 6c 20 48 54 54 50 46 | 69 72 65 77 61 6c 6c 4d |al HTTPF|irewallM|
|000003d0| 65 74 68 6f 64 0d 09 0d | 09 67 6c 6f 62 61 6c 20 |ethod...|.global |
|000003e0| 4f 75 74 53 74 72 0d 09 | 67 6c 6f 62 61 6c 20 43 |OutStr..|global C|
|000003f0| 68 65 63 6b 43 6c 61 73 | 73 0d 09 67 6c 6f 62 61 |heckClas|s..globa|
|00000400| 6c 20 49 50 43 6f 6e 6e | 0d 09 67 6c 6f 62 61 6c |l IPConn|..global|
|00000410| 20 49 50 43 6f 6e 6e 32 | 0d 09 67 6c 6f 62 61 6c | IPConn2|..global|
|00000420| 20 51 75 69 74 52 65 71 | 75 65 73 74 65 64 0d 09 | QuitReq|uested..|
|00000430| 67 6c 6f 62 61 6c 20 46 | 69 6c 65 4e 61 6d 65 4f |global F|ileNameO|
|00000440| 6e 6c 79 0d 09 67 6c 6f | 62 61 6c 20 4c 69 6e 6b |nly..glo|bal Link|
|00000450| 0d 09 67 6c 6f 62 61 6c | 20 4c 69 6e 6b 44 61 74 |..global| LinkDat|
|00000460| 65 0d 09 67 6c 6f 62 61 | 6c 20 4c 69 6e 6b 52 65 |e..globa|l LinkRe|
|00000470| 73 75 6c 74 0d 09 67 6c | 6f 62 61 6c 20 43 75 72 |sult..gl|obal Cur|
|00000480| 72 65 6e 74 50 61 75 73 | 65 54 69 6d 65 0d 09 67 |rentPaus|eTime..g|
|00000490| 6c 6f 62 61 6c 20 4e 75 | 6d 45 78 74 73 0d 09 67 |lobal Nu|mExts..g|
|000004a0| 6c 6f 62 61 6c 20 4c 6f | 63 61 6c 41 64 64 72 65 |lobal Lo|calAddre|
|000004b0| 73 73 0d 09 0d 09 2d 2d | 20 74 68 65 20 66 6f 6c |ss....--| the fol|
|000004c0| 6c 6f 77 69 6e 67 20 67 | 6c 6f 62 61 6c 73 20 63 |lowing g|lobals c|
|000004d0| 6f 6d 65 20 66 72 6f 6d | 20 74 68 65 20 73 74 61 |ome from| the sta|
|000004e0| 72 74 75 70 20 72 6f 75 | 74 69 6e 65 0d 09 0d 09 |rtup rou|tine....|
|000004f0| 73 65 74 20 4d 61 74 63 | 68 4c 69 73 74 20 74 6f |set Matc|hList to|
|00000500| 20 4d 4c 0d 09 73 65 74 | 20 57 65 62 53 74 61 72 | ML..set| WebStar|
|00000510| 5f 50 61 74 68 20 74 6f | 20 6d 68 70 0d 09 73 65 |_Path to| mhp..se|
|00000520| 74 20 48 54 54 50 46 69 | 72 65 77 61 6c 6c 20 74 |t HTTPFi|rewall t|
|00000530| 6f 20 68 66 0d 09 73 65 | 74 20 47 6f 70 68 65 72 |o hf..se|t Gopher|
|00000540| 46 69 72 65 77 61 6c 6c | 20 74 6f 20 67 66 0d 09 |Firewall| to gf..|
|00000550| 73 65 74 20 46 54 50 46 | 69 72 65 77 61 6c 6c 20 |set FTPF|irewall |
|00000560| 74 6f 20 66 66 0d 09 73 | 65 74 20 4e 6f 50 72 6f |to ff..s|et NoPro|
|00000570| 78 79 4f 6e 20 74 6f 20 | 6e 70 6f 0d 09 73 65 74 |xyOn to |npo..set|
|00000580| 20 46 72 6f 6d 41 64 64 | 72 65 73 73 20 74 6f 20 | FromAdd|ress to |
|00000590| 66 61 0d 09 73 65 74 20 | 53 6f 66 74 77 61 72 65 |fa..set |Software|
|000005a0| 56 65 72 73 69 6f 6e 20 | 74 6f 20 73 76 0d 09 73 |Version |to sv..s|
|000005b0| 65 74 20 4d 61 73 74 65 | 72 54 69 6d 65 6f 75 74 |et Maste|rTimeout|
|000005c0| 20 74 6f 20 6d 74 20 2d | 20 36 30 20 2d 2d 20 74 | to mt -| 60 -- t|
|000005d0| 69 6d 65 6f 75 74 20 74 | 69 6d 65 20 68 65 72 65 |imeout t|ime here|
|000005e0| 20 6d 75 73 74 20 62 65 | 20 6c 65 73 73 20 73 6f | must be| less so|
|000005f0| 20 74 68 69 73 20 72 6f | 75 74 69 6e 65 20 74 69 | this ro|utine ti|
|00000600| 6d 65 73 20 6f 75 74 20 | 66 69 72 73 74 0d 09 73 |mes out |first..s|
|00000610| 65 74 20 4c 6f 6f 70 50 | 61 75 73 65 20 74 6f 20 |et LoopP|ause to |
|00000620| 6c 70 0d 09 73 65 74 20 | 4e 6f 54 65 73 74 45 78 |lp..set |NoTestEx|
|00000630| 74 65 72 6e 61 6c 43 6c | 61 73 73 65 73 20 74 6f |ternalCl|asses to|
|00000640| 20 6e 74 0d 09 73 65 74 | 20 4d 79 50 61 74 68 20 | nt..set| MyPath |
|00000650| 74 6f 20 6d 70 0d 09 73 | 65 74 20 44 61 79 73 42 |to mp..s|et DaysB|
|00000660| 65 74 77 65 65 6e 45 78 | 74 65 72 6e 61 6c 43 68 |etweenEx|ternalCh|
|00000670| 65 63 6b 73 20 74 6f 20 | 64 62 0d 09 73 65 74 20 |ecks to |db..set |
|00000680| 4c 69 6e 6b 4c 69 73 74 | 20 74 6f 20 6c 6c 0d 09 |LinkList| to ll..|
|00000690| 73 65 74 20 4c 69 6e 6b | 52 65 73 75 6c 74 4c 69 |set Link|ResultLi|
|000006a0| 73 74 20 74 6f 20 6c 72 | 6c 0d 09 73 65 74 20 4c |st to lr|l..set L|
|000006b0| 69 6e 6b 44 61 74 65 4c | 69 73 74 20 74 6f 20 6c |inkDateL|ist to l|
|000006c0| 64 6c 0d 09 73 65 74 20 | 4e 65 78 74 52 75 6e 52 |dl..set |NextRunR|
|000006d0| 65 63 68 65 63 6b 43 6f | 64 65 73 20 74 6f 20 69 |echeckCo|des to i|
|000006e0| 72 63 0d 09 73 65 74 20 | 48 54 54 50 46 69 72 65 |rc..set |HTTPFire|
|000006f0| 77 61 6c 6c 4d 65 74 68 | 6f 64 20 74 6f 20 66 6d |wallMeth|od to fm|
|00000700| 0d 09 0d 09 2d 2d 20 68 | 65 72 65 20 61 72 65 20 |....-- h|ere are |
|00000710| 73 6f 6d 65 20 61 64 64 | 69 74 69 6f 6e 61 6c 20 |some add|itional |
|00000720| 69 6e 69 74 69 61 6c 69 | 7a 61 74 69 6f 6e 73 0d |initiali|zations.|
|00000730| 09 0d 09 73 65 74 20 4f | 75 74 53 74 72 20 74 6f |...set O|utStr to|
|00000740| 20 22 22 0d 09 73 65 74 | 20 43 68 65 63 6b 43 6c | ""..set| CheckCl|
|00000750| 61 73 73 20 74 6f 20 22 | 22 0d 09 73 65 74 20 49 |ass to "|"..set I|
|00000760| 50 43 6f 6e 6e 20 74 6f | 20 22 22 0d 09 73 65 74 |PConn to| ""..set|
|00000770| 20 49 50 43 6f 6e 6e 32 | 20 74 6f 20 22 22 0d 09 | IPConn2| to ""..|
|00000780| 73 65 74 20 51 75 69 74 | 52 65 71 75 65 73 74 65 |set Quit|Requeste|
|00000790| 64 20 74 6f 20 66 61 6c | 73 65 0d 09 73 65 74 20 |d to fal|se..set |
|000007a0| 46 69 6c 65 4e 61 6d 65 | 4f 6e 6c 79 20 74 6f 20 |FileName|Only to |
|000007b0| 22 22 0d 09 73 65 74 20 | 4c 69 6e 6b 20 74 6f 20 |""..set |Link to |
|000007c0| 22 22 0d 09 73 65 74 20 | 4c 69 6e 6b 44 61 74 65 |""..set |LinkDate|
|000007d0| 20 74 6f 20 63 75 72 72 | 65 6e 74 20 64 61 74 65 | to curr|ent date|
|000007e0| 0d 09 73 65 74 20 4c 69 | 6e 6b 52 65 73 75 6c 74 |..set Li|nkResult|
|000007f0| 20 74 6f 20 22 22 0d 09 | 73 65 74 20 43 75 72 72 | to ""..|set Curr|
|00000800| 65 6e 74 50 61 75 73 65 | 54 69 6d 65 20 74 6f 20 |entPause|Time to |
|00000810| 4c 6f 6f 70 50 61 75 73 | 65 0d 09 0d 09 73 65 74 |LoopPaus|e....set|
|00000820| 20 41 70 70 6c 65 53 63 | 72 69 70 74 27 73 20 74 | AppleSc|ript's t|
|00000830| 65 78 74 20 69 74 65 6d | 20 64 65 6c 69 6d 69 74 |ext item| delimit|
|00000840| 65 72 73 20 74 6f 20 7b | 22 2e 22 7d 0d 09 73 65 |ers to {|"."}..se|
|00000850| 74 20 4c 6f 63 61 6c 41 | 64 64 72 65 73 73 20 74 |t LocalA|ddress t|
|00000860| 6f 20 28 74 65 78 74 20 | 69 74 65 6d 73 20 6f 66 |o (text |items of|
|00000870| 20 28 74 63 70 20 6d 79 | 20 61 64 64 72 65 73 73 | (tcp my| address|
|00000880| 29 29 0d 09 73 65 74 20 | 41 70 70 6c 65 53 63 72 |))..set |AppleScr|
|00000890| 69 70 74 27 73 20 74 65 | 78 74 20 69 74 65 6d 20 |ipt's te|xt item |
|000008a0| 64 65 6c 69 6d 69 74 65 | 72 73 20 74 6f 20 7b 22 |delimite|rs to {"|
|000008b0| 2c 22 7d 0d 09 73 65 74 | 20 4c 6f 63 61 6c 41 64 |,"}..set| LocalAd|
|000008c0| 64 72 65 73 73 20 74 6f | 20 28 4c 6f 63 61 6c 41 |dress to| (LocalA|
|000008d0| 64 64 72 65 73 73 20 61 | 73 20 73 74 72 69 6e 67 |ddress a|s string|
|000008e0| 29 20 26 20 22 2c 22 20 | 26 20 c2 0d 09 09 28 28 |) & "," |& ....((|
|000008f0| 72 6f 75 6e 64 20 28 33 | 33 32 31 20 2f 20 32 35 |round (3|321 / 25|
|00000900| 36 29 20 72 6f 75 6e 64 | 69 6e 67 20 64 6f 77 6e |6) round|ing down|
|00000910| 29 20 61 73 20 73 74 72 | 69 6e 67 29 20 26 20 22 |) as str|ing) & "|
|00000920| 2c 22 20 26 20 c2 0d 09 | 09 28 28 33 33 32 31 20 |," & ...|.((3321 |
|00000930| 6d 6f 64 20 32 35 36 29 | 20 61 73 20 73 74 72 69 |mod 256)| as stri|
|00000940| 6e 67 29 0d 09 0d 65 6e | 64 20 69 6e 69 74 0d 0d |ng)...en|d init..|
|00000950| 2d 2d 20 65 76 65 6e 74 | 20 57 53 4c 43 63 68 6b |-- event| WSLCchk|
|00000960| 31 20 68 61 6e 64 6c 65 | 72 20 2d 2d 2d 2d 2d 2d |1 handle|r ------|
|00000970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009c0| 2d 2d 0d 0d 6f 6e 20 c7 | 65 76 65 6e 74 20 57 53 |--..on .|event WS|
|000009d0| 4c 43 63 68 6b 31 c8 20 | 67 69 76 65 6e 20 6c 69 |LCchk1. |given li|
|000009e0| 6e 6b 43 6c 61 73 73 3a | 6c 69 6e 6b 43 6c 61 73 |nkClass:|linkClas|
|000009f0| 73 2c 20 68 74 74 70 41 | 64 64 72 65 73 73 3a 68 |s, httpA|ddress:h|
|00000a00| 74 74 70 41 64 64 72 65 | 73 73 2c 20 66 69 6c 65 |ttpAddre|ss, file|
|00000a10| 4e 61 6d 65 3a 66 69 6c | 65 4e 61 6d 65 2c 20 72 |Name:fil|eName, r|
|00000a20| 65 66 65 72 65 72 3a 72 | 65 66 65 72 65 72 0d 09 |eferer:r|eferer..|
|00000a30| 0d 09 67 6c 6f 62 61 6c | 20 48 54 54 50 46 69 72 |..global| HTTPFir|
|00000a40| 65 77 61 6c 6c 0d 09 67 | 6c 6f 62 61 6c 20 4e 6f |ewall..g|lobal No|
|00000a50| 50 72 6f 78 79 4f 6e 0d | 09 67 6c 6f 62 61 6c 20 |ProxyOn.|.global |
|00000a60| 43 68 65 63 6b 53 74 61 | 72 74 54 69 6d 65 0d 09 |CheckSta|rtTime..|
|00000a70| 67 6c 6f 62 61 6c 20 43 | 75 72 72 65 6e 74 50 61 |global C|urrentPa|
|00000a80| 75 73 65 54 69 6d 65 0d | 09 67 6c 6f 62 61 6c 20 |useTime.|.global |
|00000a90| 4f 75 74 53 74 72 0d 09 | 67 6c 6f 62 61 6c 20 43 |OutStr..|global C|
|00000aa0| 68 65 63 6b 43 6c 61 73 | 73 0d 09 67 6c 6f 62 61 |heckClas|s..globa|
|00000ab0| 6c 20 49 50 43 6f 6e 6e | 0d 09 67 6c 6f 62 61 6c |l IPConn|..global|
|00000ac0| 20 49 50 43 6f 6e 6e 32 | 0d 09 67 6c 6f 62 61 6c | IPConn2|..global|
|00000ad0| 20 46 54 50 53 74 61 74 | 75 73 43 6f 64 65 0d 09 | FTPStat|usCode..|
|00000ae0| 0d 09 67 6c 6f 62 61 6c | 20 4c 69 6e 6b 0d 09 67 |..global| Link..g|
|00000af0| 6c 6f 62 61 6c 20 4c 69 | 6e 6b 44 61 74 65 0d 09 |lobal Li|nkDate..|
|00000b00| 67 6c 6f 62 61 6c 20 4c | 69 6e 6b 52 65 73 75 6c |global L|inkResul|
|00000b10| 74 0d 09 67 6c 6f 62 61 | 6c 20 43 68 65 63 6b 54 |t..globa|l CheckT|
|00000b20| 68 69 73 4c 69 6e 6b 4e | 6f 77 0d 09 67 6c 6f 62 |hisLinkN|ow..glob|
|00000b30| 61 6c 20 46 54 50 46 69 | 6c 65 46 6f 75 6e 64 0d |al FTPFi|leFound.|
|00000b40| 09 67 6c 6f 62 61 6c 20 | 46 69 6c 65 4e 61 6d 65 |.global |FileName|
|00000b50| 4f 6e 6c 79 0d 09 0d 09 | 74 72 79 0d 09 09 0d 09 |Only....|try.....|
|00000b60| 09 73 65 74 20 4c 69 6e | 6b 20 74 6f 20 6c 69 6e |.set Lin|k to lin|
|00000b70| 6b 43 6c 61 73 73 20 26 | 20 22 3a 2f 2f 22 20 26 |kClass &| "://" &|
|00000b80| 20 68 74 74 70 41 64 64 | 72 65 73 73 20 26 20 66 | httpAdd|ress & f|
|00000b90| 69 6c 65 4e 61 6d 65 0d | 09 09 73 65 74 20 4c 69 |ileName.|..set Li|
|00000ba0| 6e 6b 44 61 74 65 20 74 | 6f 20 63 75 72 72 65 6e |nkDate t|o curren|
|00000bb0| 74 20 64 61 74 65 0d 09 | 09 73 65 74 20 4c 69 6e |t date..|.set Lin|
|00000bc0| 6b 52 65 73 75 6c 74 20 | 74 6f 20 22 22 0d 09 09 |kResult |to ""...|
|00000bd0| 0d 09 09 73 65 74 20 46 | 54 50 53 74 61 74 75 73 |...set F|TPStatus|
|00000be0| 43 6f 64 65 20 74 6f 20 | 30 0d 09 09 0d 09 09 4c |Code to |0......L|
|00000bf0| 69 6e 6b 53 74 6f 72 61 | 67 65 28 22 47 45 54 22 |inkStora|ge("GET"|
|00000c00| 29 0d 09 09 0d 09 09 69 | 66 20 6e 6f 74 20 43 68 |)......i|f not Ch|
|00000c10| 65 63 6b 54 68 69 73 4c | 69 6e 6b 4e 6f 77 20 74 |eckThisL|inkNow t|
|00000c20| 68 65 6e 0d 09 09 09 73 | 65 74 20 4f 75 74 53 74 |hen....s|et OutSt|
|00000c30| 72 20 74 6f 20 4c 69 6e | 6b 52 65 73 75 6c 74 0d |r to Lin|kResult.|
|00000c40| 09 09 65 6c 73 65 0d 09 | 09 09 73 65 74 20 4c 69 |..else..|..set Li|
|00000c50| 6e 6b 44 61 74 65 20 74 | 6f 20 63 75 72 72 65 6e |nkDate t|o curren|
|00000c60| 74 20 64 61 74 65 0d 09 | 09 09 0d 09 09 09 73 65 |t date..|......se|
|00000c70| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|00000c80| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 09 |lose(IPC|onn)....|
|00000c90| 73 65 74 20 49 50 43 6f | 6e 6e 32 20 74 6f 20 54 |set IPCo|nn2 to T|
|00000ca0| 43 50 43 6c 6f 73 65 28 | 49 50 43 6f 6e 6e 32 29 |CPClose(|IPConn2)|
|00000cb0| 0d 09 09 09 0d 09 09 09 | 73 65 74 20 4f 75 74 53 |........|set OutS|
|00000cc0| 74 72 20 74 6f 20 22 22 | 0d 09 09 09 73 65 74 20 |tr to ""|....set |
|00000cd0| 46 54 50 46 69 6c 65 46 | 6f 75 6e 64 20 74 6f 20 |FTPFileF|ound to |
|00000ce0| 66 61 6c 73 65 0d 09 09 | 09 0d 09 09 09 73 65 74 |false...|.....set|
|00000cf0| 20 6f 6c 64 44 65 6c 69 | 6d 69 74 65 72 73 20 74 | oldDeli|miters t|
|00000d00| 6f 20 41 70 70 6c 65 53 | 63 72 69 70 74 27 73 20 |o AppleS|cript's |
|00000d10| 74 65 78 74 20 69 74 65 | 6d 20 64 65 6c 69 6d 69 |text ite|m delimi|
|00000d20| 74 65 72 73 0d 09 09 09 | 73 65 74 20 41 70 70 6c |ters....|set Appl|
|00000d30| 65 53 63 72 69 70 74 27 | 73 20 74 65 78 74 20 69 |eScript'|s text i|
|00000d40| 74 65 6d 20 64 65 6c 69 | 6d 69 74 65 72 73 20 74 |tem deli|miters t|
|00000d50| 6f 20 22 3a 22 0d 09 09 | 09 0d 09 09 09 73 65 74 |o ":"...|.....set|
|00000d60| 20 68 6f 73 74 4e 61 6d | 65 20 74 6f 20 74 65 78 | hostNam|e to tex|
|00000d70| 74 20 69 74 65 6d 20 31 | 20 6f 66 20 68 74 74 70 |t item 1| of http|
|00000d80| 41 64 64 72 65 73 73 0d | 09 09 09 74 72 79 0d 09 |Address.|...try..|
|00000d90| 09 09 09 73 65 74 20 68 | 6f 73 74 50 6f 72 74 20 |...set h|ostPort |
|00000da0| 74 6f 20 74 65 78 74 20 | 69 74 65 6d 20 32 20 6f |to text |item 2 o|
|00000db0| 66 20 68 74 74 70 41 64 | 64 72 65 73 73 0d 09 09 |f httpAd|dress...|
|00000dc0| 09 6f 6e 20 65 72 72 6f | 72 0d 09 09 09 09 69 66 |.on erro|r.....if|
|00000dd0| 20 6c 69 6e 6b 43 6c 61 | 73 73 20 3d 20 22 68 74 | linkCla|ss = "ht|
|00000de0| 74 70 22 20 74 68 65 6e | 0d 09 09 09 09 09 73 65 |tp" then|......se|
|00000df0| 74 20 68 6f 73 74 50 6f | 72 74 20 74 6f 20 22 38 |t hostPo|rt to "8|
|00000e00| 30 22 0d 09 09 09 09 65 | 6c 73 65 20 69 66 20 6c |0".....e|lse if l|
|00000e10| 69 6e 6b 43 6c 61 73 73 | 20 3d 20 22 66 74 70 22 |inkClass| = "ftp"|
|00000e20| 20 74 68 65 6e 0d 09 09 | 09 09 09 73 65 74 20 68 | then...|...set h|
|00000e30| 6f 73 74 50 6f 72 74 20 | 74 6f 20 22 32 31 22 0d |ostPort |to "21".|
|00000e40| 09 09 09 09 65 6c 73 65 | 20 69 66 20 6c 69 6e 6b |....else| if link|
|00000e50| 43 6c 61 73 73 20 3d 20 | 22 67 6f 70 68 65 72 22 |Class = |"gopher"|
|00000e60| 20 74 68 65 6e 0d 09 09 | 09 09 09 73 65 74 20 68 | then...|...set h|
|00000e70| 6f 73 74 50 6f 72 74 20 | 74 6f 20 22 37 30 22 0d |ostPort |to "70".|
|00000e80| 09 09 09 09 65 6e 64 20 | 69 66 0d 09 09 09 65 6e |....end |if....en|
|00000e90| 64 20 74 72 79 0d 09 09 | 09 0d 09 09 09 73 65 74 |d try...|.....set|
|00000ea0| 20 41 70 70 6c 65 53 63 | 72 69 70 74 27 73 20 74 | AppleSc|ript's t|
|00000eb0| 65 78 74 20 69 74 65 6d | 20 64 65 6c 69 6d 69 74 |ext item| delimit|
|00000ec0| 65 72 73 20 74 6f 20 6f | 6c 64 44 65 6c 69 6d 69 |ers to o|ldDelimi|
|00000ed0| 74 65 72 73 0d 09 09 09 | 0d 09 09 09 69 66 20 6c |ters....|....if l|
|00000ee0| 69 6e 6b 43 6c 61 73 73 | 20 3d 20 22 66 74 70 22 |inkClass| = "ftp"|
|00000ef0| 20 74 68 65 6e 0d 09 09 | 09 09 69 66 20 66 69 6c | then...|..if fil|
|00000f00| 65 4e 61 6d 65 20 3d 20 | 22 22 20 6f 72 20 66 69 |eName = |"" or fi|
|00000f10| 6c 65 4e 61 6d 65 20 3d | 20 22 2f 22 20 74 68 65 |leName =| "/" the|
|00000f20| 6e 0d 09 09 09 09 09 73 | 65 74 20 66 69 6c 65 4e |n......s|et fileN|
|00000f30| 61 6d 65 20 74 6f 20 22 | 2f 22 0d 09 09 09 09 09 |ame to "|/"......|
|00000f40| 73 65 74 20 46 69 6c 65 | 4e 61 6d 65 4f 6e 6c 79 |set File|NameOnly|
|00000f50| 20 74 6f 20 22 22 0d 09 | 09 09 09 65 6c 73 65 0d | to ""..|...else.|
|00000f60| 09 09 09 09 09 73 65 74 | 20 73 6c 61 73 68 50 6f |.....set| slashPo|
|00000f70| 73 69 74 69 6f 6e 20 74 | 6f 20 30 0d 09 09 09 09 |sition t|o 0.....|
|00000f80| 09 72 65 70 65 61 74 20 | 77 69 74 68 20 69 20 66 |.repeat |with i f|
|00000f90| 72 6f 6d 20 31 20 74 6f | 20 6c 65 6e 67 74 68 20 |rom 1 to| length |
|00000fa0| 6f 66 20 66 69 6c 65 4e | 61 6d 65 0d 09 09 09 09 |of fileN|ame.....|
|00000fb0| 09 09 69 66 20 63 68 61 | 72 61 63 74 65 72 20 69 |..if cha|racter i|
|00000fc0| 20 6f 66 20 66 69 6c 65 | 4e 61 6d 65 20 3d 20 22 | of file|Name = "|
|00000fd0| 2f 22 20 74 68 65 6e 0d | 09 09 09 09 09 09 09 73 |/" then.|.......s|
|00000fe0| 65 74 20 73 6c 61 73 68 | 50 6f 73 69 74 69 6f 6e |et slash|Position|
|00000ff0| 20 74 6f 20 69 0d 09 09 | 09 09 09 09 65 6e 64 20 | to i...|....end |
|00001000| 69 66 0d 09 09 09 09 09 | 65 6e 64 20 72 65 70 65 |if......|end repe|
|00001010| 61 74 0d 09 09 09 09 09 | 0d 09 09 09 09 09 73 65 |at......|......se|
|00001020| 74 20 46 69 6c 65 4e 61 | 6d 65 4f 6e 6c 79 20 74 |t FileNa|meOnly t|
|00001030| 6f 20 22 22 0d 09 09 09 | 09 09 73 65 74 20 6e 61 |o ""....|..set na|
|00001040| 6d 65 4c 65 6e 67 74 68 | 20 74 6f 20 6c 65 6e 67 |meLength| to leng|
|00001050| 74 68 20 6f 66 20 66 69 | 6c 65 4e 61 6d 65 0d 09 |th of fi|leName..|
|00001060| 09 09 09 09 69 66 20 73 | 6c 61 73 68 50 6f 73 69 |....if s|lashPosi|
|00001070| 74 69 6f 6e 20 3c 20 6e | 61 6d 65 4c 65 6e 67 74 |tion < n|ameLengt|
|00001080| 68 20 74 68 65 6e 0d 09 | 09 09 09 09 09 73 65 74 |h then..|.....set|
|00001090| 20 46 69 6c 65 4e 61 6d | 65 4f 6e 6c 79 20 74 6f | FileNam|eOnly to|
|000010a0| 20 74 65 78 74 20 28 73 | 6c 61 73 68 50 6f 73 69 | text (s|lashPosi|
|000010b0| 74 69 6f 6e 20 2b 20 31 | 29 20 74 68 72 75 20 6e |tion + 1|) thru n|
|000010c0| 61 6d 65 4c 65 6e 67 74 | 68 20 6f 66 20 66 69 6c |ameLengt|h of fil|
|000010d0| 65 4e 61 6d 65 0d 09 09 | 09 09 09 65 6e 64 20 69 |eName...|...end i|
|000010e0| 66 0d 09 09 09 09 09 69 | 66 20 73 6c 61 73 68 50 |f......i|f slashP|
|000010f0| 6f 73 69 74 69 6f 6e 20 | 3e 20 31 20 74 68 65 6e |osition |> 1 then|
|00001100| 0d 09 09 09 09 09 09 73 | 65 74 20 66 69 6c 65 4e |.......s|et fileN|
|00001110| 61 6d 65 20 74 6f 20 74 | 65 78 74 20 31 20 74 68 |ame to t|ext 1 th|
|00001120| 72 75 20 28 73 6c 61 73 | 68 50 6f 73 69 74 69 6f |ru (slas|hPositio|
|00001130| 6e 20 2d 20 31 29 20 6f | 66 20 66 69 6c 65 4e 61 |n - 1) o|f fileNa|
|00001140| 6d 65 20 2d 2d 20 61 63 | 74 75 61 6c 6c 79 20 74 |me -- ac|tually t|
|00001150| 68 65 20 64 69 72 65 63 | 74 6f 72 79 20 6e 61 6d |he direc|tory nam|
|00001160| 65 0d 09 09 09 09 09 65 | 6c 73 65 0d 09 09 09 09 |e......e|lse.....|
|00001170| 09 09 73 65 74 20 66 69 | 6c 65 4e 61 6d 65 20 74 |..set fi|leName t|
|00001180| 6f 20 22 2f 22 0d 09 09 | 09 09 09 65 6e 64 20 69 |o "/"...|...end i|
|00001190| 66 0d 09 09 09 09 65 6e | 64 20 69 66 0d 09 09 09 |f.....en|d if....|
|000011a0| 65 6e 64 20 69 66 0d 09 | 09 09 0d 09 09 09 73 65 |end if..|......se|
|000011b0| 74 20 43 68 65 63 6b 43 | 6c 61 73 73 20 74 6f 20 |t CheckC|lass to |
|000011c0| 6c 69 6e 6b 43 6c 61 73 | 73 0d 09 09 09 69 66 20 |linkClas|s....if |
|000011d0| 48 54 54 50 46 69 72 65 | 77 61 6c 6c 20 ad 20 22 |HTTPFire|wall . "|
|000011e0| 22 20 74 68 65 6e 0d 09 | 09 09 09 73 65 74 20 43 |" then..|...set C|
|000011f0| 68 65 63 6b 43 6c 61 73 | 73 20 74 6f 20 43 68 65 |heckClas|s to Che|
|00001200| 63 6b 43 6c 61 73 73 20 | 26 20 22 46 69 72 65 77 |ckClass |& "Firew|
|00001210| 61 6c 6c 22 0d 09 09 09 | 09 72 65 70 65 61 74 20 |all"....|.repeat |
|00001220| 77 69 74 68 20 69 20 66 | 72 6f 6d 20 31 20 74 6f |with i f|rom 1 to|
|00001230| 20 6c 65 6e 67 74 68 20 | 6f 66 20 4e 6f 50 72 6f | length |of NoPro|
|00001240| 78 79 4f 6e 0d 09 09 09 | 09 09 69 66 20 68 74 74 |xyOn....|..if htt|
|00001250| 70 41 64 64 72 65 73 73 | 20 63 6f 6e 74 61 69 6e |pAddress| contain|
|00001260| 73 20 28 69 74 65 6d 20 | 69 20 6f 66 20 4e 6f 50 |s (item |i of NoP|
|00001270| 72 6f 78 79 4f 6e 29 20 | 74 68 65 6e 0d 09 09 09 |roxyOn) |then....|
|00001280| 09 09 09 73 65 74 20 43 | 68 65 63 6b 43 6c 61 73 |...set C|heckClas|
|00001290| 73 20 74 6f 20 6c 69 6e | 6b 43 6c 61 73 73 0d 09 |s to lin|kClass..|
|000012a0| 09 09 09 09 65 6e 64 20 | 69 66 0d 09 09 09 09 65 |....end |if.....e|
|000012b0| 6e 64 20 72 65 70 65 61 | 74 0d 09 09 09 65 6e 64 |nd repea|t....end|
|000012c0| 20 69 66 0d 09 09 09 0d | 09 09 09 73 65 74 20 43 | if.....|...set C|
|000012d0| 68 65 63 6b 53 74 61 72 | 74 54 69 6d 65 20 74 6f |heckStar|tTime to|
|000012e0| 20 63 75 72 72 65 6e 74 | 20 64 61 74 65 0d 09 09 | current| date...|
|000012f0| 09 0d 09 09 09 69 66 20 | 43 68 65 63 6b 43 6c 61 |.....if |CheckCla|
|00001300| 73 73 20 3d 20 22 68 74 | 74 70 22 20 74 68 65 6e |ss = "ht|tp" then|
|00001310| 0d 09 09 09 09 49 6e 69 | 74 48 54 54 50 28 68 6f |.....Ini|tHTTP(ho|
|00001320| 73 74 4e 61 6d 65 2c 20 | 68 6f 73 74 50 6f 72 74 |stName, |hostPort|
|00001330| 2c 20 66 69 6c 65 4e 61 | 6d 65 2c 20 72 65 66 65 |, fileNa|me, refe|
|00001340| 72 65 72 29 0d 09 09 09 | 65 6c 73 65 20 69 66 20 |rer)....|else if |
|00001350| 43 68 65 63 6b 43 6c 61 | 73 73 20 3d 20 22 68 74 |CheckCla|ss = "ht|
|00001360| 74 70 46 69 72 65 77 61 | 6c 6c 22 20 74 68 65 6e |tpFirewa|ll" then|
|00001370| 0d 09 09 09 09 49 6e 69 | 74 48 54 54 50 46 69 72 |.....Ini|tHTTPFir|
|00001380| 65 77 61 6c 6c 28 68 6f | 73 74 4e 61 6d 65 2c 20 |ewall(ho|stName, |
|00001390| 68 6f 73 74 50 6f 72 74 | 2c 20 66 69 6c 65 4e 61 |hostPort|, fileNa|
|000013a0| 6d 65 2c 20 72 65 66 65 | 72 65 72 29 0d 09 09 09 |me, refe|rer)....|
|000013b0| 65 6c 73 65 20 69 66 20 | 43 68 65 63 6b 43 6c 61 |else if |CheckCla|
|000013c0| 73 73 20 3d 20 22 67 6f | 70 68 65 72 22 20 74 68 |ss = "go|pher" th|
|000013d0| 65 6e 0d 09 09 09 09 49 | 6e 69 74 47 6f 70 68 65 |en.....I|nitGophe|
|000013e0| 72 28 68 6f 73 74 4e 61 | 6d 65 2c 20 68 6f 73 74 |r(hostNa|me, host|
|000013f0| 50 6f 72 74 2c 20 66 69 | 6c 65 4e 61 6d 65 2c 20 |Port, fi|leName, |
|00001400| 72 65 66 65 72 65 72 29 | 0d 09 09 09 65 6c 73 65 |referer)|....else|
|00001410| 20 69 66 20 43 68 65 63 | 6b 43 6c 61 73 73 20 3d | if Chec|kClass =|
|00001420| 20 22 67 6f 70 68 65 72 | 46 69 72 65 77 61 6c 6c | "gopher|Firewall|
|00001430| 22 20 74 68 65 6e 0d 09 | 09 09 09 49 6e 69 74 47 |" then..|...InitG|
|00001440| 6f 70 68 65 72 46 69 72 | 65 77 61 6c 6c 28 68 6f |opherFir|ewall(ho|
|00001450| 73 74 4e 61 6d 65 2c 20 | 68 6f 73 74 50 6f 72 74 |stName, |hostPort|
|00001460| 2c 20 66 69 6c 65 4e 61 | 6d 65 2c 20 72 65 66 65 |, fileNa|me, refe|
|00001470| 72 65 72 29 0d 09 09 09 | 65 6c 73 65 20 69 66 20 |rer)....|else if |
|00001480| 43 68 65 63 6b 43 6c 61 | 73 73 20 3d 20 22 66 74 |CheckCla|ss = "ft|
|00001490| 70 22 20 74 68 65 6e 0d | 09 09 09 09 49 6e 69 74 |p" then.|....Init|
|000014a0| 46 54 50 28 68 6f 73 74 | 4e 61 6d 65 2c 20 68 6f |FTP(host|Name, ho|
|000014b0| 73 74 50 6f 72 74 2c 20 | 66 69 6c 65 4e 61 6d 65 |stPort, |fileName|
|000014c0| 2c 20 72 65 66 65 72 65 | 72 29 0d 09 09 09 65 6c |, refere|r)....el|
|000014d0| 73 65 20 69 66 20 43 68 | 65 63 6b 43 6c 61 73 73 |se if Ch|eckClass|
|000014e0| 20 3d 20 22 66 74 70 46 | 69 72 65 77 61 6c 6c 22 | = "ftpF|irewall"|
|000014f0| 20 74 68 65 6e 0d 09 09 | 09 09 49 6e 69 74 46 54 | then...|..InitFT|
|00001500| 50 46 69 72 65 77 61 6c | 6c 28 68 6f 73 74 4e 61 |PFirewal|l(hostNa|
|00001510| 6d 65 2c 20 68 6f 73 74 | 50 6f 72 74 2c 20 66 69 |me, host|Port, fi|
|00001520| 6c 65 4e 61 6d 65 2c 20 | 72 65 66 65 72 65 72 29 |leName, |referer)|
|00001530| 0d 09 09 09 65 6e 64 20 | 69 66 0d 09 09 09 73 65 |....end |if....se|
|00001540| 74 20 43 75 72 72 65 6e | 74 50 61 75 73 65 54 69 |t Curren|tPauseTi|
|00001550| 6d 65 20 74 6f 20 31 0d | 09 09 65 6e 64 20 69 66 |me to 1.|..end if|
|00001560| 0d 09 09 0d 09 6f 6e 20 | 65 72 72 6f 72 20 65 72 |.....on |error er|
|00001570| 72 54 65 78 74 20 6e 75 | 6d 62 65 72 20 65 72 72 |rText nu|mber err|
|00001580| 4e 75 6d 62 65 72 0d 09 | 09 73 65 74 20 4f 75 74 |Number..|.set Out|
|00001590| 53 74 72 20 74 6f 20 4f | 75 74 53 74 72 20 26 20 |Str to O|utStr & |
|000015a0| 42 43 20 26 20 22 45 72 | 72 6f 72 3a 20 5b 55 74 |BC & "Er|ror: [Ut|
|000015b0| 69 6c 69 74 69 65 73 20 | 63 68 6b 31 20 65 76 65 |ilities |chk1 eve|
|000015c0| 6e 74 5d 20 22 20 26 20 | 65 72 72 54 65 78 74 20 |nt] " & |errText |
|000015d0| 26 20 22 20 28 22 20 26 | 20 65 72 72 4e 75 6d 62 |& " (" &| errNumb|
|000015e0| 65 72 20 26 20 22 29 2e | 22 0d 09 65 6e 64 20 74 |er & ").|"..end t|
|000015f0| 72 79 0d 09 0d 65 6e 64 | 20 c7 65 76 65 6e 74 20 |ry...end| .event |
|00001600| 57 53 4c 43 63 68 6b 31 | c8 0d 0d 2d 2d 20 73 75 |WSLCchk1|...-- su|
|00001610| 62 72 6f 75 74 69 6e 65 | 20 49 6e 69 74 48 54 54 |broutine| InitHTT|
|00001620| 50 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |P ------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 6f 6e |--------|----..on|
|00001670| 20 49 6e 69 74 48 54 54 | 50 28 68 74 74 70 48 6f | InitHTT|P(httpHo|
|00001680| 73 74 2c 20 68 74 74 70 | 50 6f 72 74 2c 20 66 69 |st, http|Port, fi|
|00001690| 6c 65 4e 61 6d 65 2c 20 | 72 65 66 65 72 65 72 29 |leName, |referer)|
|000016a0| 0d 09 0d 09 67 6c 6f 62 | 61 6c 20 46 72 6f 6d 41 |....glob|al FromA|
|000016b0| 64 64 72 65 73 73 0d 09 | 67 6c 6f 62 61 6c 20 53 |ddress..|global S|
|000016c0| 6f 66 74 77 61 72 65 56 | 65 72 73 69 6f 6e 0d 09 |oftwareV|ersion..|
|000016d0| 67 6c 6f 62 61 6c 20 4f | 75 74 53 74 72 0d 09 67 |global O|utStr..g|
|000016e0| 6c 6f 62 61 6c 20 49 50 | 43 6f 6e 6e 0d 09 67 6c |lobal IP|Conn..gl|
|000016f0| 6f 62 61 6c 20 4e 6f 54 | 65 73 74 45 78 74 65 72 |obal NoT|estExter|
|00001700| 6e 61 6c 43 6c 61 73 73 | 65 73 0d 09 0d 09 69 66 |nalClass|es....if|
|00001710| 20 4e 6f 54 65 73 74 45 | 78 74 65 72 6e 61 6c 43 | NoTestE|xternalC|
|00001720| 6c 61 73 73 65 73 20 63 | 6f 6e 74 61 69 6e 73 20 |lasses c|ontains |
|00001730| 22 68 74 74 70 22 20 74 | 68 65 6e 0d 09 09 73 65 |"http" t|hen...se|
|00001740| 74 20 4f 75 74 53 74 72 | 20 74 6f 20 42 43 20 26 |t OutStr| to BC &|
|00001750| 20 22 4e 6f 74 65 3a 20 | 48 54 54 50 20 6c 69 6e | "Note: |HTTP lin|
|00001760| 6b 73 20 61 72 65 20 6e | 6f 74 20 70 72 65 73 65 |ks are n|ot prese|
|00001770| 6e 74 6c 79 20 62 65 69 | 6e 67 20 63 68 65 63 6b |ntly bei|ng check|
|00001780| 65 64 2e 22 0d 09 65 6c | 73 65 0d 09 09 74 72 79 |ed."..el|se...try|
|00001790| 0d 09 09 09 73 65 74 20 | 49 50 43 6f 6e 6e 20 74 |....set |IPConn t|
|000017a0| 6f 20 74 63 70 20 63 6f | 6e 6e 65 63 74 20 74 6f |o tcp co|nnect to|
|000017b0| 20 68 6f 73 74 20 68 74 | 74 70 48 6f 73 74 20 70 | host ht|tpHost p|
|000017c0| 6f 72 74 20 68 74 74 70 | 50 6f 72 74 0d 09 09 09 |ort http|Port....|
|000017d0| 73 65 74 20 73 65 6e 64 | 53 74 72 69 6e 67 20 74 |set send|String t|
|000017e0| 6f 20 22 48 45 41 44 20 | 22 20 26 20 66 69 6c 65 |o "HEAD |" & file|
|000017f0| 4e 61 6d 65 20 26 20 22 | 20 48 54 54 50 2f 31 2e |Name & "| HTTP/1.|
|00001800| 30 22 20 26 20 43 4c 20 | 26 20 c2 0d 09 09 09 09 |0" & CL |& ......|
|00001810| 22 46 72 6f 6d 3a 20 22 | 20 26 20 46 72 6f 6d 41 |"From: "| & FromA|
|00001820| 64 64 72 65 73 73 20 26 | 20 43 4c 20 26 20 c2 0d |ddress &| CL & ..|
|00001830| 09 09 09 09 22 41 63 63 | 65 70 74 3a 20 2a 2f 2a |...."Acc|ept: */*|
|00001840| 22 20 26 20 43 4c 20 26 | 20 c2 0d 09 09 09 09 22 |" & CL &| ......"|
|00001850| 55 73 65 72 2d 41 67 65 | 6e 74 3a 20 57 65 62 53 |User-Age|nt: WebS|
|00001860| 74 61 72 4c 69 6e 6b 43 | 68 65 63 6b 65 72 2f 22 |tarLinkC|hecker/"|
|00001870| 20 26 20 53 6f 66 74 77 | 61 72 65 56 65 72 73 69 | & Softw|areVersi|
|00001880| 6f 6e 20 26 20 43 4c 20 | 26 20 c2 0d 09 09 09 09 |on & CL |& ......|
|00001890| 22 52 65 66 65 72 65 72 | 3a 20 22 20 26 20 72 65 |"Referer|: " & re|
|000018a0| 66 65 72 65 72 20 26 20 | 43 4c 20 26 20 43 4c 0d |ferer & |CL & CL.|
|000018b0| 09 09 09 74 63 70 20 77 | 72 69 74 65 20 73 74 72 |...tcp w|rite str|
|000018c0| 65 61 6d 20 49 50 43 6f | 6e 6e 20 64 61 74 61 20 |eam IPCo|nn data |
|000018d0| 73 65 6e 64 53 74 72 69 | 6e 67 20 75 73 69 6e 67 |sendStri|ng using|
|000018e0| 20 52 61 77 20 44 61 74 | 61 0d 09 09 6f 6e 20 65 | Raw Dat|a...on e|
|000018f0| 72 72 6f 72 20 65 72 72 | 54 65 78 74 20 6e 75 6d |rror err|Text num|
|00001900| 62 65 72 20 65 72 72 4e | 75 6d 62 65 72 0d 09 09 |ber errN|umber...|
|00001910| 09 73 65 74 20 4f 75 74 | 53 74 72 20 74 6f 20 42 |.set Out|Str to B|
|00001920| 43 20 26 20 22 45 72 72 | 6f 72 3a 20 5b 49 6e 69 |C & "Err|or: [Ini|
|00001930| 74 48 54 54 50 5d 20 22 | 20 26 20 65 72 72 54 65 |tHTTP] "| & errTe|
|00001940| 78 74 20 26 20 22 20 28 | 22 20 26 20 65 72 72 4e |xt & " (|" & errN|
|00001950| 75 6d 62 65 72 20 26 20 | 22 29 2e 22 0d 09 09 09 |umber & |")."....|
|00001960| 73 65 74 20 49 50 43 6f | 6e 6e 20 74 6f 20 54 43 |set IPCo|nn to TC|
|00001970| 50 43 6c 6f 73 65 28 49 | 50 43 6f 6e 6e 29 0d 09 |PClose(I|PConn)..|
|00001980| 09 65 6e 64 20 74 72 79 | 0d 09 65 6e 64 20 69 66 |.end try|..end if|
|00001990| 0d 09 0d 65 6e 64 20 49 | 6e 69 74 48 54 54 50 0d |...end I|nitHTTP.|
|000019a0| 0d 2d 2d 20 53 75 62 72 | 6f 75 74 69 6e 65 20 49 |.-- Subr|outine I|
|000019b0| 6e 69 74 48 54 54 50 46 | 69 72 65 77 61 6c 6c 20 |nitHTTPF|irewall |
|000019c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a00| 2d 2d 2d 0d 0d 6f 6e 20 | 49 6e 69 74 48 54 54 50 |---..on |InitHTTP|
|00001a10| 46 69 72 65 77 61 6c 6c | 28 68 74 74 70 48 6f 73 |Firewall|(httpHos|
|00001a20| 74 2c 20 68 74 74 70 50 | 6f 72 74 2c 20 66 69 6c |t, httpP|ort, fil|
|00001a30| 65 4e 61 6d 65 2c 20 72 | 65 66 65 72 65 72 29 0d |eName, r|eferer).|
|00001a40| 09 0d 09 67 6c 6f 62 61 | 6c 20 46 72 6f 6d 41 64 |...globa|l FromAd|
|00001a50| 64 72 65 73 73 0d 09 67 | 6c 6f 62 61 6c 20 48 54 |dress..g|lobal HT|
|00001a60| 54 50 46 69 72 65 77 61 | 6c 6c 0d 09 67 6c 6f 62 |TPFirewa|ll..glob|
|00001a70| 61 6c 20 53 6f 66 74 77 | 61 72 65 56 65 72 73 69 |al Softw|areVersi|
|00001a80| 6f 6e 0d 09 67 6c 6f 62 | 61 6c 20 4f 75 74 53 74 |on..glob|al OutSt|
|00001a90| 72 0d 09 67 6c 6f 62 61 | 6c 20 49 50 43 6f 6e 6e |r..globa|l IPConn|
|00001aa0| 0d 09 67 6c 6f 62 61 6c | 20 4e 6f 54 65 73 74 45 |..global| NoTestE|
|00001ab0| 78 74 65 72 6e 61 6c 43 | 6c 61 73 73 65 73 0d 09 |xternalC|lasses..|
|00001ac0| 67 6c 6f 62 61 6c 20 48 | 54 54 50 46 69 72 65 77 |global H|TTPFirew|
|00001ad0| 61 6c 6c 4d 65 74 68 6f | 64 0d 09 0d 09 69 66 20 |allMetho|d....if |
|00001ae0| 4e 6f 54 65 73 74 45 78 | 74 65 72 6e 61 6c 43 6c |NoTestEx|ternalCl|
|00001af0| 61 73 73 65 73 20 63 6f | 6e 74 61 69 6e 73 20 22 |asses co|ntains "|
|00001b00| 68 74 74 70 46 69 72 65 | 77 61 6c 6c 22 20 74 68 |httpFire|wall" th|
|00001b10| 65 6e 0d 09 09 73 65 74 | 20 4f 75 74 53 74 72 20 |en...set| OutStr |
|00001b20| 74 6f 20 42 43 20 26 20 | 22 4e 6f 74 65 3a 20 48 |to BC & |"Note: H|
|00001b30| 54 54 50 20 46 69 72 65 | 77 61 6c 6c 20 6c 69 6e |TTP Fire|wall lin|
|00001b40| 6b 73 20 61 72 65 20 6e | 6f 74 20 70 72 65 73 65 |ks are n|ot prese|
|00001b50| 6e 74 6c 79 20 62 65 69 | 6e 67 20 63 68 65 63 6b |ntly bei|ng check|
|00001b60| 65 64 2e 22 0d 09 65 6c | 73 65 0d 09 09 73 65 74 |ed."..el|se...set|
|00001b70| 20 6f 6c 64 44 65 6c 69 | 6d 69 74 65 72 73 20 74 | oldDeli|miters t|
|00001b80| 6f 20 41 70 70 6c 65 53 | 63 72 69 70 74 27 73 20 |o AppleS|cript's |
|00001b90| 74 65 78 74 20 69 74 65 | 6d 20 64 65 6c 69 6d 69 |text ite|m delimi|
|00001ba0| 74 65 72 73 0d 09 09 73 | 65 74 20 41 70 70 6c 65 |ters...s|et Apple|
|00001bb0| 53 63 72 69 70 74 27 73 | 20 74 65 78 74 20 69 74 |Script's| text it|
|00001bc0| 65 6d 20 64 65 6c 69 6d | 69 74 65 72 73 20 74 6f |em delim|iters to|
|00001bd0| 20 22 3a 22 0d 09 09 0d | 09 09 73 65 74 20 66 69 | ":"....|..set fi|
|00001be0| 72 65 77 61 6c 6c 48 6f | 73 74 20 74 6f 20 74 65 |rewallHo|st to te|
|00001bf0| 78 74 20 69 74 65 6d 20 | 31 20 6f 66 20 48 54 54 |xt item |1 of HTT|
|00001c00| 50 46 69 72 65 77 61 6c | 6c 0d 09 09 74 72 79 0d |PFirewal|l...try.|
|00001c10| 09 09 09 73 65 74 20 66 | 69 72 65 77 61 6c 6c 50 |...set f|irewallP|
|00001c20| 6f 72 74 20 74 6f 20 74 | 65 78 74 20 69 74 65 6d |ort to t|ext item|
|00001c30| 20 32 20 6f 66 20 48 54 | 54 50 46 69 72 65 77 61 | 2 of HT|TPFirewa|
|00001c40| 6c 6c 0d 09 09 6f 6e 20 | 65 72 72 6f 72 0d 09 09 |ll...on |error...|
|00001c50| 09 73 65 74 20 66 69 72 | 65 77 61 6c 6c 50 6f 72 |.set fir|ewallPor|
|00001c60| 74 20 74 6f 20 22 38 30 | 22 0d 09 09 65 6e 64 20 |t to "80|"...end |
|00001c70| 74 72 79 0d 09 09 0d 09 | 09 73 65 74 20 41 70 70 |try.....|.set App|
|00001c80| 6c 65 53 63 72 69 70 74 | 27 73 20 74 65 78 74 20 |leScript|'s text |
|00001c90| 69 74 65 6d 20 64 65 6c | 69 6d 69 74 65 72 73 20 |item del|imiters |
|00001ca0| 74 6f 20 6f 6c 64 44 65 | 6c 69 6d 69 74 65 72 73 |to oldDe|limiters|
|00001cb0| 0d 09 09 0d 09 09 74 72 | 79 0d 09 09 09 73 65 74 |......tr|y....set|
|00001cc0| 20 49 50 43 6f 6e 6e 20 | 74 6f 20 74 63 70 20 63 | IPConn |to tcp c|
|00001cd0| 6f 6e 6e 65 63 74 20 74 | 6f 20 68 6f 73 74 20 66 |onnect t|o host f|
|00001ce0| 69 72 65 77 61 6c 6c 48 | 6f 73 74 20 70 6f 72 74 |irewallH|ost port|
|00001cf0| 20 66 69 72 65 77 61 6c | 6c 50 6f 72 74 0d 09 09 | firewal|lPort...|
|00001d00| 09 73 65 74 20 73 65 6e | 64 53 74 72 69 6e 67 20 |.set sen|dString |
|00001d10| 74 6f 20 48 54 54 50 46 | 69 72 65 77 61 6c 6c 4d |to HTTPF|irewallM|
|00001d20| 65 74 68 6f 64 20 26 20 | 22 20 68 74 74 70 3a 2f |ethod & |" http:/|
|00001d30| 2f 22 20 26 20 68 74 74 | 70 48 6f 73 74 20 26 20 |/" & htt|pHost & |
|00001d40| 22 3a 22 20 26 20 68 74 | 74 70 50 6f 72 74 20 26 |":" & ht|tpPort &|
|00001d50| 20 66 69 6c 65 4e 61 6d | 65 20 26 20 c2 0d 09 09 | fileNam|e & ....|
|00001d60| 09 09 22 20 48 54 54 50 | 2f 31 2e 30 22 20 26 20 |.." HTTP|/1.0" & |
|00001d70| 43 4c 20 26 20 c2 0d 09 | 09 09 09 22 46 72 6f 6d |CL & ...|..."From|
|00001d80| 3a 20 22 20 26 20 46 72 | 6f 6d 41 64 64 72 65 73 |: " & Fr|omAddres|
|00001d90| 73 20 26 20 43 4c 20 26 | 20 c2 0d 09 09 09 09 22 |s & CL &| ......"|
|00001da0| 41 63 63 65 70 74 3a 20 | 2a 2f 2a 22 20 26 20 43 |Accept: |*/*" & C|
|00001db0| 4c 20 26 20 c2 0d 09 09 | 09 09 22 55 73 65 72 2d |L & ....|.."User-|
|00001dc0| 41 67 65 6e 74 3a 20 57 | 65 62 53 74 61 72 4c 69 |Agent: W|ebStarLi|
|00001dd0| 6e 6b 43 68 65 63 6b 65 | 72 2f 22 20 26 20 53 6f |nkChecke|r/" & So|
|00001de0| 66 74 77 61 72 65 56 65 | 72 73 69 6f 6e 20 26 20 |ftwareVe|rsion & |
|00001df0| 43 4c 20 26 20 c2 0d 09 | 09 09 09 22 52 65 66 65 |CL & ...|..."Refe|
|00001e00| 72 65 72 3a 20 22 20 26 | 20 72 65 66 65 72 65 72 |rer: " &| referer|
|00001e10| 20 26 20 43 4c 20 26 20 | 43 4c 0d 09 09 09 74 63 | & CL & |CL....tc|
|00001e20| 70 20 77 72 69 74 65 20 | 73 74 72 65 61 6d 20 49 |p write |stream I|
|00001e30| 50 43 6f 6e 6e 20 64 61 | 74 61 20 73 65 6e 64 53 |PConn da|ta sendS|
|00001e40| 74 72 69 6e 67 20 75 73 | 69 6e 67 20 52 61 77 20 |tring us|ing Raw |
|00001e50| 44 61 74 61 0d 09 09 6f | 6e 20 65 72 72 6f 72 20 |Data...o|n error |
|00001e60| 65 72 72 54 65 78 74 20 | 6e 75 6d 62 65 72 20 65 |errText |number e|
|00001e70| 72 72 4e 75 6d 62 65 72 | 0d 09 09 09 73 65 74 20 |rrNumber|....set |
|00001e80| 4f 75 74 53 74 72 20 74 | 6f 20 42 43 20 26 20 22 |OutStr t|o BC & "|
|00001e90| 45 72 72 6f 72 3a 20 5b | 49 6e 69 74 48 54 54 50 |Error: [|InitHTTP|
|00001ea0| 46 69 72 65 77 61 6c 6c | 5d 20 22 20 26 20 65 72 |Firewall|] " & er|
|00001eb0| 72 54 65 78 74 20 26 20 | 22 20 28 22 20 26 20 65 |rText & |" (" & e|
|00001ec0| 72 72 4e 75 6d 62 65 72 | 20 26 20 22 29 2e 22 0d |rrNumber| & ").".|
|00001ed0| 09 09 09 73 65 74 20 49 | 50 43 6f 6e 6e 20 74 6f |...set I|PConn to|
|00001ee0| 20 54 43 50 43 6c 6f 73 | 65 28 49 50 43 6f 6e 6e | TCPClos|e(IPConn|
|00001ef0| 29 0d 09 09 65 6e 64 20 | 74 72 79 0d 09 65 6e 64 |)...end |try..end|
|00001f00| 20 69 66 0d 09 0d 65 6e | 64 20 49 6e 69 74 48 54 | if...en|d InitHT|
|00001f10| 54 50 46 69 72 65 77 61 | 6c 6c 0d 0d 2d 2d 20 73 |TPFirewa|ll..-- s|
|00001f20| 75 62 72 6f 75 74 69 6e | 65 20 43 68 65 63 6b 48 |ubroutin|e CheckH|
|00001f30| 54 54 50 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |TTP ----|--------|
|00001f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f80| 2d 2d 2d 2d 0d 0d 6f 6e | 20 43 68 65 63 6b 48 54 |----..on| CheckHT|
|00001f90| 54 50 28 29 0d 09 0d 09 | 67 6c 6f 62 61 6c 20 49 |TP()....|global I|
|00001fa0| 50 43 6f 6e 6e 0d 09 67 | 6c 6f 62 61 6c 20 4f 75 |PConn..g|lobal Ou|
|00001fb0| 74 53 74 72 0d 09 67 6c | 6f 62 61 6c 20 43 68 65 |tStr..gl|obal Che|
|00001fc0| 63 6b 53 74 61 72 74 54 | 69 6d 65 0d 09 67 6c 6f |ckStartT|ime..glo|
|00001fd0| 62 61 6c 20 4d 61 73 74 | 65 72 54 69 6d 65 6f 75 |bal Mast|erTimeou|
|00001fe0| 74 0d 09 67 6c 6f 62 61 | 6c 20 4d 61 74 63 68 4c |t..globa|l MatchL|
|00001ff0| 69 73 74 0d 09 0d 09 74 | 72 79 0d 09 09 0d 09 09 |ist....t|ry......|
|00002000| 73 65 74 20 69 70 73 74 | 61 74 20 74 6f 20 28 74 |set ipst|at to (t|
|00002010| 63 70 20 73 74 61 74 75 | 73 20 73 74 72 65 61 6d |cp statu|s stream|
|00002020| 20 49 50 43 6f 6e 6e 29 | 0d 09 09 0d 09 09 69 66 | IPConn)|......if|
|00002030| 20 28 74 63 70 20 61 68 | 65 61 64 20 73 74 72 65 | (tcp ah|ead stre|
|00002040| 61 6d 20 49 50 43 6f 6e | 6e 20 63 68 61 72 61 63 |am IPCon|n charac|
|00002050| 74 65 72 73 20 6c 66 29 | 20 74 68 65 6e 0d 09 09 |ters lf)| then...|
|00002060| 09 73 65 74 20 69 6e 70 | 75 74 53 74 72 69 6e 67 |.set inp|utString|
|00002070| 20 74 6f 20 28 74 63 70 | 20 72 65 61 64 20 73 74 | to (tcp| read st|
|00002080| 72 65 61 6d 20 49 50 43 | 6f 6e 6e 20 6d 61 78 69 |ream IPC|onn maxi|
|00002090| 6d 75 6d 20 62 79 74 65 | 73 20 31 30 30 30 20 75 |mum byte|s 1000 u|
|000020a0| 73 69 6e 67 20 49 53 4f | 38 38 35 39 31 29 0d 09 |sing ISO|88591)..|
|000020b0| 09 09 73 65 74 20 49 50 | 43 6f 6e 6e 20 74 6f 20 |..set IP|Conn to |
|000020c0| 54 43 50 43 6c 6f 73 65 | 28 49 50 43 6f 6e 6e 29 |TCPClose|(IPConn)|
|000020d0| 0d 09 09 09 73 65 74 20 | 66 6f 75 6e 64 4d 61 74 |....set |foundMat|
|000020e0| 63 68 20 74 6f 20 66 61 | 6c 73 65 0d 09 09 09 69 |ch to fa|lse....i|
|000020f0| 66 20 6e 6f 74 20 66 6f | 75 6e 64 4d 61 74 63 68 |f not fo|undMatch|
|00002100| 20 74 68 65 6e 0d 09 09 | 09 09 2d 2d 20 43 68 65 | then...|..-- Che|
|00002110| 63 6b 20 66 6f 72 20 72 | 65 64 69 72 65 63 74 20 |ck for r|edirect |
|00002120| 68 65 61 64 65 72 20 73 | 74 79 6c 65 20 23 31 0d |header s|tyle #1.|
|00002130| 09 09 09 09 73 65 74 20 | 6d 61 74 63 68 52 65 73 |....set |matchRes|
|00002140| 75 6c 74 20 74 6f 20 6d | 61 74 63 68 20 72 65 67 |ult to m|atch reg|
|00002150| 75 6c 61 72 20 65 78 70 | 72 65 73 73 69 6f 6e 20 |ular exp|ression |
|00002160| 28 69 74 65 6d 20 33 20 | 6f 66 20 4d 61 74 63 68 |(item 3 |of Match|
|00002170| 4c 69 73 74 29 20 74 6f | 20 69 6e 70 75 74 53 74 |List) to| inputSt|
|00002180| 72 69 6e 67 0d 09 09 09 | 09 69 66 20 6d 61 74 63 |ring....|.if matc|
|00002190| 68 65 64 20 6f 66 20 6d | 61 74 63 68 52 65 73 75 |hed of m|atchResu|
|000021a0| 6c 74 20 74 68 65 6e 0d | 09 09 09 09 09 73 65 74 |lt then.|.....set|
|000021b0| 20 66 6f 75 6e 64 4d 61 | 74 63 68 20 74 6f 20 74 | foundMa|tch to t|
|000021c0| 72 75 65 0d 09 09 09 09 | 09 73 65 74 20 4f 75 74 |rue.....|.set Out|
|000021d0| 53 74 72 20 74 6f 20 42 | 43 20 26 20 22 45 72 72 |Str to B|C & "Err|
|000021e0| 6f 72 3a 20 48 54 54 50 | 20 72 65 74 75 72 6e 65 |or: HTTP| returne|
|000021f0| 64 20 5c 22 22 20 26 20 | 28 6d 61 74 63 68 20 32 |d \"" & |(match 2|
|00002200| 20 6f 66 20 6d 61 74 63 | 68 52 65 73 75 6c 74 29 | of matc|hResult)|
|00002210| 20 26 20 c2 0d 09 09 09 | 09 09 09 22 5c 22 20 28 | & .....|..."\" (|
|00002220| 22 20 26 20 28 6d 61 74 | 63 68 20 31 20 6f 66 20 |" & (mat|ch 1 of |
|00002230| 6d 61 74 63 68 52 65 73 | 75 6c 74 29 20 26 20 22 |matchRes|ult) & "|
|00002240| 29 2e 22 20 26 20 42 43 | 20 26 20 c2 0d 09 09 09 |)." & BC| & .....|
|00002250| 09 09 09 22 4c 6f 63 61 | 74 69 6f 6e 3a 20 22 20 |..."Loca|tion: " |
|00002260| 26 20 6d 61 74 63 68 20 | 33 20 6f 66 20 6d 61 74 |& match |3 of mat|
|00002270| 63 68 52 65 73 75 6c 74 | 0d 09 09 09 09 65 6e 64 |chResult|.....end|
|00002280| 20 69 66 0d 09 09 09 65 | 6e 64 20 69 66 0d 09 09 | if....e|nd if...|
|00002290| 09 69 66 20 6e 6f 74 20 | 66 6f 75 6e 64 4d 61 74 |.if not |foundMat|
|000022a0| 63 68 20 74 68 65 6e 0d | 09 09 09 09 2d 2d 20 43 |ch then.|....-- C|
|000022b0| 68 65 63 6b 20 66 6f 72 | 20 72 65 64 69 72 65 63 |heck for| redirec|
|000022c0| 74 20 68 65 61 64 65 72 | 20 73 74 79 6c 65 20 23 |t header| style #|
|000022d0| 32 0d 09 09 09 09 73 65 | 74 20 6d 61 74 63 68 52 |2.....se|t matchR|
|000022e0| 65 73 75 6c 74 20 74 6f | 20 6d 61 74 63 68 20 72 |esult to| match r|
|000022f0| 65 67 75 6c 61 72 20 65 | 78 70 72 65 73 73 69 6f |egular e|xpressio|
|00002300| 6e 20 28 69 74 65 6d 20 | 34 20 6f 66 20 4d 61 74 |n (item |4 of Mat|
|00002310| 63 68 4c 69 73 74 29 20 | 74 6f 20 69 6e 70 75 74 |chList) |to input|
|00002320| 53 74 72 69 6e 67 0d 09 | 09 09 09 69 66 20 6d 61 |String..|...if ma|
|00002330| 74 63 68 65 64 20 6f 66 | 20 6d 61 74 63 68 52 65 |tched of| matchRe|
|00002340| 73 75 6c 74 20 74 68 65 | 6e 0d 09 09 09 09 09 73 |sult the|n......s|
|00002350| 65 74 20 66 6f 75 6e 64 | 4d 61 74 63 68 20 74 6f |et found|Match to|
|00002360| 20 74 72 75 65 0d 09 09 | 09 09 09 73 65 74 20 4f | true...|...set O|
|00002370| 75 74 53 74 72 20 74 6f | 20 42 43 20 26 20 22 45 |utStr to| BC & "E|
|00002380| 72 72 6f 72 3a 20 48 54 | 54 50 20 72 65 74 75 72 |rror: HT|TP retur|
|00002390| 6e 65 64 20 5c 22 22 20 | 26 20 28 6d 61 74 63 68 |ned \"" |& (match|
|000023a0| 20 32 20 6f 66 20 6d 61 | 74 63 68 52 65 73 75 6c | 2 of ma|tchResul|
|000023b0| 74 29 20 26 20 c2 0d 09 | 09 09 09 09 09 22 5c 22 |t) & ...|....."\"|
|000023c0| 20 28 22 20 26 20 28 6d | 61 74 63 68 20 31 20 6f | (" & (m|atch 1 o|
|000023d0| 66 20 6d 61 74 63 68 52 | 65 73 75 6c 74 29 20 26 |f matchR|esult) &|
|000023e0| 20 22 29 2e 22 20 26 20 | 42 43 20 26 20 c2 0d 09 | ")." & |BC & ...|
|000023f0| 09 09 09 09 09 22 4c 6f | 63 61 74 69 6f 6e 3a 20 |....."Lo|cation: |
|00002400| 22 20 26 20 6d 61 74 63 | 68 20 33 20 6f 66 20 6d |" & matc|h 3 of m|
|00002410| 61 74 63 68 52 65 73 75 | 6c 74 0d 09 09 09 09 65 |atchResu|lt.....e|
|00002420| 6e 64 20 69 66 0d 09 09 | 09 65 6e 64 20 69 66 0d |nd if...|.end if.|
|00002430| 09 09 09 69 66 20 6e 6f | 74 20 66 6f 75 6e 64 4d |...if no|t foundM|
|00002440| 61 74 63 68 20 74 68 65 | 6e 0d 09 09 09 09 2d 2d |atch the|n.....--|
|00002450| 20 43 68 65 63 6b 20 66 | 6f 72 20 73 74 61 6e 64 | Check f|or stand|
|00002460| 61 72 64 20 48 54 54 50 | 20 68 65 61 64 65 72 0d |ard HTTP| header.|
|00002470| 09 09 09 09 73 65 74 20 | 6d 61 74 63 68 52 65 73 |....set |matchRes|
|00002480| 75 6c 74 20 74 6f 20 6d | 61 74 63 68 20 72 65 67 |ult to m|atch reg|
|00002490| 75 6c 61 72 20 65 78 70 | 72 65 73 73 69 6f 6e 20 |ular exp|ression |
|000024a0| 28 69 74 65 6d 20 31 20 | 6f 66 20 4d 61 74 63 68 |(item 1 |of Match|
|000024b0| 4c 69 73 74 29 20 74 6f | 20 69 6e 70 75 74 53 74 |List) to| inputSt|
|000024c0| 72 69 6e 67 0d 09 09 09 | 09 69 66 20 6d 61 74 63 |ring....|.if matc|
|000024d0| 68 65 64 20 6f 66 20 6d | 61 74 63 68 52 65 73 75 |hed of m|atchResu|
|000024e0| 6c 74 20 74 68 65 6e 0d | 09 09 09 09 09 73 65 74 |lt then.|.....set|
|000024f0| 20 66 6f 75 6e 64 4d 61 | 74 63 68 20 74 6f 20 74 | foundMa|tch to t|
|00002500| 72 75 65 0d 09 09 09 09 | 09 69 66 20 6d 61 74 63 |rue.....|.if matc|
|00002510| 68 20 31 20 6f 66 20 6d | 61 74 63 68 52 65 73 75 |h 1 of m|atchResu|
|00002520| 6c 74 20 3d 20 22 32 30 | 30 22 20 74 68 65 6e 0d |lt = "20|0" then.|
|00002530| 09 09 09 09 09 09 73 65 | 74 20 4f 75 74 53 74 72 |......se|t OutStr|
|00002540| 20 74 6f 20 22 4f 4b 22 | 0d 09 09 09 09 09 65 6c | to "OK"|......el|
|00002550| 73 65 0d 09 09 09 09 09 | 09 73 65 74 20 4f 75 74 |se......|.set Out|
|00002560| 53 74 72 20 74 6f 20 42 | 43 20 26 20 22 45 72 72 |Str to B|C & "Err|
|00002570| 6f 72 3a 20 48 54 54 50 | 20 72 65 74 75 72 6e 65 |or: HTTP| returne|
|00002580| 64 20 5c 22 22 20 26 20 | 28 6d 61 74 63 68 20 32 |d \"" & |(match 2|
|00002590| 20 6f 66 20 6d 61 74 63 | 68 52 65 73 75 6c 74 29 | of matc|hResult)|
|000025a0| 20 26 20 c2 0d 09 09 09 | 09 09 09 09 22 5c 22 20 | & .....|...."\" |
|000025b0| 28 22 20 26 20 28 6d 61 | 74 63 68 20 31 20 6f 66 |(" & (ma|tch 1 of|
|000025c0| 20 6d 61 74 63 68 52 65 | 73 75 6c 74 29 20 26 20 | matchRe|sult) & |
|000025d0| 22 29 2e 22 0d 09 09 09 | 09 09 65 6e 64 20 69 66 |")."....|..end if|
|000025e0| 0d 09 09 09 09 65 6e 64 | 20 69 66 0d 09 09 09 65 |.....end| if....e|
|000025f0| 6e 64 20 69 66 0d 09 09 | 09 0d 09 09 09 69 66 20 |nd if...|.....if |
|00002600| 4f 75 74 53 74 72 20 3d | 20 22 4f 4b 22 20 74 68 |OutStr =| "OK" th|
|00002610| 65 6e 0d 09 09 09 09 73 | 65 74 20 6d 61 74 63 68 |en.....s|et match|
|00002620| 52 65 73 75 6c 74 20 74 | 6f 20 6d 61 74 63 68 20 |Result t|o match |
|00002630| 72 65 67 75 6c 61 72 20 | 65 78 70 72 65 73 73 69 |regular |expressi|
|00002640| 6f 6e 20 28 69 74 65 6d | 20 36 20 6f 66 20 4d 61 |on (item| 6 of Ma|
|00002650| 74 63 68 4c 69 73 74 29 | 20 74 6f 20 69 6e 70 75 |tchList)| to inpu|
|00002660| 74 53 74 72 69 6e 67 0d | 09 09 09 09 69 66 20 6d |tString.|....if m|
|00002670| 61 74 63 68 65 64 20 6f | 66 20 6d 61 74 63 68 52 |atched o|f matchR|
|00002680| 65 73 75 6c 74 20 74 68 | 65 6e 0d 09 09 09 09 09 |esult th|en......|
|00002690| 73 65 74 20 69 6e 70 75 | 74 53 74 72 69 6e 67 20 |set inpu|tString |
|000026a0| 74 6f 20 73 65 61 72 63 | 68 52 65 70 6c 61 63 65 |to searc|hReplace|
|000026b0| 28 69 6e 70 75 74 53 74 | 72 69 6e 67 2c 20 22 3c |(inputSt|ring, "<|
|000026c0| 22 2c 20 22 26 6c 74 3b | 22 29 20 6f 66 20 28 61 |", "&lt;|") of (a|
|000026d0| 70 70 6c 69 63 61 74 69 | 6f 6e 20 22 57 65 62 53 |pplicati|on "WebS|
|000026e0| 74 61 72 20 4c 69 6e 6b | 20 43 68 65 63 6b 65 72 |tar Link| Checker|
|000026f0| 22 29 0d 09 09 09 09 09 | 73 65 74 20 69 6e 70 75 |")......|set inpu|
|00002700| 74 53 74 72 69 6e 67 20 | 74 6f 20 73 65 61 72 63 |tString |to searc|
|00002710| 68 52 65 70 6c 61 63 65 | 28 69 6e 70 75 74 53 74 |hReplace|(inputSt|
|00002720| 72 69 6e 67 2c 20 22 3e | 22 2c 20 22 26 67 74 3b |ring, ">|", "&gt;|
|00002730| 22 29 20 6f 66 20 28 61 | 70 70 6c 69 63 61 74 69 |") of (a|pplicati|
|00002740| 6f 6e 20 22 57 65 62 53 | 74 61 72 20 4c 69 6e 6b |on "WebS|tar Link|
|00002750| 20 43 68 65 63 6b 65 72 | 22 29 0d 09 09 09 09 09 | Checker|")......|
|00002760| 73 65 74 20 69 6e 70 75 | 74 53 74 72 69 6e 67 20 |set inpu|tString |
|00002770| 74 6f 20 73 65 61 72 63 | 68 52 65 70 6c 61 63 65 |to searc|hReplace|
|00002780| 28 69 6e 70 75 74 53 74 | 72 69 6e 67 2c 20 22 6d |(inputSt|ring, "m|
|00002790| 6f 76 65 22 2c 20 22 3c | 62 3e 6d 6f 76 65 3c 2f |ove", "<|b>move</|
|000027a0| 62 3e 22 29 20 6f 66 20 | 28 61 70 70 6c 69 63 61 |b>") of |(applica|
|000027b0| 74 69 6f 6e 20 22 57 65 | 62 53 74 61 72 20 4c 69 |tion "We|bStar Li|
|000027c0| 6e 6b 20 43 68 65 63 6b | 65 72 22 29 0d 09 09 09 |nk Check|er")....|
|000027d0| 09 09 73 65 74 20 4f 75 | 74 53 74 72 20 74 6f 20 |..set Ou|tStr to |
|000027e0| 42 43 20 26 20 22 45 72 | 72 6f 72 3a 20 44 6f 63 |BC & "Er|ror: Doc|
|000027f0| 75 6d 65 6e 74 20 6d 61 | 79 20 68 61 76 65 20 6d |ument ma|y have m|
|00002800| 6f 76 65 64 20 28 33 30 | 31 29 2e 22 20 26 20 42 |oved (30|1)." & B|
|00002810| 43 20 26 20 22 52 65 63 | 65 69 76 65 64 3a 20 22 |C & "Rec|eived: "|
|00002820| 20 26 20 69 6e 70 75 74 | 53 74 72 69 6e 67 0d 09 | & input|String..|
|00002830| 09 09 09 65 6e 64 20 69 | 66 0d 09 09 09 65 6e 64 |...end i|f....end|
|00002840| 20 69 66 0d 09 09 09 0d | 09 09 09 69 66 20 6e 6f | if.....|...if no|
|00002850| 74 20 66 6f 75 6e 64 4d | 61 74 63 68 20 74 68 65 |t foundM|atch the|
|00002860| 6e 0d 09 09 09 09 73 65 | 74 20 69 6e 70 75 74 53 |n.....se|t inputS|
|00002870| 74 72 69 6e 67 20 74 6f | 20 73 65 61 72 63 68 52 |tring to| searchR|
|00002880| 65 70 6c 61 63 65 28 69 | 6e 70 75 74 53 74 72 69 |eplace(i|nputStri|
|00002890| 6e 67 2c 20 22 3c 22 2c | 20 22 26 6c 74 3b 22 29 |ng, "<",| "&lt;")|
|000028a0| 20 6f 66 20 28 61 70 70 | 6c 69 63 61 74 69 6f 6e | of (app|lication|
|000028b0| 20 22 57 65 62 53 74 61 | 72 20 4c 69 6e 6b 20 43 | "WebSta|r Link C|
|000028c0| 68 65 63 6b 65 72 22 29 | 0d 09 09 09 09 73 65 74 |hecker")|.....set|
|000028d0| 20 69 6e 70 75 74 53 74 | 72 69 6e 67 20 74 6f 20 | inputSt|ring to |
|000028e0| 73 65 61 72 63 68 52 65 | 70 6c 61 63 65 28 69 6e |searchRe|place(in|
|000028f0| 70 75 74 53 74 72 69 6e | 67 2c 20 22 3e 22 2c 20 |putStrin|g, ">", |
|00002900| 22 26 67 74 3b 22 29 20 | 6f 66 20 28 61 70 70 6c |"&gt;") |of (appl|
|00002910| 69 63 61 74 69 6f 6e 20 | 22 57 65 62 53 74 61 72 |ication |"WebStar|
|00002920| 20 4c 69 6e 6b 20 43 68 | 65 63 6b 65 72 22 29 0d | Link Ch|ecker").|
|00002930| 09 09 09 09 73 65 74 20 | 4f 75 74 53 74 72 20 74 |....set |OutStr t|
|00002940| 6f 20 42 43 20 26 20 22 | 45 72 72 6f 72 3a 20 4e |o BC & "|Error: N|
|00002950| 6f 20 76 61 6c 69 64 20 | 48 54 54 50 20 68 65 61 |o valid |HTTP hea|
|00002960| 64 65 72 20 77 61 73 20 | 72 65 63 65 69 76 65 64 |der was |received|
|00002970| 20 28 35 30 31 29 2e 22 | 20 26 20 c2 0d 09 09 09 | (501)."| & .....|
|00002980| 09 09 42 43 20 26 20 22 | 52 65 63 65 69 76 65 64 |..BC & "|Received|
|00002990| 3a 20 22 20 26 20 69 6e | 70 75 74 53 74 72 69 6e |: " & in|putStrin|
|000029a0| 67 0d 09 09 09 65 6e 64 | 20 69 66 0d 09 09 09 0d |g....end| if.....|
|000029b0| 09 09 65 6e 64 20 69 66 | 0d 09 6f 6e 20 65 72 72 |..end if|..on err|
|000029c0| 6f 72 20 65 72 72 54 65 | 78 74 20 6e 75 6d 62 65 |or errTe|xt numbe|
|000029d0| 72 20 65 72 72 4e 75 6d | 62 65 72 0d 09 09 73 65 |r errNum|ber...se|
|000029e0| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|000029f0| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 73 |lose(IPC|onn)...s|
|00002a00| 65 74 20 4f 75 74 53 74 | 72 20 74 6f 20 42 43 20 |et OutSt|r to BC |
|00002a10| 26 20 22 45 72 72 6f 72 | 3a 20 5b 43 68 65 63 6b |& "Error|: [Check|
|00002a20| 48 54 54 50 5d 20 22 20 | 26 20 65 72 72 54 65 78 |HTTP] " |& errTex|
|00002a30| 74 20 26 20 22 20 28 22 | 20 26 20 65 72 72 4e 75 |t & " ("| & errNu|
|00002a40| 6d 62 65 72 20 26 20 22 | 29 2e 22 0d 09 65 6e 64 |mber & "|)."..end|
|00002a50| 20 74 72 79 0d 09 0d 09 | 69 66 20 4f 75 74 53 74 | try....|if OutSt|
|00002a60| 72 20 3d 20 22 22 20 61 | 6e 64 20 28 28 63 6f 6e |r = "" a|nd ((con|
|00002a70| 6e 65 63 74 69 6f 6e 20 | 73 74 61 74 75 73 20 6f |nection |status o|
|00002a80| 66 20 69 70 73 74 61 74 | 29 20 3d 20 43 6c 6f 73 |f ipstat|) = Clos|
|00002a90| 65 20 72 65 71 75 65 73 | 74 65 64 29 20 74 68 65 |e reques|ted) the|
|00002aa0| 6e 0d 09 09 73 65 74 20 | 49 50 43 6f 6e 6e 20 74 |n...set |IPConn t|
|00002ab0| 6f 20 54 43 50 43 6c 6f | 73 65 28 49 50 43 6f 6e |o TCPClo|se(IPCon|
|00002ac0| 6e 29 0d 09 09 73 65 74 | 20 4f 75 74 53 74 72 20 |n)...set| OutStr |
|00002ad0| 74 6f 20 42 43 20 26 20 | 22 45 72 72 6f 72 3a 20 |to BC & |"Error: |
|00002ae0| 5b 43 68 65 63 6b 48 54 | 54 50 5d 20 43 68 61 6e |[CheckHT|TP] Chan|
|00002af0| 6e 65 6c 20 63 6c 6f 73 | 65 20 72 65 71 75 65 73 |nel clos|e reques|
|00002b00| 74 65 64 20 77 69 74 68 | 20 6e 6f 20 64 61 74 61 |ted with| no data|
|00002b10| 20 72 65 63 65 69 76 65 | 64 20 28 35 30 39 29 2e | receive|d (509).|
|00002b20| 22 0d 09 65 6e 64 20 69 | 66 0d 09 0d 09 69 66 20 |"..end i|f....if |
|00002b30| 4f 75 74 53 74 72 20 3d | 20 22 22 20 61 6e 64 20 |OutStr =| "" and |
|00002b40| 28 28 28 63 75 72 72 65 | 6e 74 20 64 61 74 65 29 |(((curre|nt date)|
|00002b50| 20 2d 20 43 68 65 63 6b | 53 74 61 72 74 54 69 6d | - Check|StartTim|
|00002b60| 65 29 20 3e 20 4d 61 73 | 74 65 72 54 69 6d 65 6f |e) > Mas|terTimeo|
|00002b70| 75 74 29 20 74 68 65 6e | 0d 09 09 73 65 74 20 49 |ut) then|...set I|
|00002b80| 50 43 6f 6e 6e 20 74 6f | 20 54 43 50 43 6c 6f 73 |PConn to| TCPClos|
|00002b90| 65 28 49 50 43 6f 6e 6e | 29 0d 09 09 73 65 74 20 |e(IPConn|)...set |
|00002ba0| 4f 75 74 53 74 72 20 74 | 6f 20 42 43 20 26 20 22 |OutStr t|o BC & "|
|00002bb0| 45 72 72 6f 72 3a 20 5b | 43 68 65 63 6b 48 54 54 |Error: [|CheckHTT|
|00002bc0| 50 5d 20 43 68 65 63 6b | 20 74 69 6d 65 64 20 6f |P] Check| timed o|
|00002bd0| 75 74 2e 22 0d 09 65 6e | 64 20 69 66 0d 09 0d 65 |ut."..en|d if...e|
|00002be0| 6e 64 20 43 68 65 63 6b | 48 54 54 50 0d 0d 2d 2d |nd Check|HTTP..--|
|00002bf0| 20 73 75 62 72 6f 75 74 | 69 6e 65 20 49 6e 69 74 | subrout|ine Init|
|00002c00| 47 6f 70 68 65 72 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |Gopher -|--------|
|00002c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c50| 2d 0d 0d 6f 6e 20 49 6e | 69 74 47 6f 70 68 65 72 |-..on In|itGopher|
|00002c60| 28 67 6f 70 68 65 72 48 | 6f 73 74 2c 20 67 6f 70 |(gopherH|ost, gop|
|00002c70| 68 65 72 50 6f 72 74 2c | 20 66 69 6c 65 4e 61 6d |herPort,| fileNam|
|00002c80| 65 2c 20 72 65 66 65 72 | 65 72 29 0d 09 0d 09 67 |e, refer|er)....g|
|00002c90| 6c 6f 62 61 6c 20 4f 75 | 74 53 74 72 0d 09 67 6c |lobal Ou|tStr..gl|
|00002ca0| 6f 62 61 6c 20 49 50 43 | 6f 6e 6e 0d 09 67 6c 6f |obal IPC|onn..glo|
|00002cb0| 62 61 6c 20 4e 6f 54 65 | 73 74 45 78 74 65 72 6e |bal NoTe|stExtern|
|00002cc0| 61 6c 43 6c 61 73 73 65 | 73 0d 09 0d 09 69 66 20 |alClasse|s....if |
|00002cd0| 4e 6f 54 65 73 74 45 78 | 74 65 72 6e 61 6c 43 6c |NoTestEx|ternalCl|
|00002ce0| 61 73 73 65 73 20 63 6f | 6e 74 61 69 6e 73 20 22 |asses co|ntains "|
|00002cf0| 67 6f 70 68 65 72 22 20 | 74 68 65 6e 0d 09 09 73 |gopher" |then...s|
|00002d00| 65 74 20 4f 75 74 53 74 | 72 20 74 6f 20 42 43 20 |et OutSt|r to BC |
|00002d10| 26 20 22 4e 6f 74 65 3a | 20 47 6f 70 68 65 72 20 |& "Note:| Gopher |
|00002d20| 6c 69 6e 6b 73 20 61 72 | 65 20 6e 6f 74 20 70 72 |links ar|e not pr|
|00002d30| 65 73 65 6e 74 6c 79 20 | 62 65 69 6e 67 20 63 68 |esently |being ch|
|00002d40| 65 63 6b 65 64 2e 22 0d | 09 65 6c 73 65 0d 09 09 |ecked.".|.else...|
|00002d50| 74 72 79 0d 09 09 09 73 | 65 74 20 49 50 43 6f 6e |try....s|et IPCon|
|00002d60| 6e 20 74 6f 20 74 63 70 | 20 63 6f 6e 6e 65 63 74 |n to tcp| connect|
|00002d70| 20 74 6f 20 68 6f 73 74 | 20 67 6f 70 68 65 72 48 | to host| gopherH|
|00002d80| 6f 73 74 20 70 6f 72 74 | 20 67 6f 70 68 65 72 50 |ost port| gopherP|
|00002d90| 6f 72 74 0d 09 09 09 73 | 65 74 20 73 65 6e 64 53 |ort....s|et sendS|
|00002da0| 74 72 69 6e 67 20 74 6f | 20 66 69 6c 65 4e 61 6d |tring to| fileNam|
|00002db0| 65 20 26 20 43 4c 0d 09 | 09 09 74 63 70 20 77 72 |e & CL..|..tcp wr|
|00002dc0| 69 74 65 20 73 74 72 65 | 61 6d 20 49 50 43 6f 6e |ite stre|am IPCon|
|00002dd0| 6e 20 64 61 74 61 20 73 | 65 6e 64 53 74 72 69 6e |n data s|endStrin|
|00002de0| 67 20 75 73 69 6e 67 20 | 52 61 77 20 44 61 74 61 |g using |Raw Data|
|00002df0| 0d 09 09 6f 6e 20 65 72 | 72 6f 72 20 65 72 72 54 |...on er|ror errT|
|00002e00| 65 78 74 20 6e 75 6d 62 | 65 72 20 65 72 72 4e 75 |ext numb|er errNu|
|00002e10| 6d 62 65 72 0d 09 09 09 | 69 66 20 65 72 72 4e 75 |mber....|if errNu|
|00002e20| 6d 62 65 72 20 3d 20 2d | 32 33 30 31 35 20 74 68 |mber = -|23015 th|
|00002e30| 65 6e 0d 09 09 09 09 73 | 65 74 20 4f 75 74 53 74 |en.....s|et OutSt|
|00002e40| 72 20 74 6f 20 42 43 20 | 26 20 22 45 72 72 6f 72 |r to BC |& "Error|
|00002e50| 3a 20 47 6f 70 68 65 72 | 20 68 6f 73 74 20 69 73 |: Gopher| host is|
|00002e60| 20 6e 6f 74 20 61 76 61 | 69 6c 61 62 6c 65 20 28 | not ava|ilable (|
|00002e70| 34 30 34 29 2e 22 0d 09 | 09 09 65 6c 73 65 0d 09 |404)."..|..else..|
|00002e80| 09 09 09 73 65 74 20 4f | 75 74 53 74 72 20 74 6f |...set O|utStr to|
|00002e90| 20 42 43 20 26 20 22 45 | 72 72 6f 72 3a 20 5b 49 | BC & "E|rror: [I|
|00002ea0| 6e 69 74 47 6f 70 68 65 | 72 5d 20 22 20 26 20 65 |nitGophe|r] " & e|
|00002eb0| 72 72 54 65 78 74 20 26 | 20 22 20 28 22 20 26 20 |rrText &| " (" & |
|00002ec0| 65 72 72 4e 75 6d 62 65 | 72 20 26 20 22 29 2e 22 |errNumbe|r & ")."|
|00002ed0| 0d 09 09 09 65 6e 64 20 | 69 66 0d 09 09 09 73 65 |....end |if....se|
|00002ee0| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|00002ef0| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 65 |lose(IPC|onn)...e|
|00002f00| 6e 64 20 74 72 79 0d 09 | 65 6e 64 20 69 66 0d 09 |nd try..|end if..|
|00002f10| 0d 65 6e 64 20 49 6e 69 | 74 47 6f 70 68 65 72 0d |.end Ini|tGopher.|
|00002f20| 0d 2d 2d 20 73 75 62 72 | 6f 75 74 69 6e 65 20 49 |.-- subr|outine I|
|00002f30| 6e 69 74 47 6f 70 68 65 | 72 46 69 72 65 77 61 6c |nitGophe|rFirewal|
|00002f40| 6c 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |l ------|--------|
|00002f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 6f 6e |--------|----..on|
|00002f90| 20 49 6e 69 74 47 6f 70 | 68 65 72 46 69 72 65 77 | InitGop|herFirew|
|00002fa0| 61 6c 6c 28 67 6f 70 68 | 65 72 48 6f 73 74 2c 20 |all(goph|erHost, |
|00002fb0| 67 6f 70 68 65 72 50 6f | 72 74 2c 20 66 69 6c 65 |gopherPo|rt, file|
|00002fc0| 4e 61 6d 65 2c 20 72 65 | 66 65 72 65 72 29 0d 09 |Name, re|ferer)..|
|00002fd0| 0d 09 67 6c 6f 62 61 6c | 20 47 6f 70 68 65 72 46 |..global| GopherF|
|00002fe0| 69 72 65 77 61 6c 6c 0d | 09 67 6c 6f 62 61 6c 20 |irewall.|.global |
|00002ff0| 4f 75 74 53 74 72 0d 09 | 67 6c 6f 62 61 6c 20 49 |OutStr..|global I|
|00003000| 50 43 6f 6e 6e 0d 09 67 | 6c 6f 62 61 6c 20 4e 6f |PConn..g|lobal No|
|00003010| 54 65 73 74 45 78 74 65 | 72 6e 61 6c 43 6c 61 73 |TestExte|rnalClas|
|00003020| 73 65 73 0d 09 0d 09 69 | 66 20 4e 6f 54 65 73 74 |ses....i|f NoTest|
|00003030| 45 78 74 65 72 6e 61 6c | 43 6c 61 73 73 65 73 20 |External|Classes |
|00003040| 63 6f 6e 74 61 69 6e 73 | 20 22 67 6f 70 68 65 72 |contains| "gopher|
|00003050| 46 69 72 65 77 61 6c 6c | 22 20 74 68 65 6e 0d 09 |Firewall|" then..|
|00003060| 09 73 65 74 20 4f 75 74 | 53 74 72 20 74 6f 20 42 |.set Out|Str to B|
|00003070| 43 20 26 20 22 4e 6f 74 | 65 3a 20 47 6f 70 68 65 |C & "Not|e: Gophe|
|00003080| 72 20 46 69 72 65 77 61 | 6c 6c 20 6c 69 6e 6b 73 |r Firewa|ll links|
|00003090| 20 61 72 65 20 6e 6f 74 | 20 70 72 65 73 65 6e 74 | are not| present|
|000030a0| 6c 79 20 62 65 69 6e 67 | 20 63 68 65 63 6b 65 64 |ly being| checked|
|000030b0| 2e 22 0d 09 65 6c 73 65 | 0d 09 09 73 65 74 20 6f |."..else|...set o|
|000030c0| 6c 64 44 65 6c 69 6d 69 | 74 65 72 73 20 74 6f 20 |ldDelimi|ters to |
|000030d0| 41 70 70 6c 65 53 63 72 | 69 70 74 27 73 20 74 65 |AppleScr|ipt's te|
|000030e0| 78 74 20 69 74 65 6d 20 | 64 65 6c 69 6d 69 74 65 |xt item |delimite|
|000030f0| 72 73 0d 09 09 73 65 74 | 20 41 70 70 6c 65 53 63 |rs...set| AppleSc|
|00003100| 72 69 70 74 27 73 20 74 | 65 78 74 20 69 74 65 6d |ript's t|ext item|
|00003110| 20 64 65 6c 69 6d 69 74 | 65 72 73 20 74 6f 20 22 | delimit|ers to "|
|00003120| 3a 22 0d 09 09 0d 09 09 | 73 65 74 20 66 69 72 65 |:"......|set fire|
|00003130| 77 61 6c 6c 48 6f 73 74 | 20 74 6f 20 74 65 78 74 |wallHost| to text|
|00003140| 20 69 74 65 6d 20 31 20 | 6f 66 20 47 6f 70 68 65 | item 1 |of Gophe|
|00003150| 72 46 69 72 65 77 61 6c | 6c 0d 09 09 74 72 79 0d |rFirewal|l...try.|
|00003160| 09 09 09 73 65 74 20 66 | 69 72 65 77 61 6c 6c 50 |...set f|irewallP|
|00003170| 6f 72 74 20 74 6f 20 74 | 65 78 74 20 69 74 65 6d |ort to t|ext item|
|00003180| 20 32 20 6f 66 20 47 6f | 70 68 65 72 46 69 72 65 | 2 of Go|pherFire|
|00003190| 77 61 6c 6c 0d 09 09 6f | 6e 20 65 72 72 6f 72 0d |wall...o|n error.|
|000031a0| 09 09 09 73 65 74 20 66 | 69 72 65 77 61 6c 6c 50 |...set f|irewallP|
|000031b0| 6f 72 74 20 74 6f 20 22 | 37 30 22 0d 09 09 65 6e |ort to "|70"...en|
|000031c0| 64 20 74 72 79 0d 09 09 | 0d 09 09 73 65 74 20 41 |d try...|...set A|
|000031d0| 70 70 6c 65 53 63 72 69 | 70 74 27 73 20 74 65 78 |ppleScri|pt's tex|
|000031e0| 74 20 69 74 65 6d 20 64 | 65 6c 69 6d 69 74 65 72 |t item d|elimiter|
|000031f0| 73 20 74 6f 20 6f 6c 64 | 44 65 6c 69 6d 69 74 65 |s to old|Delimite|
|00003200| 72 73 0d 09 09 0d 09 09 | 74 72 79 0d 09 09 09 73 |rs......|try....s|
|00003210| 65 74 20 49 50 43 6f 6e | 6e 20 74 6f 20 74 63 70 |et IPCon|n to tcp|
|00003220| 20 63 6f 6e 6e 65 63 74 | 20 74 6f 20 68 6f 73 74 | connect| to host|
|00003230| 20 66 69 72 65 77 61 6c | 6c 48 6f 73 74 20 70 6f | firewal|lHost po|
|00003240| 72 74 20 66 69 72 65 77 | 61 6c 6c 50 6f 72 74 0d |rt firew|allPort.|
|00003250| 09 09 09 73 65 74 20 73 | 65 6e 64 53 74 72 69 6e |...set s|endStrin|
|00003260| 67 20 74 6f 20 22 67 6f | 70 68 65 72 3a 2f 2f 22 |g to "go|pher://"|
|00003270| 20 26 20 67 6f 70 68 65 | 72 48 6f 73 74 20 26 20 | & gophe|rHost & |
|00003280| 22 3a 22 20 26 20 67 6f | 70 68 65 72 50 6f 72 74 |":" & go|pherPort|
|00003290| 20 26 20 66 69 6c 65 4e | 61 6d 65 20 26 20 43 4c | & fileN|ame & CL|
|000032a0| 0d 09 09 09 74 63 70 20 | 77 72 69 74 65 20 73 74 |....tcp |write st|
|000032b0| 72 65 61 6d 20 49 50 43 | 6f 6e 6e 20 64 61 74 61 |ream IPC|onn data|
|000032c0| 20 73 65 6e 64 53 74 72 | 69 6e 67 20 75 73 69 6e | sendStr|ing usin|
|000032d0| 67 20 52 61 77 20 44 61 | 74 61 0d 09 09 6f 6e 20 |g Raw Da|ta...on |
|000032e0| 65 72 72 6f 72 20 65 72 | 72 54 65 78 74 20 6e 75 |error er|rText nu|
|000032f0| 6d 62 65 72 20 65 72 72 | 4e 75 6d 62 65 72 0d 09 |mber err|Number..|
|00003300| 09 09 73 65 74 20 4f 75 | 74 53 74 72 20 74 6f 20 |..set Ou|tStr to |
|00003310| 42 43 20 26 20 22 45 72 | 72 6f 72 3a 20 5b 49 6e |BC & "Er|ror: [In|
|00003320| 69 74 47 6f 70 68 65 72 | 46 69 72 65 77 61 6c 6c |itGopher|Firewall|
|00003330| 5d 20 22 20 26 20 65 72 | 72 54 65 78 74 20 26 20 |] " & er|rText & |
|00003340| 22 20 28 22 20 26 20 65 | 72 72 4e 75 6d 62 65 72 |" (" & e|rrNumber|
|00003350| 20 26 20 22 29 2e 22 0d | 09 09 09 73 65 74 20 49 | & ").".|...set I|
|00003360| 50 43 6f 6e 6e 20 74 6f | 20 54 43 50 43 6c 6f 73 |PConn to| TCPClos|
|00003370| 65 28 49 50 43 6f 6e 6e | 29 0d 09 09 65 6e 64 20 |e(IPConn|)...end |
|00003380| 74 72 79 0d 09 65 6e 64 | 20 69 66 0d 09 0d 65 6e |try..end| if...en|
|00003390| 64 20 49 6e 69 74 47 6f | 70 68 65 72 46 69 72 65 |d InitGo|pherFire|
|000033a0| 77 61 6c 6c 0d 0d 2d 2d | 20 73 75 62 72 6f 75 74 |wall..--| subrout|
|000033b0| 69 6e 65 20 43 68 65 63 | 6b 47 6f 70 68 65 72 20 |ine Chec|kGopher |
|000033c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003410| 0d 0d 6f 6e 20 43 68 65 | 63 6b 47 6f 70 68 65 72 |..on Che|ckGopher|
|00003420| 28 29 0d 09 0d 09 67 6c | 6f 62 61 6c 20 49 50 43 |()....gl|obal IPC|
|00003430| 6f 6e 6e 0d 09 67 6c 6f | 62 61 6c 20 4f 75 74 53 |onn..glo|bal OutS|
|00003440| 74 72 0d 09 67 6c 6f 62 | 61 6c 20 43 68 65 63 6b |tr..glob|al Check|
|00003450| 53 74 61 72 74 54 69 6d | 65 0d 09 67 6c 6f 62 61 |StartTim|e..globa|
|00003460| 6c 20 4d 61 73 74 65 72 | 54 69 6d 65 6f 75 74 0d |l Master|Timeout.|
|00003470| 09 67 6c 6f 62 61 6c 20 | 4d 61 74 63 68 4c 69 73 |.global |MatchLis|
|00003480| 74 0d 09 0d 09 74 72 79 | 0d 09 09 69 66 20 28 74 |t....try|...if (t|
|00003490| 63 70 20 61 68 65 61 64 | 20 73 74 72 65 61 6d 20 |cp ahead| stream |
|000034a0| 49 50 43 6f 6e 6e 20 63 | 68 61 72 61 63 74 65 72 |IPConn c|haracter|
|000034b0| 73 20 6c 66 29 20 74 68 | 65 6e 0d 09 09 09 73 65 |s lf) th|en....se|
|000034c0| 74 20 69 6e 70 75 74 53 | 74 72 69 6e 67 20 74 6f |t inputS|tring to|
|000034d0| 20 28 74 63 70 20 72 65 | 61 64 20 73 74 72 65 61 | (tcp re|ad strea|
|000034e0| 6d 20 49 50 43 6f 6e 6e | 20 6d 61 78 69 6d 75 6d |m IPConn| maximum|
|000034f0| 20 62 79 74 65 73 20 31 | 36 30 20 75 73 69 6e 67 | bytes 1|60 using|
|00003500| 20 49 53 4f 38 38 35 39 | 31 29 0d 09 09 09 73 65 | ISO8859|1)....se|
|00003510| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|00003520| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 09 |lose(IPC|onn)....|
|00003530| 69 66 20 69 6e 70 75 74 | 53 74 72 69 6e 67 20 63 |if input|String c|
|00003540| 6f 6e 74 61 69 6e 73 20 | 22 65 72 72 6f 72 22 20 |ontains |"error" |
|00003550| 74 68 65 6e 0d 09 09 09 | 09 73 65 74 20 4f 75 74 |then....|.set Out|
|00003560| 53 74 72 20 74 6f 20 42 | 43 20 26 20 22 45 72 72 |Str to B|C & "Err|
|00003570| 6f 72 3a 20 47 6f 70 68 | 65 72 20 72 65 74 75 72 |or: Goph|er retur|
|00003580| 6e 65 64 20 5c 22 22 20 | 26 20 69 6e 70 75 74 53 |ned \"" |& inputS|
|00003590| 74 72 69 6e 67 20 26 20 | 22 5c 22 20 28 34 30 34 |tring & |"\" (404|
|000035a0| 29 2e 22 0d 09 09 09 65 | 6c 73 65 0d 09 09 09 09 |)."....e|lse.....|
|000035b0| 73 65 74 20 4f 75 74 53 | 74 72 20 74 6f 20 22 4f |set OutS|tr to "O|
|000035c0| 4b 22 0d 09 09 09 65 6e | 64 20 69 66 0d 09 09 65 |K"....en|d if...e|
|000035d0| 6c 73 65 20 69 66 20 28 | 63 6f 6e 6e 65 63 74 69 |lse if (|connecti|
|000035e0| 6f 6e 20 73 74 61 74 75 | 73 20 6f 66 20 28 74 63 |on statu|s of (tc|
|000035f0| 70 20 73 74 61 74 75 73 | 20 73 74 72 65 61 6d 20 |p status| stream |
|00003600| 49 50 43 6f 6e 6e 29 29 | 20 3d 20 43 6c 6f 73 65 |IPConn))| = Close|
|00003610| 20 72 65 71 75 65 73 74 | 65 64 20 74 68 65 6e 0d | request|ed then.|
|00003620| 09 09 09 73 65 74 20 49 | 50 43 6f 6e 6e 20 74 6f |...set I|PConn to|
|00003630| 20 54 43 50 43 6c 6f 73 | 65 28 49 50 43 6f 6e 6e | TCPClos|e(IPConn|
|00003640| 29 0d 09 09 09 73 65 74 | 20 4f 75 74 53 74 72 20 |)....set| OutStr |
|00003650| 74 6f 20 42 43 20 26 20 | 22 45 72 72 6f 72 3a 20 |to BC & |"Error: |
|00003660| 52 65 71 75 65 73 74 65 | 64 20 66 69 6c 65 20 6f |Requeste|d file o|
|00003670| 72 20 64 69 72 65 63 74 | 6f 72 79 20 77 61 73 20 |r direct|ory was |
|00003680| 6e 6f 74 20 61 76 61 69 | 6c 61 62 6c 65 20 28 34 |not avai|lable (4|
|00003690| 30 34 29 2e 22 0d 09 09 | 65 6e 64 20 69 66 0d 09 |04)."...|end if..|
|000036a0| 6f 6e 20 65 72 72 6f 72 | 20 65 72 72 54 65 78 74 |on error| errText|
|000036b0| 20 6e 75 6d 62 65 72 20 | 65 72 72 4e 75 6d 62 65 | number |errNumbe|
|000036c0| 72 0d 09 09 73 65 74 20 | 49 50 43 6f 6e 6e 20 74 |r...set |IPConn t|
|000036d0| 6f 20 54 43 50 43 6c 6f | 73 65 28 49 50 43 6f 6e |o TCPClo|se(IPCon|
|000036e0| 6e 29 0d 09 09 73 65 74 | 20 4f 75 74 53 74 72 20 |n)...set| OutStr |
|000036f0| 74 6f 20 42 43 20 26 20 | 22 45 72 72 6f 72 3a 20 |to BC & |"Error: |
|00003700| 5b 43 68 65 63 6b 47 6f | 70 68 65 72 5d 20 22 20 |[CheckGo|pher] " |
|00003710| 26 20 65 72 72 54 65 78 | 74 20 26 20 22 20 28 22 |& errTex|t & " ("|
|00003720| 20 26 20 65 72 72 4e 75 | 6d 62 65 72 20 26 20 22 | & errNu|mber & "|
|00003730| 29 2e 22 0d 09 65 6e 64 | 20 74 72 79 0d 09 0d 09 |)."..end| try....|
|00003740| 69 66 20 4f 75 74 53 74 | 72 20 3d 20 22 22 20 61 |if OutSt|r = "" a|
|00003750| 6e 64 20 28 28 28 63 75 | 72 72 65 6e 74 20 64 61 |nd (((cu|rrent da|
|00003760| 74 65 29 20 2d 20 43 68 | 65 63 6b 53 74 61 72 74 |te) - Ch|eckStart|
|00003770| 54 69 6d 65 29 20 3e 20 | 4d 61 73 74 65 72 54 69 |Time) > |MasterTi|
|00003780| 6d 65 6f 75 74 29 20 74 | 68 65 6e 0d 09 09 73 65 |meout) t|hen...se|
|00003790| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|000037a0| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 73 |lose(IPC|onn)...s|
|000037b0| 65 74 20 4f 75 74 53 74 | 72 20 74 6f 20 42 43 20 |et OutSt|r to BC |
|000037c0| 26 20 22 45 72 72 6f 72 | 3a 20 5b 43 68 65 63 6b |& "Error|: [Check|
|000037d0| 47 6f 70 68 65 72 5d 20 | 43 68 65 63 6b 20 74 69 |Gopher] |Check ti|
|000037e0| 6d 65 64 20 6f 75 74 2e | 22 0d 09 65 6e 64 20 69 |med out.|"..end i|
|000037f0| 66 0d 09 0d 65 6e 64 20 | 43 68 65 63 6b 47 6f 70 |f...end |CheckGop|
|00003800| 68 65 72 0d 0d 2d 2d 20 | 73 75 62 72 6f 75 74 69 |her..-- |subrouti|
|00003810| 6e 65 20 49 6e 69 74 46 | 54 50 20 2d 2d 2d 2d 2d |ne InitF|TP -----|
|00003820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003860| 2d 2d 2d 2d 2d 0d 0d 6f | 6e 20 49 6e 69 74 46 54 |-----..o|n InitFT|
|00003870| 50 28 66 74 70 48 6f 73 | 74 2c 20 66 74 70 50 6f |P(ftpHos|t, ftpPo|
|00003880| 72 74 2c 20 66 69 6c 65 | 4e 61 6d 65 2c 20 72 65 |rt, file|Name, re|
|00003890| 66 65 72 65 72 29 0d 09 | 0d 09 67 6c 6f 62 61 6c |ferer)..|..global|
|000038a0| 20 46 72 6f 6d 41 64 64 | 72 65 73 73 0d 09 67 6c | FromAdd|ress..gl|
|000038b0| 6f 62 61 6c 20 53 6f 66 | 74 77 61 72 65 56 65 72 |obal Sof|twareVer|
|000038c0| 73 69 6f 6e 0d 09 67 6c | 6f 62 61 6c 20 4f 75 74 |sion..gl|obal Out|
|000038d0| 53 74 72 0d 09 67 6c 6f | 62 61 6c 20 49 50 43 6f |Str..glo|bal IPCo|
|000038e0| 6e 6e 0d 09 67 6c 6f 62 | 61 6c 20 49 50 43 6f 6e |nn..glob|al IPCon|
|000038f0| 6e 32 0d 09 67 6c 6f 62 | 61 6c 20 4c 6f 63 61 6c |n2..glob|al Local|
|00003900| 41 64 64 72 65 73 73 0d | 09 67 6c 6f 62 61 6c 20 |Address.|.global |
|00003910| 4e 6f 54 65 73 74 45 78 | 74 65 72 6e 61 6c 43 6c |NoTestEx|ternalCl|
|00003920| 61 73 73 65 73 0d 09 0d | 09 69 66 20 4e 6f 54 65 |asses...|.if NoTe|
|00003930| 73 74 45 78 74 65 72 6e | 61 6c 43 6c 61 73 73 65 |stExtern|alClasse|
|00003940| 73 20 63 6f 6e 74 61 69 | 6e 73 20 22 66 74 70 22 |s contai|ns "ftp"|
|00003950| 20 74 68 65 6e 0d 09 09 | 73 65 74 20 4f 75 74 53 | then...|set OutS|
|00003960| 74 72 20 74 6f 20 42 43 | 20 26 20 22 4e 6f 74 65 |tr to BC| & "Note|
|00003970| 3a 20 46 54 50 20 6c 69 | 6e 6b 73 20 61 72 65 20 |: FTP li|nks are |
|00003980| 6e 6f 74 20 70 72 65 73 | 65 6e 74 6c 79 20 62 65 |not pres|ently be|
|00003990| 69 6e 67 20 63 68 65 63 | 6b 65 64 2e 22 0d 09 65 |ing chec|ked."..e|
|000039a0| 6c 73 65 0d 09 09 74 72 | 79 0d 09 09 09 73 65 74 |lse...tr|y....set|
|000039b0| 20 49 50 43 6f 6e 6e 20 | 74 6f 20 28 74 63 70 20 | IPConn |to (tcp |
|000039c0| 63 6f 6e 6e 65 63 74 20 | 74 6f 20 68 6f 73 74 20 |connect |to host |
|000039d0| 66 74 70 48 6f 73 74 20 | 70 6f 72 74 20 66 74 70 |ftpHost |port ftp|
|000039e0| 50 6f 72 74 29 0d 09 09 | 09 73 65 74 20 49 50 43 |Port)...|.set IPC|
|000039f0| 6f 6e 6e 32 20 74 6f 20 | 28 74 63 70 20 77 61 69 |onn2 to |(tcp wai|
|00003a00| 74 20 66 6f 72 20 63 6f | 6e 6e 65 63 74 20 70 6f |t for co|nnect po|
|00003a10| 72 74 20 33 33 32 31 29 | 0d 09 09 09 2d 2d 20 73 |rt 3321)|....-- s|
|00003a20| 65 6e 64 20 74 68 65 20 | 55 73 65 72 6e 61 6d 65 |end the |Username|
|00003a30| 2f 70 61 73 73 77 6f 72 | 64 2f 74 72 61 6e 73 66 |/passwor|d/transf|
|00003a40| 65 72 20 74 79 70 65 2f | 63 68 61 6e 67 65 20 64 |er type/|change d|
|00003a50| 69 72 65 63 74 6f 72 79 | 2f 70 6f 72 74 2f 6c 69 |irectory|/port/li|
|00003a60| 73 74 20 63 6f 6d 6d 61 | 6e 64 73 20 61 6c 6c 20 |st comma|nds all |
|00003a70| 61 73 20 61 20 67 72 6f | 75 70 0d 09 09 09 74 63 |as a gro|up....tc|
|00003a80| 70 20 77 72 69 74 65 20 | 73 74 72 65 61 6d 20 49 |p write |stream I|
|00003a90| 50 43 6f 6e 6e 20 64 61 | 74 61 20 22 55 53 45 52 |PConn da|ta "USER|
|00003aa0| 20 61 6e 6f 6e 79 6d 6f | 75 73 22 20 26 20 63 72 | anonymo|us" & cr|
|00003ab0| 20 26 20 c2 0d 09 09 09 | 09 22 50 41 53 53 20 22 | & .....|."PASS "|
|00003ac0| 20 26 20 22 57 65 62 53 | 74 61 72 4c 69 6e 6b 43 | & "WebS|tarLinkC|
|00003ad0| 68 65 63 6b 65 72 2f 22 | 20 26 20 53 6f 66 74 77 |hecker/"| & Softw|
|00003ae0| 61 72 65 56 65 72 73 69 | 6f 6e 20 26 20 22 2f 22 |areVersi|on & "/"|
|00003af0| 20 26 20 46 72 6f 6d 41 | 64 64 72 65 73 73 20 26 | & FromA|ddress &|
|00003b00| 20 63 72 20 26 20 c2 0d | 09 09 09 09 22 54 59 50 | cr & ..|...."TYP|
|00003b10| 45 20 41 22 20 26 20 63 | 72 20 26 20 22 43 57 44 |E A" & c|r & "CWD|
|00003b20| 20 22 20 26 20 66 69 6c | 65 4e 61 6d 65 20 26 20 | " & fil|eName & |
|00003b30| 63 72 20 26 20 22 50 4f | 52 54 20 22 20 26 20 4c |cr & "PO|RT " & L|
|00003b40| 6f 63 61 6c 41 64 64 72 | 65 73 73 20 26 20 63 72 |ocalAddr|ess & cr|
|00003b50| 20 26 20 22 4c 49 53 54 | 22 20 26 20 63 72 20 75 | & "LIST|" & cr u|
|00003b60| 73 69 6e 67 20 49 53 4f | 38 38 35 39 31 0d 09 09 |sing ISO|88591...|
|00003b70| 6f 6e 20 65 72 72 6f 72 | 20 65 72 72 54 65 78 74 |on error| errText|
|00003b80| 20 6e 75 6d 62 65 72 20 | 65 72 72 4e 75 6d 62 65 | number |errNumbe|
|00003b90| 72 0d 09 09 09 73 65 74 | 20 4f 75 74 53 74 72 20 |r....set| OutStr |
|00003ba0| 74 6f 20 42 43 20 26 20 | 22 45 72 72 6f 72 3a 20 |to BC & |"Error: |
|00003bb0| 5b 49 6e 69 74 46 54 50 | 5d 20 22 20 26 20 65 72 |[InitFTP|] " & er|
|00003bc0| 72 54 65 78 74 20 26 20 | 22 20 28 22 20 26 20 65 |rText & |" (" & e|
|00003bd0| 72 72 4e 75 6d 62 65 72 | 20 26 20 22 29 2e 22 0d |rrNumber| & ").".|
|00003be0| 09 09 09 73 65 74 20 49 | 50 43 6f 6e 6e 20 74 6f |...set I|PConn to|
|00003bf0| 20 54 43 50 43 6c 6f 73 | 65 28 49 50 43 6f 6e 6e | TCPClos|e(IPConn|
|00003c00| 29 0d 09 09 09 73 65 74 | 20 49 50 43 6f 6e 6e 32 |)....set| IPConn2|
|00003c10| 20 74 6f 20 54 43 50 43 | 6c 6f 73 65 28 49 50 43 | to TCPC|lose(IPC|
|00003c20| 6f 6e 6e 32 29 0d 09 09 | 65 6e 64 20 74 72 79 0d |onn2)...|end try.|
|00003c30| 09 65 6e 64 20 69 66 0d | 09 0d 65 6e 64 20 49 6e |.end if.|..end In|
|00003c40| 69 74 46 54 50 0d 0d 2d | 2d 20 73 75 62 72 6f 75 |itFTP..-|- subrou|
|00003c50| 74 69 6e 65 20 49 6e 69 | 74 46 54 50 46 69 72 65 |tine Ini|tFTPFire|
|00003c60| 77 61 6c 6c 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |wall ---|--------|
|00003c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003cb0| 0d 6f 6e 20 49 6e 69 74 | 46 54 50 46 69 72 65 77 |.on Init|FTPFirew|
|00003cc0| 61 6c 6c 28 66 74 70 48 | 6f 73 74 2c 20 66 74 70 |all(ftpH|ost, ftp|
|00003cd0| 50 6f 72 74 2c 20 66 69 | 6c 65 4e 61 6d 65 2c 20 |Port, fi|leName, |
|00003ce0| 72 65 66 65 72 65 72 29 | 0d 09 0d 09 67 6c 6f 62 |referer)|....glob|
|00003cf0| 61 6c 20 46 72 6f 6d 41 | 64 64 72 65 73 73 0d 09 |al FromA|ddress..|
|00003d00| 67 6c 6f 62 61 6c 20 46 | 54 50 46 69 72 65 77 61 |global F|TPFirewa|
|00003d10| 6c 6c 0d 09 67 6c 6f 62 | 61 6c 20 53 6f 66 74 77 |ll..glob|al Softw|
|00003d20| 61 72 65 56 65 72 73 69 | 6f 6e 0d 09 67 6c 6f 62 |areVersi|on..glob|
|00003d30| 61 6c 20 4f 75 74 53 74 | 72 0d 09 67 6c 6f 62 61 |al OutSt|r..globa|
|00003d40| 6c 20 49 50 43 6f 6e 6e | 0d 09 67 6c 6f 62 61 6c |l IPConn|..global|
|00003d50| 20 49 50 43 6f 6e 6e 32 | 0d 09 67 6c 6f 62 61 6c | IPConn2|..global|
|00003d60| 20 4c 6f 63 61 6c 41 64 | 64 72 65 73 73 0d 09 67 | LocalAd|dress..g|
|00003d70| 6c 6f 62 61 6c 20 4e 6f | 54 65 73 74 45 78 74 65 |lobal No|TestExte|
|00003d80| 72 6e 61 6c 43 6c 61 73 | 73 65 73 0d 09 0d 09 69 |rnalClas|ses....i|
|00003d90| 66 20 4e 6f 54 65 73 74 | 45 78 74 65 72 6e 61 6c |f NoTest|External|
|00003da0| 43 6c 61 73 73 65 73 20 | 63 6f 6e 74 61 69 6e 73 |Classes |contains|
|00003db0| 20 22 66 74 70 46 69 72 | 65 77 61 6c 6c 22 20 74 | "ftpFir|ewall" t|
|00003dc0| 68 65 6e 0d 09 09 73 65 | 74 20 4f 75 74 53 74 72 |hen...se|t OutStr|
|00003dd0| 20 74 6f 20 42 43 20 26 | 20 22 4e 6f 74 65 3a 20 | to BC &| "Note: |
|00003de0| 46 54 50 20 46 69 72 65 | 77 61 6c 6c 20 6c 69 6e |FTP Fire|wall lin|
|00003df0| 6b 73 20 61 72 65 20 6e | 6f 74 20 70 72 65 73 65 |ks are n|ot prese|
|00003e00| 6e 74 6c 79 20 62 65 69 | 6e 67 20 63 68 65 63 6b |ntly bei|ng check|
|00003e10| 65 64 2e 22 0d 09 65 6c | 73 65 0d 09 09 73 65 74 |ed."..el|se...set|
|00003e20| 20 6f 6c 64 44 65 6c 69 | 6d 69 74 65 72 73 20 74 | oldDeli|miters t|
|00003e30| 6f 20 41 70 70 6c 65 53 | 63 72 69 70 74 27 73 20 |o AppleS|cript's |
|00003e40| 74 65 78 74 20 69 74 65 | 6d 20 64 65 6c 69 6d 69 |text ite|m delimi|
|00003e50| 74 65 72 73 0d 09 09 73 | 65 74 20 41 70 70 6c 65 |ters...s|et Apple|
|00003e60| 53 63 72 69 70 74 27 73 | 20 74 65 78 74 20 69 74 |Script's| text it|
|00003e70| 65 6d 20 64 65 6c 69 6d | 69 74 65 72 73 20 74 6f |em delim|iters to|
|00003e80| 20 22 3a 22 0d 09 09 0d | 09 09 73 65 74 20 66 69 | ":"....|..set fi|
|00003e90| 72 65 77 61 6c 6c 48 6f | 73 74 20 74 6f 20 74 65 |rewallHo|st to te|
|00003ea0| 78 74 20 69 74 65 6d 20 | 31 20 6f 66 20 46 54 50 |xt item |1 of FTP|
|00003eb0| 46 69 72 65 77 61 6c 6c | 0d 09 09 74 72 79 0d 09 |Firewall|...try..|
|00003ec0| 09 09 73 65 74 20 66 69 | 72 65 77 61 6c 6c 50 6f |..set fi|rewallPo|
|00003ed0| 72 74 20 74 6f 20 74 65 | 78 74 20 69 74 65 6d 20 |rt to te|xt item |
|00003ee0| 32 20 6f 66 20 46 54 50 | 46 69 72 65 77 61 6c 6c |2 of FTP|Firewall|
|00003ef0| 0d 09 09 6f 6e 20 65 72 | 72 6f 72 0d 09 09 09 73 |...on er|ror....s|
|00003f00| 65 74 20 66 69 72 65 77 | 61 6c 6c 50 6f 72 74 20 |et firew|allPort |
|00003f10| 74 6f 20 22 32 31 22 0d | 09 09 65 6e 64 20 74 72 |to "21".|..end tr|
|00003f20| 79 0d 09 09 0d 09 09 73 | 65 74 20 41 70 70 6c 65 |y......s|et Apple|
|00003f30| 53 63 72 69 70 74 27 73 | 20 74 65 78 74 20 69 74 |Script's| text it|
|00003f40| 65 6d 20 64 65 6c 69 6d | 69 74 65 72 73 20 74 6f |em delim|iters to|
|00003f50| 20 6f 6c 64 44 65 6c 69 | 6d 69 74 65 72 73 0d 09 | oldDeli|miters..|
|00003f60| 09 0d 09 09 74 72 79 0d | 09 09 09 73 65 74 20 49 |....try.|...set I|
|00003f70| 50 43 6f 6e 6e 20 74 6f | 20 28 74 63 70 20 63 6f |PConn to| (tcp co|
|00003f80| 6e 6e 65 63 74 20 74 6f | 20 68 6f 73 74 20 66 69 |nnect to| host fi|
|00003f90| 72 65 77 61 6c 6c 48 6f | 73 74 20 70 6f 72 74 20 |rewallHo|st port |
|00003fa0| 66 69 72 65 77 61 6c 6c | 50 6f 72 74 29 0d 09 09 |firewall|Port)...|
|00003fb0| 09 73 65 74 20 49 50 43 | 6f 6e 6e 32 20 74 6f 20 |.set IPC|onn2 to |
|00003fc0| 28 74 63 70 20 77 61 69 | 74 20 66 6f 72 20 63 6f |(tcp wai|t for co|
|00003fd0| 6e 6e 65 63 74 20 70 6f | 72 74 20 33 33 32 31 29 |nnect po|rt 3321)|
|00003fe0| 0d 09 09 09 2d 2d 20 73 | 65 6e 64 20 74 68 65 20 |....-- s|end the |
|00003ff0| 55 73 65 72 6e 61 6d 65 | 2f 70 61 73 73 77 6f 72 |Username|/passwor|
|00004000| 64 2f 74 72 61 6e 73 66 | 65 72 20 74 79 70 65 2f |d/transf|er type/|
|00004010| 63 68 61 6e 67 65 20 64 | 69 72 65 63 74 6f 72 79 |change d|irectory|
|00004020| 2f 70 6f 72 74 2f 6c 69 | 73 74 20 63 6f 6d 6d 61 |/port/li|st comma|
|00004030| 6e 64 73 20 61 6c 6c 20 | 61 73 20 61 20 67 72 6f |nds all |as a gro|
|00004040| 75 70 0d 09 09 09 74 63 | 70 20 77 72 69 74 65 20 |up....tc|p write |
|00004050| 73 74 72 65 61 6d 20 49 | 50 43 6f 6e 6e 20 64 61 |stream I|PConn da|
|00004060| 74 61 20 22 55 53 45 52 | 20 61 6e 6f 6e 79 6d 6f |ta "USER| anonymo|
|00004070| 75 73 40 22 20 26 20 66 | 74 70 48 6f 73 74 20 26 |us@" & f|tpHost &|
|00004080| 20 63 72 20 26 20 c2 0d | 09 09 09 09 22 50 41 53 | cr & ..|...."PAS|
|00004090| 53 20 22 20 26 20 22 57 | 65 62 53 74 61 72 4c 69 |S " & "W|ebStarLi|
|000040a0| 6e 6b 43 68 65 63 6b 65 | 72 2f 22 20 26 20 53 6f |nkChecke|r/" & So|
|000040b0| 66 74 77 61 72 65 56 65 | 72 73 69 6f 6e 20 26 20 |ftwareVe|rsion & |
|000040c0| 22 2f 22 20 26 20 46 72 | 6f 6d 41 64 64 72 65 73 |"/" & Fr|omAddres|
|000040d0| 73 20 26 20 63 72 20 26 | 20 c2 0d 09 09 09 09 22 |s & cr &| ......"|
|000040e0| 54 59 50 45 20 41 22 20 | 26 20 63 72 20 26 20 22 |TYPE A" |& cr & "|
|000040f0| 43 57 44 20 22 20 26 20 | 66 69 6c 65 4e 61 6d 65 |CWD " & |fileName|
|00004100| 20 26 20 63 72 20 26 20 | 22 50 4f 52 54 20 22 20 | & cr & |"PORT " |
|00004110| 26 20 4c 6f 63 61 6c 41 | 64 64 72 65 73 73 20 26 |& LocalA|ddress &|
|00004120| 20 63 72 20 26 20 22 4c | 49 53 54 22 20 26 20 63 | cr & "L|IST" & c|
|00004130| 72 20 75 73 69 6e 67 20 | 49 53 4f 38 38 35 39 31 |r using |ISO88591|
|00004140| 0d 09 09 6f 6e 20 65 72 | 72 6f 72 20 65 72 72 54 |...on er|ror errT|
|00004150| 65 78 74 20 6e 75 6d 62 | 65 72 20 65 72 72 4e 75 |ext numb|er errNu|
|00004160| 6d 62 65 72 0d 09 09 09 | 73 65 74 20 4f 75 74 53 |mber....|set OutS|
|00004170| 74 72 20 74 6f 20 42 43 | 20 26 20 22 45 72 72 6f |tr to BC| & "Erro|
|00004180| 72 3a 20 5b 49 6e 69 74 | 46 54 50 46 69 72 65 77 |r: [Init|FTPFirew|
|00004190| 61 6c 6c 5d 20 22 20 26 | 20 65 72 72 54 65 78 74 |all] " &| errText|
|000041a0| 20 26 20 22 20 28 22 20 | 26 20 65 72 72 4e 75 6d | & " (" |& errNum|
|000041b0| 62 65 72 20 26 20 22 29 | 2e 22 0d 09 09 09 73 65 |ber & ")|."....se|
|000041c0| 74 20 49 50 43 6f 6e 6e | 20 74 6f 20 54 43 50 43 |t IPConn| to TCPC|
|000041d0| 6c 6f 73 65 28 49 50 43 | 6f 6e 6e 29 0d 09 09 09 |lose(IPC|onn)....|
|000041e0| 73 65 74 20 49 50 43 6f | 6e 6e 32 20 74 6f 20 54 |set IPCo|nn2 to T|
|000041f0| 43 50 43 6c 6f 73 65 28 | 49 50 43 6f 6e 6e 32 29 |CPClose(|IPConn2)|
|00004200| 0d 09 09 65 6e 64 20 74 | 72 79 0d 09 65 6e 64 20 |...end t|ry..end |
|00004210| 69 66 0d 09 0d 65 6e 64 | 20 49 6e 69 74 46 54 50 |if...end| InitFTP|
|00004220| 46 69 72 65 77 61 6c 6c | 0d 0d 2d 2d 20 73 75 62 |Firewall|..-- sub|
|00004230| 72 6f 75 74 69 6e 65 20 | 43 68 65 63 6b 46 54 50 |routine |CheckFTP|
|00004240| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -------|--------|
|00004250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004290| 2d 0d 0d 6f 6e 20 43 68 | 65 63 6b 46 54 50 28 29 |-..on Ch|eckFTP()|
|000042a0| 0d 09 0d 09 67 6c 6f 62 | 61 6c 20 49 50 43 6f 6e |....glob|al IPCon|
|000042b0| 6e 0d 09 67 6c 6f 62 61 | 6c 20 49 50 43 6f 6e 6e |n..globa|l IPConn|
|000042c0| 32 0d 09 67 6c 6f 62 61 | 6c 20 4f 75 74 53 74 72 |2..globa|l OutStr|
|000042d0| 0d 09 67 6c 6f 62 61 6c | 20 43 68 65 63 6b 53 74 |..global| CheckSt|
|000042e0| 61 72 74 54 69 6d 65 0d | 09 67 6c 6f 62 61 6c 20 |artTime.|.global |
|000042f0| 4d 61 73 74 65 72 54 69 | 6d 65 6f 75 74 0d 09 67 |MasterTi|meout..g|
|00004300| 6c 6f 62 61 6c 20 46 54 | 50 46 69 6c 65 46 6f 75 |lobal FT|PFileFou|
|00004310| 6e 64 0d 09 67 6c 6f 62 | 61 6c 20 46 69 6c 65 4e |nd..glob|al FileN|
|00004320| 61 6d 65 4f 6e 6c 79 0d | 09 67 6c 6f 62 61 6c 20 |ameOnly.|.global |
|00004330| 46 54 50 53 74 61 74 75 | 73 43 6f 64 65 0d 09 0d |FTPStatu|sCode...|
|00004340| 09 74 72 79 0d 09 09 69 | 66 20 28 74 63 70 20 61 |.try...i|f (tcp a|
|00004350| 68 65 61 64 20 63 68 61 | 72 61 63 74 65 72 73 20 |head cha|racters |
|00004360| 6c 66 20 73 74 72 65 61 | 6d 20 49 50 43 6f 6e 6e |lf strea|m IPConn|
|00004370| 32 29 20 74 68 65 6e 0d | 09 09 09 2d 2d 20 66 69 |2) then.|...-- fi|
|00004380| 72 73 74 20 63 68 65 63 | 6b 20 74 68 65 20 64 61 |rst chec|k the da|
|00004390| 74 61 20 63 68 61 6e 6e | 65 6c 20 66 6f 72 20 61 |ta chann|el for a|
|000043a0| 6e 79 20 69 6e 66 6f 72 | 6d 61 74 69 6f 6e 0d 09 |ny infor|mation..|
|000043b0| 09 09 73 65 74 20 6f 6c | 64 44 65 6c 69 6d 69 74 |..set ol|dDelimit|
|000043c0| 65 72 73 20 74 6f 20 41 | 70 70 6c 65 53 63 72 69 |ers to A|ppleScri|
|000043d0| 70 74 27 73 20 74 65 78 | 74 20 69 74 65 6d 20 64 |pt's tex|t item d|
|000043e0| 65 6c 69 6d 69 74 65 72 | 73 0d 09 09 09 73 65 74 |elimiter|s....set|
|000043f0| 20 41 70 70 6c 65 53 63 | 72 69 70 74 27 73 20 74 | AppleSc|ript's t|
|00004400| 65 78 74 20 69 74 65 6d | 20 64 65 6c 69 6d 69 74 |ext item| delimit|
|00004410| 65 72 73 20 74 6f 20 22 | 20 22 0d 09 09 09 73 65 |ers to "| "....se|
|00004420| 74 20 6e 75 6d 46 69 6c | 65 73 20 74 6f 20 30 0d |t numFil|es to 0.|
|00004430| 09 09 09 72 65 70 65 61 | 74 20 77 68 69 6c 65 20 |...repea|t while |
|00004440| 28 74 63 70 20 61 68 65 | 61 64 20 63 68 61 72 61 |(tcp ahe|ad chara|
|00004450| 63 74 65 72 73 20 6c 66 | 20 73 74 72 65 61 6d 20 |cters lf| stream |
|00004460| 49 50 43 6f 6e 6e 32 29 | 0d 09 09 09 09 73 65 74 |IPConn2)|.....set|
|00004470| 20 69 6e 70 75 74 53 74 | 72 20 74 6f 20 28 74 63 | inputSt|r to (tc|
|00004480| 70 20 72 65 61 64 20 73 | 74 72 65 61 6d 20 49 50 |p read s|tream IP|
|00004490| 43 6f 6e 6e 32 20 75 6e | 74 69 6c 20 63 68 61 72 |Conn2 un|til char|
|000044a0| 61 63 74 65 72 73 20 6c | 66 20 75 73 69 6e 67 20 |acters l|f using |
|000044b0| 49 53 4f 38 38 35 39 31 | 29 0d 09 09 09 09 69 66 |ISO88591|).....if|
|000044c0| 20 6c 65 6e 67 74 68 20 | 6f 66 20 69 6e 70 75 74 | length |of input|
|000044d0| 53 74 72 20 3e 20 31 20 | 74 68 65 6e 0d 09 09 09 |Str > 1 |then....|
|000044e0| 09 09 73 65 74 20 69 74 | 65 6d 4c 69 73 74 20 74 |..set it|emList t|
|000044f0| 6f 20 74 65 78 74 20 69 | 74 65 6d 73 20 6f 66 20 |o text i|tems of |
|00004500| 28 74 65 78 74 20 31 20 | 74 68 72 75 20 2d 32 20 |(text 1 |thru -2 |
|00004510| 6f 66 20 69 6e 70 75 74 | 53 74 72 29 0d 09 09 09 |of input|Str)....|
|00004520| 09 09 73 65 74 20 69 4e | 75 6d 20 74 6f 20 6c 65 |..set iN|um to le|
|00004530| 6e 67 74 68 20 6f 66 20 | 69 74 65 6d 4c 69 73 74 |ngth of |itemList|
|00004540| 0d 09 09 09 09 09 72 65 | 70 65 61 74 20 77 68 69 |......re|peat whi|
|00004550| 6c 65 20 28 28 28 74 65 | 78 74 20 69 74 65 6d 20 |le (((te|xt item |
|00004560| 69 4e 75 6d 20 6f 66 20 | 69 74 65 6d 4c 69 73 74 |iNum of |itemList|
|00004570| 29 20 3d 20 22 22 29 20 | 61 6e 64 20 69 4e 75 6d |) = "") |and iNum|
|00004580| 20 3e 20 31 29 0d 09 09 | 09 09 09 09 73 65 74 20 | > 1)...|....set |
|00004590| 69 4e 75 6d 20 74 6f 20 | 69 4e 75 6d 20 2d 20 31 |iNum to |iNum - 1|
|000045a0| 0d 09 09 09 09 09 65 6e | 64 20 72 65 70 65 61 74 |......en|d repeat|
|000045b0| 0d 09 09 09 09 09 69 66 | 20 28 69 74 65 6d 20 69 |......if| (item i|
|000045c0| 4e 75 6d 20 6f 66 20 69 | 74 65 6d 4c 69 73 74 29 |Num of i|temList)|
|000045d0| 20 3d 20 46 69 6c 65 4e | 61 6d 65 4f 6e 6c 79 20 | = FileN|ameOnly |
|000045e0| 6f 72 20 46 69 6c 65 4e | 61 6d 65 4f 6e 6c 79 20 |or FileN|ameOnly |
|000045f0| 3d 20 22 22 20 74 68 65 | 6e 0d 09 09 09 09 09 09 |= "" the|n.......|
|00004600| 73 65 74 20 46 54 50 46 | 69 6c 65 46 6f 75 6e 64 |set FTPF|ileFound|
|00004610| 20 74 6f 20 74 72 75 65 | 0d 09 09 09 09 09 09 65 | to true|.......e|
|00004620| 78 69 74 20 72 65 70 65 | 61 74 0d 09 09 09 09 09 |xit repe|at......|
|00004630| 65 6e 64 20 69 66 0d 09 | 09 09 09 65 6e 64 20 69 |end if..|...end i|
|00004640| 66 0d 09 09 09 09 73 65 | 74 20 6e 75 6d 46 69 6c |f.....se|t numFil|
|00004650| 65 73 20 74 6f 20 6e 75 | 6d 46 69 6c 65 73 20 2b |es to nu|mFiles +|
|00004660| 20 31 0d 09 09 09 09 69 | 66 20 6e 75 6d 46 69 6c | 1.....i|f numFil|
|00004670| 65 73 20 3e 20 35 30 30 | 20 74 68 65 6e 0d 09 09 |es > 500| then...|
|00004680| 09 09 09 73 65 74 20 49 | 50 43 6f 6e 6e 20 74 6f |...set I|PConn to|
|00004690| 20 54 43 50 43 6c 6f 73 | 65 28 49 50 43 6f 6e 6e | TCPClos|e(IPConn|
|000046a0| 29 0d 09 09 09 09 09 73 | 65 74 20 49 50 43 6f 6e |)......s|et IPCon|
|000046b0| 6e 32 20 74 6f 20 54 43 | 50 43 6c 6f 73 65 28 49 |n2 to TC|PClose(I|
|000046c0| 50 43 6f 6e 6e 32 29 0d | 09 09 09 09 09 73 65 74 |PConn2).|.....set|
|000046d0| 20 4f 75 74 53 74 72 20 | 74 6f 20 4f 75 74 53 74 | OutStr |to OutSt|
|000046e0| 72 20 26 20 42 43 20 26 | 20 22 45 72 72 6f 72 3a |r & BC &| "Error:|
|000046f0| 20 43 68 65 63 6b 65 64 | 20 35 30 30 20 66 69 6c | Checked| 500 fil|
|00004700| 65 73 20 69 6e 20 74 68 | 69 73 20 64 69 72 65 63 |es in th|is direc|
|00004710| 74 6f 72 79 20 73 6f 20 | 66 61 72 2c 20 61 62 6f |tory so |far, abo|
|00004720| 72 74 69 6e 67 2e 20 28 | 34 31 34 29 22 0d 09 09 |rting. (|414)"...|
|00004730| 09 09 09 65 78 69 74 20 | 72 65 70 65 61 74 0d 09 |...exit |repeat..|
|00004740| 09 09 09 65 6e 64 20 69 | 66 0d 09 09 09 65 6e 64 |...end i|f....end|
|00004750| 20 72 65 70 65 61 74 0d | 09 09 09 73 65 74 20 41 | repeat.|...set A|
|00004760| 70 70 6c 65 53 63 72 69 | 70 74 27 73 20 74 65 78 |ppleScri|pt's tex|
|00004770| 74 20 69 74 65 6d 20 64 | 65 6c 69 6d 69 74 65 72 |t item d|elimiter|
|00004780| 73 20 74 6f 20 6f 6c 64 | 44 65 6c 69 6d 69 74 65 |s to old|Delimite|
|00004790| 72 73 0d 09 09 65 6e 64 | 20 69 66 0d 09 09 0d 09 |rs...end| if.....|
|000047a0| 09 73 65 74 20 69 70 32 | 73 74 61 74 20 74 6f 20 |.set ip2|stat to |
|000047b0| 28 74 63 70 20 73 74 61 | 74 75 73 20 73 74 72 65 |(tcp sta|tus stre|
|000047c0| 61 6d 20 49 50 43 6f 6e | 6e 32 29 0d 09 09 0d 09 |am IPCon|n2).....|
|000047d0| 09 69 66 20 28 74 63 70 | 20 61 68 65 61 64 20 63 |.if (tcp| ahead c|
|000047e0| 68 61 72 61 63 74 65 72 | 73 20 6c 66 20 73 74 72 |haracter|s lf str|
|000047f0| 65 61 6d 20 49 50 43 6f | 6e 6e 29 20 74 68 65 6e |eam IPCo|nn) then|
|00004800| 0d 09 09 09 2d 2d 20 74 | 68 65 6e 20 63 68 65 63 |....-- t|hen chec|
|00004810| 6b 20 74 68 65 20 73 74 | 61 74 75 73 20 63 6f 64 |k the st|atus cod|
|00004820| 65 20 63 68 61 6e 6e 65 | 6c 20 66 6f 72 20 61 6e |e channe|l for an|
|00004830| 79 20 65 72 72 6f 72 73 | 0d 09 09 09 72 65 70 65 |y errors|....repe|
|00004840| 61 74 20 77 68 69 6c 65 | 20 28 74 63 70 20 61 68 |at while| (tcp ah|
|00004850| 65 61 64 20 63 68 61 72 | 61 63 74 65 72 73 20 6c |ead char|acters l|
|00004860| 66 20 73 74 72 65 61 6d | 20 49 50 43 6f 6e 6e 29 |f stream| IPConn)|
|00004870| 0d 09 09 09 09 46 54 50 | 53 63 61 6e 46 6f 72 43 |.....FTP|ScanForC|
|00004880| 6f 64 65 73 28 74 63 70 | 20 72 65 61 64 20 73 74 |odes(tcp| read st|
|00004890| 72 65 61 6d 20 49 50 43 | 6f 6e 6e 20 75 6e 74 69 |ream IPC|onn unti|
|000048a0| 6c 20 63 68 61 72 61 63 | 74 65 72 73 20 6c 66 20 |l charac|ters lf |
|000048b0| 75 73 69 6e 67 20 49 53 | 4f 38 38 35 39 31 29 0d |using IS|O88591).|
|000048c0| 09 09 09 65 6e 64 20 72 | 65 70 65 61 74 0d 09 09 |...end r|epeat...|
|000048d0| 09 69 66 20 4f 75 74 53 | 74 72 20 ad 20 22 22 20 |.if OutS|tr . "" |
|000048e0| 74 68 65 6e 0d 09 09 09 | 09 73 65 74 20 49 50 43 |then....|.set IPC|
|000048f0| 6f 6e 6e 20 74 6f 20 54 | 43 50 43 6c 6f 73 65 28 |onn to T|CPClose(|
|00004900| 49 50 43 6f 6e 6e 29 0d | 09 09 09 09 73 65 74 20 |IPConn).|....set |
|00004910| 49 50 43 6f 6e 6e 32 20 | 74 6f 20 54 43 50 43 6c |IPConn2 |to TCPCl|
|00004920| 6f 73 65 28 49 50 43 6f | 6e 6e 32 29 0d 09 09 09 |ose(IPCo|nn2)....|
|00004930| 65 6e 64 20 69 66 0d 09 | 09 65 6e 64 20 69 66 0d |end if..|.end if.|
|00004940| 09 09 0d 09 09 69 66 20 | 46 54 50 46 69 6c 65 46 |.....if |FTPFileF|
|00004950| 6f 75 6e 64 20 6f 72 20 | 28 28 63 6f 6e 6e 65 63 |ound or |((connec|
|00004960| 74 69 6f 6e 20 73 74 61 | 74 75 73 20 6f 66 20 69 |tion sta|tus of i|
|00004970| 70 32 73 74 61 74 29 20 | 3d 20 43 6c 6f 73 65 20 |p2stat) |= Close |
|00004980| 72 65 71 75 65 73 74 65 | 64 20 61 6e 64 20 4f 75 |requeste|d and Ou|
|00004990| 74 53 74 72 20 3d 20 22 | 22 29 20 74 68 65 6e 0d |tStr = "|") then.|
|000049a0| 09 09 09 2d 2d 20 69 66 | 20 74 68 65 20 66 69 6c |...-- if| the fil|
|000049b0| 65 20 77 61 73 20 66 6f | 75 6e 64 20 6f 72 20 74 |e was fo|und or t|
|000049c0| 68 65 20 64 61 74 61 20 | 63 68 61 6e 6e 65 6c 20 |he data |channel |
|000049d0| 73 74 61 74 75 73 20 69 | 73 20 22 63 6c 6f 73 65 |status i|s "close|
|000049e0| 20 72 65 71 75 65 73 74 | 65 64 22 0d 09 09 09 69 | request|ed"....i|
|000049f0| 66 20 46 54 50 46 69 6c | 65 46 6f 75 6e 64 20 74 |f FTPFil|eFound t|
|00004a00| 68 65 6e 0d 09 09 09 09 | 73 65 74 20 4f 75 74 53 |hen.....|set OutS|
|00004a10| 74 72 20 74 6f 20 22 4f | 4b 22 0d 09 09 09 65 6c |tr to "O|K"....el|
|00004a20| 73 65 0d 09 09 09 09 73 | 65 74 20 4f 75 74 53 74 |se.....s|et OutSt|
|00004a30| 72 20 74 6f 20 42 43 20 | 26 20 22 45 72 72 6f 72 |r to BC |& "Error|
|00004a40| 3a 20 46 69 6c 65 20 22 | 20 26 20 46 69 6c 65 4e |: File "| & FileN|
|00004a50| 61 6d 65 4f 6e 6c 79 20 | 26 20 22 20 77 61 73 20 |ameOnly |& " was |
|00004a60| 6e 6f 74 20 66 6f 75 6e | 64 20 28 34 30 34 29 2e |not foun|d (404).|
|00004a70| 22 0d 09 09 09 65 6e 64 | 20 69 66 0d 09 09 09 73 |"....end| if....s|
|00004a80| 65 74 20 49 50 43 6f 6e | 6e 20 74 6f 20 54 43 50 |et IPCon|n to TCP|
|00004a90| 43 6c 6f 73 65 28 49 50 | 43 6f 6e 6e 29 0d 09 09 |Close(IP|Conn)...|
|00004aa0| 09 73 65 74 20 49 50 43 | 6f 6e 6e 32 20 74 6f 20 |.set IPC|onn2 to |
|00004ab0| 54 43 50 43 6c 6f 73 65 | 28 49 50 43 6f 6e 6e 32 |TCPClose|(IPConn2|
|00004ac0| 29 0d 09 09 65 6e 64 20 | 69 66 0d 09 09 0d 09 6f |)...end |if.....o|
|00004ad0| 6e 20 65 72 72 6f 72 20 | 65 72 72 54 65 78 74 20 |n error |errText |
|00004ae0| 6e 75 6d 62 65 72 20 65 | 72 72 4e 75 6d 62 65 72 |number e|rrNumber|
|00004af0| 0d 09 09 73 65 74 20 49 | 50 43 6f 6e 6e 20 74 6f |...set I|PConn to|
|00004b00| 20 54 43 50 43 6c 6f 73 | 65 28 49 50 43 6f 6e 6e | TCPClos|e(IPConn|
|00004b10| 29 0d 09 09 73 65 74 20 | 49 50 43 6f 6e 6e 32 20 |)...set |IPConn2 |
|00004b20| 74 6f 20 54 43 50 43 6c | 6f 73 65 28 49 50 43 6f |to TCPCl|ose(IPCo|
|00004b30| 6e 6e 32 29 0d 09 09 73 | 65 74 20 4f 75 74 53 74 |nn2)...s|et OutSt|
|00004b40| 72 20 74 6f 20 4f 75 74 | 53 74 72 20 26 20 42 43 |r to Out|Str & BC|
|00004b50| 20 26 20 22 45 72 72 6f | 72 3a 20 5b 43 68 65 63 | & "Erro|r: [Chec|
|00004b60| 6b 46 54 50 5d 20 22 20 | 26 20 65 72 72 54 65 78 |kFTP] " |& errTex|
|00004b70| 74 20 26 20 22 20 28 22 | 20 26 20 65 72 72 4e 75 |t & " ("| & errNu|
|00004b80| 6d 62 65 72 20 26 20 22 | 29 2e 22 0d 09 65 6e 64 |mber & "|)."..end|
|00004b90| 20 74 72 79 0d 09 0d 09 | 69 66 20 4f 75 74 53 74 | try....|if OutSt|
|00004ba0| 72 20 3d 20 22 22 20 61 | 6e 64 20 28 28 28 63 75 |r = "" a|nd (((cu|
|00004bb0| 72 72 65 6e 74 20 64 61 | 74 65 29 20 2d 20 43 68 |rrent da|te) - Ch|
|00004bc0| 65 63 6b 53 74 61 72 74 | 54 69 6d 65 29 20 3e 20 |eckStart|Time) > |
|00004bd0| 4d 61 73 74 65 72 54 69 | 6d 65 6f 75 74 29 20 74 |MasterTi|meout) t|
|00004be0| 68 65 6e 0d 09 09 73 65 | 74 20 49 50 43 6f 6e 6e |hen...se|t IPConn|
|00004bf0| 20 74 6f 20 54 43 50 43 | 6c 6f 73 65 28 49 50 43 | to TCPC|lose(IPC|
|00004c00| 6f 6e 6e 29 0d 09 09 73 | 65 74 20 49 50 43 6f 6e |onn)...s|et IPCon|
|00004c10| 6e 32 20 74 6f 20 54 43 | 50 43 6c 6f 73 65 28 49 |n2 to TC|PClose(I|
|00004c20| 50 43 6f 6e 6e 32 29 0d | 09 09 73 65 74 20 4f 75 |PConn2).|..set Ou|
|00004c30| 74 53 74 72 20 74 6f 20 | 42 43 20 26 20 22 45 72 |tStr to |BC & "Er|
|00004c40| 72 6f 72 3a 20 5b 43 68 | 65 63 6b 46 54 50 5d 20 |ror: [Ch|eckFTP] |
|00004c50| 43 68 65 63 6b 20 74 69 | 6d 65 64 20 6f 75 74 2e |Check ti|med out.|
|00004c60| 22 0d 09 65 6e 64 20 69 | 66 0d 09 0d 65 6e 64 20 |"..end i|f...end |
|00004c70| 43 68 65 63 6b 46 54 50 | 0d 0d 2d 2d 20 69 64 6c |CheckFTP|..-- idl|
|00004c80| 65 20 65 76 65 6e 74 20 | 68 61 6e 64 6c 65 72 20 |e event |handler |
|00004c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 6f 6e |--------|----..on|
|00004cf0| 20 69 64 6c 65 0d 09 0d | 09 67 6c 6f 62 61 6c 20 | idle...|.global |
|00004d00| 4c 6f 6f 70 50 61 75 73 | 65 0d 09 67 6c 6f 62 61 |LoopPaus|e..globa|
|00004d10| 6c 20 43 75 72 72 65 6e | 74 50 61 75 73 65 54 69 |l Curren|tPauseTi|
|00004d20| 6d 65 0d 09 67 6c 6f 62 | 61 6c 20 4f 75 74 53 74 |me..glob|al OutSt|
|00004d30| 72 0d 09 67 6c 6f 62 61 | 6c 20 43 68 65 63 6b 43 |r..globa|l CheckC|
|00004d40| 6c 61 73 73 0d 09 67 6c | 6f 62 61 6c 20 51 75 69 |lass..gl|obal Qui|
|00004d50| 74 52 65 71 75 65 73 74 | 65 64 0d 09 0d 09 67 6c |tRequest|ed....gl|
|00004d60| 6f 62 61 6c 20 4c 69 6e | 6b 0d 09 67 6c 6f 62 61 |obal Lin|k..globa|
|00004d70| 6c 20 4c 69 6e 6b 44 61 | 74 65 0d 09 67 6c 6f 62 |l LinkDa|te..glob|
|00004d80| 61 6c 20 4c 69 6e 6b 52 | 65 73 75 6c 74 0d 09 67 |al LinkR|esult..g|
|00004d90| 6c 6f 62 61 6c 20 43 68 | 65 63 6b 54 68 69 73 4c |lobal Ch|eckThisL|
|00004da0| 69 6e 6b 4e 6f 77 0d 09 | 0d 09 74 72 79 0d 09 09 |inkNow..|..try...|
|00004db0| 0d 09 09 69 66 20 51 75 | 69 74 52 65 71 75 65 73 |...if Qu|itReques|
|00004dc0| 74 65 64 20 74 68 65 6e | 0d 09 09 09 74 65 6c 6c |ted then|....tell|
|00004dd0| 20 6d 65 0d 09 09 09 09 | 71 75 69 74 0d 09 09 09 | me.....|quit....|
|00004de0| 65 6e 64 20 74 65 6c 6c | 0d 09 09 65 6c 73 65 20 |end tell|...else |
|00004df0| 69 66 20 4f 75 74 53 74 | 72 20 ad 20 22 22 20 74 |if OutSt|r . "" t|
|00004e00| 68 65 6e 0d 09 09 09 73 | 65 74 20 43 68 65 63 6b |hen....s|et Check|
|00004e10| 43 6c 61 73 73 20 74 6f | 20 22 22 0d 09 09 09 73 |Class to| ""....s|
|00004e20| 65 74 20 43 75 72 72 65 | 6e 74 50 61 75 73 65 54 |et Curre|ntPauseT|
|00004e30| 69 6d 65 20 74 6f 20 4c | 6f 6f 70 50 61 75 73 65 |ime to L|oopPause|
|00004e40| 0d 09 09 09 69 66 20 43 | 68 65 63 6b 54 68 69 73 |....if C|heckThis|
|00004e50| 4c 69 6e 6b 4e 6f 77 20 | 74 68 65 6e 0d 09 09 09 |LinkNow |then....|
|00004e60| 09 73 65 74 20 4c 69 6e | 6b 52 65 73 75 6c 74 20 |.set Lin|kResult |
|00004e70| 74 6f 20 4f 75 74 53 74 | 72 0d 09 09 09 09 4c 69 |to OutSt|r.....Li|
|00004e80| 6e 6b 53 74 6f 72 61 67 | 65 28 22 50 55 54 22 29 |nkStorag|e("PUT")|
|00004e90| 0d 09 09 09 65 6e 64 20 | 69 66 0d 09 09 09 74 65 |....end |if....te|
|00004ea0| 6c 6c 20 6d 65 0d 09 09 | 09 09 c7 65 76 65 6e 74 |ll me...|...event|
|00004eb0| 20 57 53 4c 43 72 65 73 | 75 c8 20 67 69 76 65 6e | WSLCres|u. given|
|00004ec0| 20 43 68 65 63 6b 52 65 | 73 75 6c 74 3a 4f 75 74 | CheckRe|sult:Out|
|00004ed0| 53 74 72 0d 09 09 09 65 | 6e 64 20 74 65 6c 6c 0d |Str....e|nd tell.|
|00004ee0| 09 09 09 73 65 74 20 4f | 75 74 53 74 72 20 74 6f |...set O|utStr to|
|00004ef0| 20 22 22 0d 09 09 65 6c | 73 65 20 69 66 20 43 68 | ""...el|se if Ch|
|00004f00| 65 63 6b 43 6c 61 73 73 | 20 3d 20 22 68 74 74 70 |eckClass| = "http|
|00004f10| 22 20 6f 72 20 43 68 65 | 63 6b 43 6c 61 73 73 20 |" or Che|ckClass |
|00004f20| 3d 20 22 68 74 74 70 46 | 69 72 65 77 61 6c 6c 22 |= "httpF|irewall"|
|00004f30| 20 74 68 65 6e 0d 09 09 | 09 43 68 65 63 6b 48 54 | then...|.CheckHT|
|00004f40| 54 50 28 29 0d 09 09 65 | 6c 73 65 20 69 66 20 43 |TP()...e|lse if C|
|00004f50| 68 65 63 6b 43 6c 61 73 | 73 20 3d 20 22 67 6f 70 |heckClas|s = "gop|
|00004f60| 68 65 72 22 20 6f 72 20 | 43 68 65 63 6b 43 6c 61 |her" or |CheckCla|
|00004f70| 73 73 20 3d 20 22 67 6f | 70 68 65 72 46 69 72 65 |ss = "go|pherFire|
|00004f80| 77 61 6c 6c 22 20 74 68 | 65 6e 0d 09 09 09 43 68 |wall" th|en....Ch|
|00004f90| 65 63 6b 47 6f 70 68 65 | 72 28 29 0d 09 09 65 6c |eckGophe|r()...el|
|00004fa0| 73 65 20 69 66 20 43 68 | 65 63 6b 43 6c 61 73 73 |se if Ch|eckClass|
|00004fb0| 20 3d 20 22 66 74 70 22 | 20 6f 72 20 43 68 65 63 | = "ftp"| or Chec|
|00004fc0| 6b 43 6c 61 73 73 20 3d | 20 22 66 74 70 46 69 72 |kClass =| "ftpFir|
|00004fd0| 65 77 61 6c 6c 22 20 74 | 68 65 6e 0d 09 09 09 43 |ewall" t|hen....C|
|00004fe0| 68 65 63 6b 46 54 50 28 | 29 0d 09 09 65 6e 64 20 |heckFTP(|)...end |
|00004ff0| 69 66 0d 09 09 0d 09 09 | 72 65 74 75 72 6e 20 43 |if......|return C|
|00005000| 75 72 72 65 6e 74 50 61 | 75 73 65 54 69 6d 65 0d |urrentPa|useTime.|
|00005010| 09 09 0d 09 6f 6e 20 65 | 72 72 6f 72 20 65 72 72 |....on e|rror err|
|00005020| 54 65 78 74 20 6e 75 6d | 62 65 72 20 65 72 72 4e |Text num|ber errN|
|00005030| 75 6d 62 65 72 0d 09 09 | 74 72 79 0d 09 09 09 64 |umber...|try....d|
|00005040| 69 73 70 6c 61 79 20 64 | 69 61 6c 6f 67 20 65 72 |isplay d|ialog er|
|00005050| 72 54 65 78 74 0d 09 09 | 6f 6e 20 65 72 72 6f 72 |rText...|on error|
|00005060| 0d 09 09 65 6e 64 20 74 | 72 79 0d 09 65 6e 64 20 |...end t|ry..end |
|00005070| 74 72 79 0d 09 0d 65 6e | 64 20 69 64 6c 65 0d 0d |try...en|d idle..|
|00005080| 2d 2d 20 65 76 65 6e 74 | 20 57 65 62 53 74 61 72 |-- event| WebStar|
|00005090| 20 4c 69 6e 6b 20 43 68 | 65 63 6b 65 72 20 72 65 | Link Ch|ecker re|
|000050a0| 73 75 6c 74 73 20 28 57 | 53 4c 43 72 65 73 75 29 |sults (W|SLCresu)|
|000050b0| 20 68 61 6e 64 6c 65 72 | 20 2d 2d 2d 2d 2d 2d 2d | handler| -------|
|000050c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050f0| 2d 2d 2d 2d 2d 2d 2d 0d | 0d 6f 6e 20 c7 65 76 65 |-------.|.on .eve|
|00005100| 6e 74 20 57 53 4c 43 72 | 65 73 75 c8 20 67 69 76 |nt WSLCr|esu. giv|
|00005110| 65 6e 20 43 68 65 63 6b | 52 65 73 75 6c 74 3a 43 |en Check|Result:C|
|00005120| 68 65 63 6b 52 65 73 75 | 6c 74 0d 09 0d 09 74 65 |heckResu|lt....te|
|00005130| 6c 6c 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 20 22 |ll appli|cation "|
|00005140| 57 65 62 53 74 61 72 20 | 4c 69 6e 6b 20 43 68 65 |WebStar |Link Che|
|00005150| 63 6b 65 72 22 0d 09 09 | c7 65 76 65 6e 74 20 57 |cker"...|.event W|
|00005160| 53 4c 43 72 65 73 75 c8 | 20 67 69 76 65 6e 20 43 |SLCresu.| given C|
|00005170| 68 65 63 6b 52 65 73 75 | 6c 74 3a 43 68 65 63 6b |heckResu|lt:Check|
|00005180| 52 65 73 75 6c 74 0d 09 | 65 6e 64 20 74 65 6c 6c |Result..|end tell|
|00005190| 0d 09 0d 65 6e 64 20 c7 | 65 76 65 6e 74 20 57 53 |...end .|event WS|
|000051a0| 4c 43 72 65 73 75 c8 0d | 0d 2d 2d 20 65 76 65 6e |LCresu..|.-- even|
|000051b0| 74 20 57 65 62 53 74 61 | 72 20 4c 69 6e 6b 20 43 |t WebSta|r Link C|
|000051c0| 68 65 63 6b 65 72 20 51 | 75 69 74 20 28 57 53 4c |hecker Q|uit (WSL|
|000051d0| 43 71 75 69 74 29 20 68 | 61 6e 64 6c 65 72 20 2d |Cquit) h|andler -|
|000051e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000051f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0d 6f |--------|-----..o|
|00005220| 6e 20 c7 65 76 65 6e 74 | 20 57 53 4c 43 71 75 69 |n .event| WSLCqui|
|00005230| 74 c8 0d 09 0d 09 67 6c | 6f 62 61 6c 20 51 75 69 |t.....gl|obal Qui|
|00005240| 74 52 65 71 75 65 73 74 | 65 64 0d 09 0d 09 73 65 |tRequest|ed....se|
|00005250| 74 20 51 75 69 74 52 65 | 71 75 65 73 74 65 64 20 |t QuitRe|quested |
|00005260| 74 6f 20 74 72 75 65 0d | 09 0d 65 6e 64 20 c7 65 |to true.|..end .e|
|00005270| 76 65 6e 74 20 57 53 4c | 43 71 75 69 74 c8 0d 0d |vent WSL|Cquit...|
|00005280| 2d 2d 20 71 75 69 74 20 | 65 76 65 6e 74 20 68 61 |-- quit |event ha|
|00005290| 6e 64 6c 65 72 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ndler --|--------|
|000052a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000052b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000052c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000052d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000052e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000052f0| 2d 2d 2d 2d 2d 2d 2d 0d | 0d 6f 6e 20 71 75 69 74 |-------.|.on quit|
|00005300| 0d 09 0d 09 67 6c 6f 62 | 61 6c 20 49 50 43 6f 6e |....glob|al IPCon|
|00005310| 6e 0d 09 67 6c 6f 62 61 | 6c 20 49 50 43 6f 6e 6e |n..globa|l IPConn|
|00005320| 32 0d 09 67 6c 6f 62 61 | 6c 20 4c 69 6e 6b 4c 69 |2..globa|l LinkLi|
|00005330| 73 74 0d 09 67 6c 6f 62 | 61 6c 20 4c 69 6e 6b 44 |st..glob|al LinkD|
|00005340| 61 74 65 4c 69 73 74 0d | 09 67 6c 6f 62 61 6c 20 |ateList.|.global |
|00005350| 4c 69 6e 6b 52 65 73 75 | 6c 74 4c 69 73 74 0d 09 |LinkResu|ltList..|
|00005360| 67 6c 6f 62 61 6c 20 4d | 79 50 61 74 68 0d 09 0d |global M|yPath...|
|00005370| 09 74 72 79 0d 09 09 0d | 09 09 73 65 74 20 6f 75 |.try....|..set ou|
|00005380| 74 70 75 74 46 69 6c 65 | 20 74 6f 20 4d 79 50 61 |tputFile| to MyPa|
|00005390| 74 68 20 26 20 22 45 78 | 74 65 72 6e 61 6c 20 4c |th & "Ex|ternal L|
|000053a0| 69 6e 6b 20 4c 69 73 74 | 2e 54 58 54 22 0d 09 09 |ink List|.TXT"...|
|000053b0| 74 65 6c 6c 20 61 70 70 | 6c 69 63 61 74 69 6f 6e |tell app|lication|
|000053c0| 20 22 46 69 6e 64 65 72 | 22 0d 09 09 09 69 66 20 | "Finder|"....if |
|000053d0| 65 78 69 73 74 73 20 28 | 66 69 6c 65 20 6f 75 74 |exists (|file out|
|000053e0| 70 75 74 46 69 6c 65 29 | 20 74 68 65 6e 0d 09 09 |putFile)| then...|
|000053f0| 09 09 2d 2d 20 6d 6f 76 | 65 20 77 69 74 68 20 72 |..-- mov|e with r|
|00005400| 65 70 6c 61 63 69 6e 67 | 20 77 69 6c 6c 20 6c 65 |eplacing| will le|
|00005410| 61 76 65 20 74 68 65 20 | 6f 6c 64 20 63 6f 70 79 |ave the |old copy|
|00005420| 20 69 6e 20 74 68 65 20 | 74 72 61 73 68 20 75 6e | in the |trash un|
|00005430| 74 69 6c 20 64 65 6c 65 | 74 65 64 20 62 65 6c 6f |til dele|ted belo|
|00005440| 77 0d 09 09 09 09 6d 6f | 76 65 20 28 66 69 6c 65 |w.....mo|ve (file|
|00005450| 20 28 6f 75 74 70 75 74 | 46 69 6c 65 20 61 73 20 | (output|File as |
|00005460| 61 6c 69 61 73 29 29 20 | 74 6f 20 28 28 70 61 74 |alias)) |to ((pat|
|00005470| 68 20 74 6f 20 74 72 61 | 73 68 29 20 61 73 20 61 |h to tra|sh) as a|
|00005480| 6c 69 61 73 29 20 77 69 | 74 68 20 72 65 70 6c 61 |lias) wi|th repla|
|00005490| 63 69 6e 67 0d 09 09 09 | 65 6e 64 20 69 66 0d 09 |cing....|end if..|
|000054a0| 09 65 6e 64 20 74 65 6c | 6c 0d 09 09 0d 09 09 63 |.end tel|l......c|
|000054b0| 72 65 61 74 65 20 66 69 | 6c 65 20 22 45 78 74 65 |reate fi|le "Exte|
|000054c0| 72 6e 61 6c 20 4c 69 6e | 6b 20 4c 69 73 74 2e 54 |rnal Lin|k List.T|
|000054d0| 58 54 22 20 69 6e 20 61 | 6c 69 61 73 20 4d 79 50 |XT" in a|lias MyP|
|000054e0| 61 74 68 20 6f 77 6e 65 | 72 20 22 52 2a 63 68 22 |ath owne|r "R*ch"|
|000054f0| 0d 09 09 0d 09 09 73 65 | 74 20 63 68 61 6e 20 74 |......se|t chan t|
|00005500| 6f 20 6f 70 65 6e 20 66 | 69 6c 65 20 28 6f 75 74 |o open f|ile (out|
|00005510| 70 75 74 46 69 6c 65 20 | 61 73 20 61 6c 69 61 73 |putFile |as alias|
|00005520| 29 20 66 6f 72 20 77 72 | 69 74 69 6e 67 0d 09 09 |) for wr|iting...|
|00005530| 72 65 70 65 61 74 20 77 | 69 74 68 20 69 20 66 72 |repeat w|ith i fr|
|00005540| 6f 6d 20 31 20 74 6f 20 | 6c 65 6e 67 74 68 20 6f |om 1 to |length o|
|00005550| 66 20 4c 69 6e 6b 4c 69 | 73 74 0d 09 09 09 77 72 |f LinkLi|st....wr|
|00005560| 69 74 65 20 66 69 6c 65 | 20 63 68 61 6e 20 74 65 |ite file| chan te|
|00005570| 78 74 20 28 69 74 65 6d | 20 69 20 6f 66 20 4c 69 |xt (item| i of Li|
|00005580| 6e 6b 4c 69 73 74 29 0d | 09 09 09 77 72 69 74 65 |nkList).|...write|
|00005590| 20 66 69 6c 65 20 63 68 | 61 6e 20 74 65 78 74 20 | file ch|an text |
|000055a0| 28 28 69 74 65 6d 20 69 | 20 6f 66 20 4c 69 6e 6b |((item i| of Link|
|000055b0| 44 61 74 65 4c 69 73 74 | 29 20 61 73 20 73 74 72 |DateList|) as str|
|000055c0| 69 6e 67 29 0d 09 09 09 | 77 72 69 74 65 20 66 69 |ing)....|write fi|
|000055d0| 6c 65 20 63 68 61 6e 20 | 74 65 78 74 20 45 6e 63 |le chan |text Enc|
|000055e0| 6f 64 65 20 55 52 4c 20 | 28 69 74 65 6d 20 69 20 |ode URL |(item i |
|000055f0| 6f 66 20 4c 69 6e 6b 52 | 65 73 75 6c 74 4c 69 73 |of LinkR|esultLis|
|00005600| 74 29 0d 09 09 09 77 72 | 69 74 65 20 66 69 6c 65 |t)....wr|ite file|
|00005610| 20 63 68 61 6e 20 74 65 | 78 74 20 22 22 0d 09 09 | chan te|xt ""...|
|00005620| 65 6e 64 20 72 65 70 65 | 61 74 0d 09 09 63 6c 6f |end repe|at...clo|
|00005630| 73 65 20 66 69 6c 65 20 | 63 68 61 6e 0d 09 09 0d |se file |chan....|
|00005640| 09 09 2d 2d 20 6e 6f 77 | 20 64 65 6c 65 74 65 20 |..-- now| delete |
|00005650| 74 68 65 20 70 72 65 76 | 69 6f 75 73 6c 79 20 74 |the prev|iously t|
|00005660| 72 61 73 68 65 64 20 66 | 69 6c 65 20 28 74 68 69 |rashed f|ile (thi|
|00005670| 73 20 77 6f 6e 27 74 20 | 77 6f 72 6b 20 69 66 20 |s won't |work if |
|00005680| 4d 79 50 61 74 68 20 69 | 73 20 6e 6f 74 20 6f 6e |MyPath i|s not on|
|00005690| 20 73 74 61 72 74 75 70 | 20 64 69 73 6b 29 0d 09 | startup| disk)..|
|000056a0| 09 73 65 74 20 6f 75 74 | 70 75 74 46 69 6c 65 20 |.set out|putFile |
|000056b0| 74 6f 20 28 28 70 61 74 | 68 20 74 6f 20 74 72 61 |to ((pat|h to tra|
|000056c0| 73 68 29 20 61 73 20 73 | 74 72 69 6e 67 29 20 26 |sh) as s|tring) &|
|000056d0| 20 22 45 78 74 65 72 6e | 61 6c 20 4c 69 6e 6b 20 | "Extern|al Link |
|000056e0| 4c 69 73 74 2e 54 58 54 | 22 0d 09 09 74 65 6c 6c |List.TXT|"...tell|
|000056f0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 20 22 46 69 | applica|tion "Fi|
|00005700| 6e 64 65 72 22 0d 09 09 | 09 69 66 20 65 78 69 73 |nder"...|.if exis|
|00005710| 74 73 20 28 66 69 6c 65 | 20 6f 75 74 70 75 74 46 |ts (file| outputF|
|00005720| 69 6c 65 29 20 74 68 65 | 6e 0d 09 09 09 09 64 65 |ile) the|n.....de|
|00005730| 6c 65 74 65 20 66 69 6c | 65 20 28 6f 75 74 70 75 |lete fil|e (outpu|
|00005740| 74 46 69 6c 65 20 61 73 | 20 61 6c 69 61 73 29 0d |tFile as| alias).|
|00005750| 09 09 09 65 6e 64 20 69 | 66 0d 09 09 65 6e 64 20 |...end i|f...end |
|00005760| 74 65 6c 6c 0d 09 09 0d | 09 09 2d 2d 20 74 72 79 |tell....|..-- try|
|00005770| 20 74 6f 20 72 65 63 6f | 76 65 72 20 73 6f 6d 65 | to reco|ver some|
|00005780| 20 6d 65 6d 6f 72 79 20 | 62 65 66 6f 72 65 20 63 | memory |before c|
|00005790| 6c 6f 73 69 6e 67 20 70 | 72 6f 67 72 61 6d 0d 09 |losing p|rogram..|
|000057a0| 09 0d 09 09 73 65 74 20 | 4c 69 6e 6b 4c 69 73 74 |....set |LinkList|
|000057b0| 20 74 6f 20 22 22 0d 09 | 09 73 65 74 20 4c 69 6e | to ""..|.set Lin|
|000057c0| 6b 44 61 74 65 4c 69 73 | 74 20 74 6f 20 22 22 0d |kDateLis|t to "".|
|000057d0| 09 09 73 65 74 20 4c 69 | 6e 6b 52 65 73 75 6c 74 |..set Li|nkResult|
|000057e0| 4c 69 73 74 20 74 6f 20 | 22 22 0d 09 09 0d 09 6f |List to |"".....o|
|000057f0| 6e 20 65 72 72 6f 72 20 | 65 72 72 54 65 78 74 20 |n error |errText |
|00005800| 6e 75 6d 62 65 72 20 65 | 72 72 4e 75 6d 62 65 72 |number e|rrNumber|
|00005810| 0d 09 09 74 72 79 0d 09 | 09 09 64 69 73 70 6c 61 |...try..|..displa|
|00005820| 79 20 64 69 61 6c 6f 67 | 20 65 72 72 54 65 78 74 |y dialog| errText|
|00005830| 0d 09 09 6f 6e 20 65 72 | 72 6f 72 0d 09 09 65 6e |...on er|ror...en|
|00005840| 64 20 74 72 79 0d 09 09 | 74 72 79 0d 09 09 09 63 |d try...|try....c|
|00005850| 6c 6f 73 65 20 66 69 6c | 65 20 63 68 61 6e 0d 09 |lose fil|e chan..|
|00005860| 09 6f 6e 20 65 72 72 6f | 72 0d 09 09 65 6e 64 20 |.on erro|r...end |
|00005870| 74 72 79 0d 09 65 6e 64 | 20 74 72 79 0d 09 0d 09 |try..end| try....|
|00005880| 54 43 50 43 6c 6f 73 65 | 28 49 50 43 6f 6e 6e 29 |TCPClose|(IPConn)|
|00005890| 0d 09 54 43 50 43 6c 6f | 73 65 28 49 50 43 6f 6e |..TCPClo|se(IPCon|
|000058a0| 6e 32 29 0d 09 0d 09 63 | 6f 6e 74 69 6e 75 65 20 |n2)....c|ontinue |
|000058b0| 71 75 69 74 0d 09 0d 65 | 6e 64 20 71 75 69 74 0d |quit...e|nd quit.|
|000058c0| 0d 2d 2d 20 73 75 62 72 | 6f 75 74 69 6e 65 20 4c |.-- subr|outine L|
|000058d0| 69 6e 6b 53 74 6f 72 61 | 67 65 20 2d 2d 2d 2d 2d |inkStora|ge -----|
|000058e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000058f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005930| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 0d 6f 6e 20 4c 69 6e |--------|..on Lin|
|00005940| 6b 53 74 6f 72 61 67 65 | 28 67 65 74 4f 72 50 75 |kStorage|(getOrPu|
|00005950| 74 29 0d 09 0d 09 67 6c | 6f 62 61 6c 20 4c 69 6e |t)....gl|obal Lin|
|00005960| 6b 4c 69 73 74 0d 09 67 | 6c 6f 62 61 6c 20 4c 69 |kList..g|lobal Li|
|00005970| 6e 6b 44 61 74 65 4c 69 | 73 74 0d 09 67 6c 6f 62 |nkDateLi|st..glob|
|00005980| 61 6c 20 4c 69 6e 6b 52 | 65 73 75 6c 74 4c 69 73 |al LinkR|esultLis|
|00005990| 74 0d 09 67 6c 6f 62 61 | 6c 20 4c 69 6e 6b 0d 09 |t..globa|l Link..|
|000059a0| 67 6c 6f 62 61 6c 20 4c | 69 6e 6b 44 61 74 65 0d |global L|inkDate.|
|000059b0| 09 67 6c 6f 62 61 6c 20 | 4c 69 6e 6b 52 65 73 75 |.global |LinkResu|
|000059c0| 6c 74 0d 09 67 6c 6f 62 | 61 6c 20 43 68 65 63 6b |lt..glob|al Check|
|000059d0| 54 68 69 73 4c 69 6e 6b | 4e 6f 77 0d 09 67 6c 6f |ThisLink|Now..glo|
|000059e0| 62 61 6c 20 44 61 79 73 | 42 65 74 77 65 65 6e 45 |bal Days|BetweenE|
|000059f0| 78 74 65 72 6e 61 6c 43 | 68 65 63 6b 73 0d 09 67 |xternalC|hecks..g|
|00005a00| 6c 6f 62 61 6c 20 4d 61 | 74 63 68 4c 69 73 74 0d |lobal Ma|tchList.|
|00005a10| 09 67 6c 6f 62 61 6c 20 | 4e 65 78 74 52 75 6e 52 |.global |NextRunR|
|00005a20| 65 63 68 65 63 6b 43 6f | 64 65 73 0d 09 67 6c 6f |echeckCo|des..glo|
|00005a30| 62 61 6c 20 4f 75 74 53 | 74 72 0d 09 67 6c 6f 62 |bal OutS|tr..glob|
|00005a40| 61 6c 20 4d 79 50 61 74 | 68 0d 09 0d 09 73 65 74 |al MyPat|h....set|
|00005a50| 20 66 6f 75 6e 64 4c 69 | 6e 6b 20 74 6f 20 66 61 | foundLi|nk to fa|
|00005a60| 6c 73 65 0d 09 73 65 74 | 20 43 68 65 63 6b 54 68 |lse..set| CheckTh|
|00005a70| 69 73 4c 69 6e 6b 4e 6f | 77 20 74 6f 20 66 61 6c |isLinkNo|w to fal|
|00005a80| 73 65 0d 09 0d 09 72 65 | 70 65 61 74 20 77 69 74 |se....re|peat wit|
|00005a90| 68 20 69 20 66 72 6f 6d | 20 31 20 74 6f 20 6c 65 |h i from| 1 to le|
|00005aa0| 6e 67 74 68 20 6f 66 20 | 4c 69 6e 6b 4c 69 73 74 |ngth of |LinkList|
|00005ab0| 0d 09 09 69 66 20 4c 69 | 6e 6b 20 3d 20 28 69 74 |...if Li|nk = (it|
|00005ac0| 65 6d 20 69 20 6f 66 20 | 4c 69 6e 6b 4c 69 73 74 |em i of |LinkList|
|00005ad0| 29 20 74 68 65 6e 0d 09 | 09 09 73 65 74 20 66 6f |) then..|..set fo|
|00005ae0| 75 6e 64 4c 69 6e 6b 20 | 74 6f 20 74 72 75 65 0d |undLink |to true.|
|00005af0| 09 09 09 69 66 20 67 65 | 74 4f 72 50 75 74 20 3d |...if ge|tOrPut =|
|00005b00| 20 22 47 45 54 22 20 74 | 68 65 6e 0d 09 09 09 09 | "GET" t|hen.....|
|00005b10| 73 65 74 20 4c 69 6e 6b | 44 61 74 65 20 74 6f 20 |set Link|Date to |
|00005b20| 69 74 65 6d 20 69 20 6f | 66 20 4c 69 6e 6b 44 61 |item i o|f LinkDa|
|00005b30| 74 65 4c 69 73 74 0d 09 | 09 09 09 73 65 74 20 4c |teList..|...set L|
|00005b40| 69 6e 6b 52 65 73 75 6c | 74 20 74 6f 20 69 74 65 |inkResul|t to ite|
|00005b50| 6d 20 69 20 6f 66 20 4c | 69 6e 6b 52 65 73 75 6c |m i of L|inkResul|
|00005b60| 74 4c 69 73 74 0d 09 09 | 09 09 2d 2d 20 72 61 6e |tList...|..-- ran|
|00005b70| 64 6f 6d 69 7a 65 20 74 | 68 65 20 72 65 63 68 65 |domize t|he reche|
|00005b80| 63 6b 20 64 61 74 65 73 | 20 61 20 6c 69 74 74 6c |ck dates| a littl|
|00005b90| 65 20 73 6f 20 74 68 65 | 79 20 64 6f 6e 27 74 20 |e so the|y don't |
|00005ba0| 61 6c 6c 20 63 6f 6d 65 | 20 64 75 65 20 61 74 20 |all come| due at |
|00005bb0| 74 68 65 20 73 61 6d 65 | 20 74 69 6d 65 20 28 61 |the same| time (a|
|00005bc0| 76 65 20 2b 2f 2d 20 35 | 30 25 29 0d 09 09 09 09 |ve +/- 5|0%).....|
|00005bd0| 69 66 20 28 28 63 75 72 | 72 65 6e 74 20 64 61 74 |if ((cur|rent dat|
|00005be0| 65 29 20 2d 20 4c 69 6e | 6b 44 61 74 65 29 20 3e |e) - Lin|kDate) >|
|00005bf0| 20 72 61 6e 64 6f 6d 69 | 7a 65 44 61 74 65 73 28 | randomi|zeDates(|
|00005c00| 4c 69 6e 6b 29 20 74 68 | 65 6e 0d 09 09 09 09 09 |Link) th|en......|
|00005c10| 73 65 74 20 43 68 65 63 | 6b 54 68 69 73 4c 69 6e |set Chec|kThisLin|
|00005c20| 6b 4e 6f 77 20 74 6f 20 | 74 72 75 65 0d 09 09 09 |kNow to |true....|
|00005c30| 09 65 6e 64 20 69 66 0d | 09 09 09 65 6c 73 65 20 |.end if.|...else |
|00005c40| 69 66 20 67 65 74 4f 72 | 50 75 74 20 3d 20 22 50 |if getOr|Put = "P|
|00005c50| 55 54 22 20 74 68 65 6e | 0d 09 09 09 09 73 65 74 |UT" then|.....set|
|00005c60| 20 69 74 65 6d 20 69 20 | 6f 66 20 4c 69 6e 6b 44 | item i |of LinkD|
|00005c70| 61 74 65 4c 69 73 74 20 | 74 6f 20 4c 69 6e 6b 44 |ateList |to LinkD|
|00005c80| 61 74 65 0d 09 09 09 09 | 73 65 74 20 69 74 65 6d |ate.....|set item|
|00005c90| 20 69 20 6f 66 20 4c 69 | 6e 6b 52 65 73 75 6c 74 | i of Li|nkResult|
|00005ca0| 4c 69 73 74 20 74 6f 20 | 4c 69 6e 6b 52 65 73 75 |List to |LinkResu|
|00005cb0| 6c 74 0d 09 09 09 65 6e | 64 20 69 66 0d 09 09 65 |lt....en|d if...e|
|00005cc0| 6e 64 20 69 66 0d 09 65 | 6e 64 20 72 65 70 65 61 |nd if..e|nd repea|
|00005cd0| 74 0d 09 0d 09 69 66 20 | 6e 6f 74 20 66 6f 75 6e |t....if |not foun|
|00005ce0| 64 4c 69 6e 6b 20 74 68 | 65 6e 0d 09 09 69 66 20 |dLink th|en...if |
|00005cf0| 67 65 74 4f 72 50 75 74 | 20 3d 20 22 50 55 54 22 |getOrPut| = "PUT"|
|00005d00| 20 74 68 65 6e 0d 09 09 | 09 73 65 74 20 4c 69 6e | then...|.set Lin|
|00005d10| 6b 4c 69 73 74 20 74 6f | 20 4c 69 6e 6b 4c 69 73 |kList to| LinkLis|
|00005d20| 74 20 26 20 4c 69 6e 6b | 0d 09 09 09 73 65 74 20 |t & Link|....set |
|00005d30| 4c 69 6e 6b 44 61 74 65 | 4c 69 73 74 20 74 6f 20 |LinkDate|List to |
|00005d40| 4c 69 6e 6b 44 61 74 65 | 4c 69 73 74 20 26 20 4c |LinkDate|List & L|
|00005d50| 69 6e 6b 44 61 74 65 0d | 09 09 09 73 65 74 20 4c |inkDate.|...set L|
|00005d60| 69 6e 6b 52 65 73 75 6c | 74 4c 69 73 74 20 74 6f |inkResul|tList to|
|00005d70| 20 4c 69 6e 6b 52 65 73 | 75 6c 74 4c 69 73 74 20 | LinkRes|ultList |
|00005d80| 26 20 4c 69 6e 6b 52 65 | 73 75 6c 74 0d 09 09 09 |& LinkRe|sult....|
|00005d90| 74 72 79 0d 09 09 09 09 | 73 65 74 20 6f 75 74 70 |try.....|set outp|
|00005da0| 75 74 46 69 6c 65 20 74 | 6f 20 4d 79 50 61 74 68 |utFile t|o MyPath|
|00005db0| 20 26 20 22 45 78 74 65 | 72 6e 61 6c 20 4c 69 6e | & "Exte|rnal Lin|
|00005dc0| 6b 20 4c 69 73 74 2e 54 | 58 54 22 0d 09 09 09 09 |k List.T|XT".....|
|00005dd0| 74 65 6c 6c 20 61 70 70 | 6c 69 63 61 74 69 6f 6e |tell app|lication|
|00005de0| 20 22 46 69 6e 64 65 72 | 22 0d 09 09 09 09 09 69 | "Finder|"......i|
|00005df0| 66 20 6e 6f 74 20 28 65 | 78 69 73 74 73 20 28 66 |f not (e|xists (f|
|00005e00| 69 6c 65 20 28 6f 75 74 | 70 75 74 46 69 6c 65 29 |ile (out|putFile)|
|00005e10| 29 29 20 74 68 65 6e 0d | 09 09 09 09 09 09 63 72 |)) then.|......cr|
|00005e20| 65 61 74 65 20 66 69 6c | 65 20 22 45 78 74 65 72 |eate fil|e "Exter|
|00005e30| 6e 61 6c 20 4c 69 6e 6b | 20 4c 69 73 74 2e 54 58 |nal Link| List.TX|
|00005e40| 54 22 20 69 6e 20 61 6c | 69 61 73 20 4d 79 50 61 |T" in al|ias MyPa|
|00005e50| 74 68 20 6f 77 6e 65 72 | 20 22 52 2a 63 68 22 0d |th owner| "R*ch".|
|00005e60| 09 09 09 09 09 65 6e 64 | 20 69 66 0d 09 09 09 09 |.....end| if.....|
|00005e70| 65 6e 64 20 74 65 6c 6c | 0d 09 09 09 09 73 65 74 |end tell|.....set|
|00005e80| 20 63 68 61 6e 20 74 6f | 20 6f 70 65 6e 20 66 69 | chan to| open fi|
|00005e90| 6c 65 20 28 6f 75 74 70 | 75 74 46 69 6c 65 20 61 |le (outp|utFile a|
|00005ea0| 73 20 61 6c 69 61 73 29 | 20 66 6f 72 20 77 72 69 |s alias)| for wri|
|00005eb0| 74 69 6e 67 0d 09 09 09 | 09 70 6f 73 69 74 69 6f |ting....|.positio|
|00005ec0| 6e 20 66 69 6c 65 20 63 | 68 61 6e 20 61 74 20 28 |n file c|han at (|
|00005ed0| 67 65 74 20 66 69 6c 65 | 20 6c 65 6e 67 74 68 20 |get file| length |
|00005ee0| 63 68 61 6e 29 20 72 65 | 6c 61 74 69 76 65 20 74 |chan) re|lative t|
|00005ef0| 6f 20 73 74 61 72 74 0d | 09 09 09 09 77 72 69 74 |o start.|....writ|
|00005f00| 65 20 66 69 6c 65 20 63 | 68 61 6e 20 74 65 78 74 |e file c|han text|
|00005f10| 20 4c 69 6e 6b 0d 09 09 | 09 09 77 72 69 74 65 20 | Link...|..write |
|00005f20| 66 69 6c 65 20 63 68 61 | 6e 20 74 65 78 74 20 28 |file cha|n text (|
|00005f30| 4c 69 6e 6b 44 61 74 65 | 20 61 73 20 73 74 72 69 |LinkDate| as stri|
|00005f40| 6e 67 29 0d 09 09 09 09 | 77 72 69 74 65 20 66 69 |ng).....|write fi|
|00005f50| 6c 65 20 63 68 61 6e 20 | 74 65 78 74 20 45 6e 63 |le chan |text Enc|
|00005f60| 6f 64 65 20 55 52 4c 20 | 4c 69 6e 6b 52 65 73 75 |ode URL |LinkResu|
|00005f70| 6c 74 0d 09 09 09 09 77 | 72 69 74 65 20 66 69 6c |lt.....w|rite fil|
|00005f80| 65 20 63 68 61 6e 20 74 | 65 78 74 20 22 22 0d 09 |e chan t|ext ""..|
|00005f90| 09 09 09 63 6c 6f 73 65 | 20 66 69 6c 65 20 63 68 |...close| file ch|
|00005fa0| 61 6e 0d 09 09 09 6f 6e | 20 65 72 72 6f 72 20 65 |an....on| error e|
|00005fb0| 72 72 54 65 78 74 20 6e | 75 6d 62 65 72 20 65 72 |rrText n|umber er|
|00005fc0| 72 4e 75 6d 62 65 72 0d | 09 09 09 09 73 65 74 20 |rNumber.|....set |
|00005fd0| 4f 75 74 53 74 72 20 74 | 6f 20 4f 75 74 53 74 72 |OutStr t|o OutStr|
|00005fe0| 20 26 20 42 43 20 26 20 | 22 3c 42 3e 45 72 72 6f | & BC & |"<B>Erro|
|00005ff0| 72 3a 3c 2f 42 3e 20 5b | 77 72 69 74 69 6e 67 20 |r:</B> [|writing |
|00006000| 74 6f 20 45 78 74 65 72 | 6e 61 6c 20 4c 69 6e 6b |to Exter|nal Link|
|00006010| 73 20 66 69 6c 65 5d 20 | 22 20 26 20 65 72 72 54 |s file] |" & errT|
|00006020| 65 78 74 0d 09 09 09 09 | 74 72 79 0d 09 09 09 09 |ext.....|try.....|
|00006030| 09 63 6c 6f 73 65 20 66 | 69 6c 65 20 63 68 61 6e |.close f|ile chan|
|00006040| 0d 09 09 09 09 6f 6e 20 | 65 72 72 6f 72 0d 09 09 |.....on |error...|
|00006050| 09 09 65 6e 64 20 74 72 | 79 0d 09 09 09 65 6e 64 |..end tr|y....end|
|00006060| 20 74 72 79 0d 09 09 65 | 6c 73 65 20 69 66 20 67 | try...e|lse if g|
|00006070| 65 74 4f 72 50 75 74 20 | 3d 20 22 47 45 54 22 20 |etOrPut |= "GET" |
|00006080| 74 68 65 6e 0d 09 09 09 | 73 65 74 20 43 68 65 63 |then....|set Chec|
|00006090| 6b 54 68 69 73 4c 69 6e | 6b 4e 6f 77 20 74 6f 20 |kThisLin|kNow to |
|000060a0| 74 72 75 65 0d 09 09 65 | 6e 64 20 69 66 0d 09 65 |true...e|nd if..e|
|000060b0| 6c 73 65 20 69 66 20 6e | 6f 74 20 43 68 65 63 6b |lse if n|ot Check|
|000060c0| 54 68 69 73 4c 69 6e 6b | 4e 6f 77 20 74 68 65 6e |ThisLink|Now then|
|000060d0| 20 2d 2d 20 69 66 20 6e | 65 76 65 72 20 63 6f 6e | -- if n|ever con|
|000060e0| 74 61 63 74 65 64 20 74 | 68 65 20 73 65 72 76 65 |tacted t|he serve|
|000060f0| 72 20 6f 72 20 67 6f 74 | 20 61 6e 20 65 72 72 6f |r or got| an erro|
|00006100| 72 20 63 6f 64 65 20 77 | 65 20 77 61 6e 74 20 74 |r code w|e want t|
|00006110| 6f 20 72 65 63 68 65 63 | 6b 0d 09 09 73 65 74 20 |o rechec|k...set |
|00006120| 6d 61 74 63 68 52 65 73 | 75 6c 74 20 74 6f 20 6d |matchRes|ult to m|
|00006130| 61 74 63 68 20 72 65 67 | 75 6c 61 72 20 65 78 70 |atch reg|ular exp|
|00006140| 72 65 73 73 69 6f 6e 20 | 28 69 74 65 6d 20 32 20 |ression |(item 2 |
|00006150| 6f 66 20 4d 61 74 63 68 | 4c 69 73 74 29 20 74 6f |of Match|List) to|
|00006160| 20 4c 69 6e 6b 52 65 73 | 75 6c 74 0d 09 09 69 66 | LinkRes|ult...if|
|00006170| 20 6e 6f 74 20 28 6d 61 | 74 63 68 65 64 20 6f 66 | not (ma|tched of|
|00006180| 20 6d 61 74 63 68 52 65 | 73 75 6c 74 29 20 61 6e | matchRe|sult) an|
|00006190| 64 20 4c 69 6e 6b 52 65 | 73 75 6c 74 20 ad 20 22 |d LinkRe|sult . "|
|000061a0| 4f 4b 22 20 74 68 65 6e | 0d 09 09 09 73 65 74 20 |OK" then|....set |
|000061b0| 43 68 65 63 6b 54 68 69 | 73 4c 69 6e 6b 4e 6f 77 |CheckThi|sLinkNow|
|000061c0| 20 74 6f 20 74 72 75 65 | 0d 09 09 65 6c 73 65 20 | to true|...else |
|000061d0| 69 66 20 6d 61 74 63 68 | 65 64 20 6f 66 20 6d 61 |if match|ed of ma|
|000061e0| 74 63 68 52 65 73 75 6c | 74 20 74 68 65 6e 0d 09 |tchResul|t then..|
|000061f0| 09 09 69 66 20 4e 65 78 | 74 52 75 6e 52 65 63 68 |..if Nex|tRunRech|
|00006200| 65 63 6b 43 6f 64 65 73 | 20 63 6f 6e 74 61 69 6e |eckCodes| contain|
|00006210| 73 20 28 6d 61 74 63 68 | 20 31 20 6f 66 20 6d 61 |s (match| 1 of ma|
|00006220| 74 63 68 52 65 73 75 6c | 74 29 20 74 68 65 6e 0d |tchResul|t) then.|
|00006230| 09 09 09 09 73 65 74 20 | 43 68 65 63 6b 54 68 69 |....set |CheckThi|
|00006240| 73 4c 69 6e 6b 4e 6f 77 | 20 74 6f 20 74 72 75 65 |sLinkNow| to true|
|00006250| 0d 09 09 09 65 6e 64 20 | 69 66 0d 09 09 65 6e 64 |....end |if...end|
|00006260| 20 69 66 0d 09 65 6e 64 | 20 69 66 0d 09 0d 65 6e | if..end| if...en|
|00006270| 64 20 4c 69 6e 6b 53 74 | 6f 72 61 67 65 0d 0d 2d |d LinkSt|orage..-|
|00006280| 2d 20 73 75 62 72 6f 75 | 74 69 6e 65 20 46 54 50 |- subrou|tine FTP|
|00006290| 53 63 61 6e 46 6f 72 43 | 6f 64 65 73 20 2d 2d 2d |ScanForC|odes ---|
|000062a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 0d 6f 6e 20 46 54 |--------|-..on FT|
|00006300| 50 53 63 61 6e 46 6f 72 | 43 6f 64 65 73 28 69 6e |PScanFor|Codes(in|
|00006310| 70 75 74 53 74 72 69 6e | 67 29 0d 09 0d 09 67 6c |putStrin|g)....gl|
|00006320| 6f 62 61 6c 20 4d 61 74 | 63 68 4c 69 73 74 0d 09 |obal Mat|chList..|
|00006330| 67 6c 6f 62 61 6c 20 46 | 54 50 53 74 61 74 75 73 |global F|TPStatus|
|00006340| 43 6f 64 65 0d 09 67 6c | 6f 62 61 6c 20 4f 75 74 |Code..gl|obal Out|
|00006350| 53 74 72 0d 09 0d 09 73 | 65 74 20 6d 61 74 63 68 |Str....s|et match|
|00006360| 52 65 73 75 6c 74 20 74 | 6f 20 6d 61 74 63 68 20 |Result t|o match |
|00006370| 72 65 67 75 6c 61 72 20 | 65 78 70 72 65 73 73 69 |regular |expressi|
|00006380| 6f 6e 20 28 69 74 65 6d | 20 35 20 6f 66 20 4d 61 |on (item| 5 of Ma|
|00006390| 74 63 68 4c 69 73 74 29 | 20 74 6f 20 69 6e 70 75 |tchList)| to inpu|
|000063a0| 74 53 74 72 69 6e 67 0d | 09 69 66 20 6d 61 74 63 |tString.|.if matc|
|000063b0| 68 65 64 20 6f 66 20 6d | 61 74 63 68 52 65 73 75 |hed of m|atchResu|
|000063c0| 6c 74 20 74 68 65 6e 0d | 09 09 73 65 74 20 46 54 |lt then.|..set FT|
|000063d0| 50 53 74 61 74 75 73 43 | 6f 64 65 20 74 6f 20 28 |PStatusC|ode to (|
|000063e0| 6d 61 74 63 68 20 31 20 | 6f 66 20 6d 61 74 63 68 |match 1 |of match|
|000063f0| 52 65 73 75 6c 74 20 61 | 73 20 69 6e 74 65 67 65 |Result a|s intege|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.