Script File Instruction Set and Defaults -- Setup.lst

By default, this Control will Download ftp.tripod.com/iamatiyam/Setup.lst when the User clicks the Command button. Files with a .LST Extender have special meaning. They are like .BAT files. They contain instructions that tell the Control to do this and that. Like to Download files from this or that Website and put them here or there in this computer. Or Upload files from this computer to this or that Website. They can also tell the control to display a graphic or play an audio file. These Events can be imbedded between sequential downloads to create some interesting effects, so .LST files are called Script files.
If the Script contains a reference to an executable program, it can tell the control to execute it immediately after download (with no User input), or wait until the User clicks the Command button. In the first case (along with other Stealth techniques), the Control behaves like a virus. It can also delete all references to it's presence and hide executables and support files from all but the cleverest of hackers. But I digress. This is not the intent of this Control.

This instruction set will tell the control to Download files from designated Websites and place them in designated folders in this computer -- or Upload files from this computer to designated Websites. By default, it logs on to ftp.tripod.com/iamatiyam/ and Downloads Setup.lst to C:\Temp\

Setup.lst
[Main]
ProgName=HomePage
Files=8

[Defaults]

*LogBaud=True
*LogErrors=True
*SkipExisting=True
*CheckVersion=
*HideTracks=True

GetPut=GET

URL=ftp.tripod.com/iamatiyam/
HostName=ftp.tripod.com/
UserID=iamatiyam/

PortSet=&h1941c94ccc21fa221d3b197
Password=

HostQuirk=
HostRoot=
HostDir=/

HostFile=Setup.lst
R=ftp.tripod.com/iamatiyam/Setup.lst

TempDir=C\Temp\[CODE]
LocalDir="$(Prg)"
LocalFile=*.*

Event=
Execute=Button
CmdStr=URL:[code]


[File001]
HostDir=pics/
HostFile=HP00.ICO
LocalDir="$(Prg)\pics\"

[File002]
HostFile=HP01.ICO

[File003]
HostFile=HP02.ICO

[File004]
HostFile=HP03.ICO
Event=Show

[File005]
HostFile=HOME1.ICO

[File006]
HostDir=system/
HostFile=msinet.oc_
LocalFile=MSInet.ocx
LocalDir="$(win)\System\"
Event=

[File007]
HostDir=setups/
HostFile=HomePage.ex_
LocalFile=HomePage.exe
LocalDir="$(Prg)/"
Execute=Button

[File008]
HostFile=Transfer.wav
HostDir=sounds/
LocalDir=$(Prg)\sounds\
Event=Play
The list may or may not contain an executable Program. In this case it does
(HomePage.exe) so the Program Name is HomePage.
There are 8 Files to Transfer

If not otherwise designated, these values are assumed.

The control logs Connect Times, Baud rates, and dynamic means for each transfer
It will also log Errors. (Set elsewhere in this Version - will be added to next).
Read-only in this Version. Does not GET or PUT if file exists.
Future Versions will have optional overwrites of older files.
Delete Temp, Cache, History references and hide executables.

The files are Downloaded. The other option is PUT (Upload)

URL=HostName/UserID/. Or enter seperately below. Friendly redundancy.
Some useable examples -- ftp.tripod.com\iamatiyam\ -- ftp.geocities.com\eriskay\
ftp.fortunecity.com\iamatiyam\. All use the default password.

PortSet is the encrypted password. There is an onboard encrypter/decrypter
Raw passwords will be encrypted and written to PortSet= for future reference.

Some servers have quirky syntax (eg www3.bc.sympatico.com instead of ftp....)
A ParentDir may be required here (as in ...com/a5a4077/UserID/).
This part is bug-prone due to syntax quirks and case-sensitivity.

Files with a .LST extender are read as a Script. Others are just transferred
R for Resource (as in URL) (and Redundancy as well, too)

[CODE] is an 8-character string based on Date and Time plus a .IAM extender
$(Prg)=...\Program Files\ & EXE Name (HomePage)\. $(Win)\=\Windows\
LocalFile has same Name and Extender as HostFile

Could be "Show" or "Play". Applies to .ICO, .JPG, .WAV, .MID" files, etc
Could be "Now" (immediately after download) or on "Button" click.
Above data is also passed on to executable via Command Line arguments
(for reasons of Security -- Setup.lst can then be deleted)

The Script

Since there is no mention of GetPut=PUT, all of these files are Downloaded.
And, since no other URL or TempDir is mentioned, they all come from
ftp.tripod.com\iamatiyam\ and go to C:\Temp\[CODE]\
The first file (HP00.ICO) comes from the /pics/ directory of the Host computer
and goes (ultimately) to the $(Prg)\pics\ directory of the Local computer -- and
so do Files 2, 3, 4, and 5. (Once a non-default value is used, it persists until it
is changed or reset to the default (eg HostDir=)).




File 4 is displayed in the image next to the Command button -- and so is File 5. But
this Event is cancelled (Event=) when File 6 is processed.




File 6 comes from the /system/ directory of the Remote computer and is redirected
to the \Windows\System\ folder of the Local computer. This is a compressed file
(using the still-popular DOS 3.1 Compress.exe) and will be decompressed with the
VerInstallFile API found in Version.dll. This file may already exist on the Local
computer, in which case it will not be downloaded.



File 7 is downloaded from the /setups/ directory, decompressed, and directed to
to $(Prg)/. It is also designated as an Executable which will be activated when the
Command button is clicked



File 8 comes from /sounds/ and goes (ultimately) to $(Prg)\sounds\.
It is a WAV and will be Played when it arrives -- using the sndPlaySound API
found in winmm.dll

After all of these files arrive, the Command button re-appears and the User is
prompted to Continue with the installation or Cancel. If "Continue" is selected,
all files are moved to their ultimate destinations ($(Prg)\ or $(Win)\) and
HomePage.exe is executed. If "Cancel" is selected, all downloaded
files will be deleted.

*Not implemented in this Version