5.4. Configuration¶
ConsoleUser can be configured by the UserDBConfig tool, and then use Conversion to suitable config files. Below details the manual configuration process that can be used to create or modify files.
Except Markov files (noted below) the files are key = value
pairs,
and often the value
portion can be a comma delimited list of values.
ConsoleUser will start by loading a primary config file, traditionally
named user.conf
. From there other files may be loaded that can have
application specific configs. All keys share a single namespace, so
values defined in different files could collide.
All keys are case insensitive.
5.4.1. Main Values¶
Below are the main values that ConsoleUser needs to have to be able to connect and be useful.
Key |
Description |
---|---|
KeyboardStrategy |
The way this user types. The most common values
are |
ListenPort |
The local port on which this instance will listen |
MouseStrategy |
The way this user moves the mouse. Only supports
|
RegionTarget |
The type of Region source files that should be used. This will generally correspond to the type of server ConsoleUser will interact with. The most common is qemu, but others have been used as well. Not all use image files. |
RegionType |
The type of Region objects this instance will use |
RegionMatcher |
The matcher strategy to use when searching for matches in a Region |
5.4.2. Connection Characteristics¶
One of the most important set of configuration options is the collection that tells ConsoleUser how to connect to and interact with the target system. This can be over direct RFB (a.k.a., VNC), or be mediated by a VMWare server, or it could use local accessibility options to drive the host.
The type of connection is specified in the SystemType field, and which one is selected determines what other fields are required.
Key |
Description |
---|---|
SystemType |
The type of connection to make. (Required) |
An RFB system (either RFB or rfbpy for the SystemType) needs the address and port for the server to connect to. As such, it will require SystemHost and SystemPort both be specified.
Key |
Description |
---|---|
SystemHost |
The IP/name of the VNC server to connect to |
SystemPort |
The port number the VNC server to connect to |
If the system is negotiating the connection via VMWare vCenter and/or ESXi the SystemType must be rfb-vmware. When that is given the fields describing where to find the VM in question and how to authenticate will be needed. These are stored in VMServer, VMID, VMUser, VMPassword.
Key |
Description |
---|---|
VMServer |
The IP/name of the vCenter server to connect to |
VMID |
The vm ID VMWare has assigned to the target VM |
VMUser |
The VMWare user to authenticate as |
VMPassword |
The password to authenticate to VMWare with |
Using the local accessibility layer can be done using ATASPI and the associated System type, namely atspi. This system does not need to know connection or authentication information, so no other values are required.
5.4.3. User Characteristics¶
These are the parameters that define who the user is that ConsoleUser is embodying. Application specific characteristics are not reflected here.
Key |
Description |
---|---|
Apps |
The comma separated list of applications this user “knows” how to use |
fname |
The user’s “first” name |
lname |
The user’s “last” name |
LoginName |
The username used to login to the “main” system |
LoginPass |
The password used to login to the “main” system |
LoginDomain |
The (Windows) domain the user will login to |
LoginManager |
The type of login style this user uses–reflects the type of system and things like whether a PIN or domain name or things are required |
LogInTime |
The time of day this user typically logs in. Times should be either HH:MM [ap]m for 12 hour time or HHMM for a 24 hour time |
LogOutTime |
The time of day this user typically logs out. Times should be either HH:MM [ap]m for 12 hour time or HHMM for a 24 hour time |
5.4.4. Markov Brain Specific¶
The Markov Brain (see Brains) looks for additional values in the config file, and will load additional per application files (see below).
Key |
Description |
---|---|
ActionTimeMax |
An int that is the maximum number of seconds to sleep between performing actions within a module |
ActionTimeMin |
An int that is the minimum number of seconds to sleep between performing actions within a module |
MaxTransitionSleep |
An int that is the maximum number of seconds to sleep between ending one module and starting the next. |
MinTransitionSleep |
An int that is the minimum number of seconds to sleep between ending one module and starting the next. |
ModulesFormat |
The format of the module transition file. Right
now the only supported valued is |
ModulesPath |
The path to the module transition file |
5.4.5. Application Specific¶
Every application listed in the Apps
line will also provide its own
configuration and transition matrices (when using the Markov brain).
5.4.5.1. Blog¶
This is the configuration for Blog modules, which typically involve using a browser to login to a site and writing posts or commenting on them/reading them.
The transition file (see Markov Transition Files) for this module
is called BlogActions.conf
.
Key |
Description |
---|---|
BlogBaseURI |
This is the main URI for the blogging site. |
BlogLoginURI |
Some sites will directly provide a URI to the login page, rather than following it from the main site URI. This is that value if needed |
BlogLoginName |
If a username other than the default LoginName is used for this site, provide it here. |
BlogLoginPass |
If a password other than the default LoginPass is used for this site, provide it here. |
BlogTopic |
Optionally the path to a Babble File this user blogs about. |
BlogType |
The specific type of Blog this User will use.
Must match the |
5.4.5.2. ChatClient¶
This is the configuration for ChatClient modules, which could be stand alone applications or browser-based sites.
The transition file (see Markov Transition Files) for this module
is called ChatClientActions.conf
.
Key |
Description |
---|---|
ChatClientTopic |
Optionally the path to a Babble File this user chats about. |
ChatClientType |
The specific type of ChatClient this User will
use. Must match the |
ChatLoginName |
For chat programs with logins, this is the username to login with if different from the User’s normal login credentials. |
ChatLoginPass |
For chat programs with logins, this is the username to login with if different from the User’s normal login credentials. |
RocketChatURI [1] |
For RocketChat implementations, this is the URI of the RocketChat server. |
5.4.5.3. CommandShell¶
This is the configuration for CommandShell modules.
The transition file (see Markov Transition Files) for this module
is called CommandShellActions.conf
.
Key |
Description |
---|---|
CommandShellType |
The specific type of CommandShell this User will
use. Must match the |
CommandShellTasks |
This is a CDF Line listing the commands to run in the shell. |
5.4.5.4. EmailClient¶
This is the configuration file for EmailClient, which naturally defines properties about how ConsoleUser, and especially with the MarkovBrain, provides email activity.
The transition file for this module is called EmailClientActions.conf
and is a Markov transition file (see Markov Transition Files).
Key |
Description |
---|---|
AttachmentFiles |
A comma separated list of paths to files to use as attachments for outgoing messages |
AttachmentSaveDir |
The directory into which attachments on received should be saved |
EmailClientRecips |
A CDF Line listing people this user will send email to |
EmailClientType |
The specific type of EmailClient this User will
use. Must match the |
EmailFolders |
A comma separated list of folder names to use |
EmailTopic |
Optionally the path to a Babble File this user sends email about. |
EmailAttachPercent |
The chance (between 0.0 and 1.0) that an attachment will be added to a new message |
5.4.5.5. File Sharing¶
This config file, named FileSharing.conf
, contains configuration
information about how to interact with a file sharing site, like
OwnCloud or SharePoint or similar.
The transition file for this module is called FileSharingActions.conf
and is a Markov transition file (see Markov Transition Files).
Key |
Description |
---|---|
DownloadSharing |
This is a CDF Line of files that this user will download from the sharing site. |
FileSharingLoginName |
The name to use when logging in, if omitted the User’s default login name will be used |
FileSharingLoginPassword |
The password to use when logging in, if ommitted the User’s default login name will be used |
FileSharingType |
The specific type of FileSharing this User will
use. Must match the |
FileSharingURI |
The base URI for the site to use. |
FTPFiles |
This is a CDF Line of files that this user will upload to the sharing site. This value is used if UploadSharing is not populated |
FTPUploads |
This is a CDF Line of files that this user will upload to the sharing site. This value is used if both UploadSharing and FTPFiles are not populated |
UploadSharing |
This is a CDF Line of files that this user will upload to the sharing site. |
5.4.5.6. FTP¶
This config file, named FTP.conf
, contains configuration
information about how to interact with FTP sites.
The Markov Transition Files for this module is called FTPActions.conf
Key |
Description |
---|---|
FTPDownloadDir |
This is the local directory into which files will be “getted”. |
FTPDownloads |
A CDF Line of files available to get |
FTPFileList |
This is a comma delimited list of files that this user will upload to the sharing site. |
FTPSites |
This is a CDF Line of sites that this user will connect to. |
FTPType |
The specific type of FTP client this User will
use. Must match the |
FTPUploadDir |
This is the remote path into which files are put |
FTPUploads |
This is a CDF Line of files that this user will upload to the ftp site. |
5.4.5.7. Image Sharing¶
This config file, named ImageSharing.conf
, contains configuration
information about how to interact with Image Sharing sites, like CopperMine.
The Markov Transition Files for this module is called
ImageSharingActions.conf
Key |
Description |
---|---|
ImageCommentTopic |
A Babble File for the topic of comments |
ImageDescriptionTopic |
A Babble File for the topic of image descriptions |
ImageSharingLoginName |
Optionally, the username to use to login to the site. Defaults to the User’s normal loginName |
ImageSharingLoginPassword |
Optionally, the password to use to login to the site. Defaults to the User’s normal loginPass |
ImageSharingType |
The specific type of Image Sharing client this
User will use. Must match the |
UploadImages |
A CDF Line of local files to upload. |
5.4.5.8. IM¶
This config file, named IM.conf
, contains configuration information
about how to interact with instant messengers.
The Markov Transition Files for this module is called IMActions.conf
Key |
Description |
---|---|
IMTopic |
A Babble File for this user to write about |
IMRecips |
A CDF Line of people this user will send messages to. |
IMType |
The specific type of IM client this User will
use. Must match the |
5.4.5.9. Media Player¶
This config file, named MediaPlayer.conf
, contains configuration
information about how to interact with media players like VLC or
Windows Media Player.
The Markov Transition Files for this module is called
MediaPlayerActions.conf
Key |
Description |
---|---|
MediaSites |
A CDF Line of sources of media to play |
MediaPlayerSites |
A CDF Line of sources of media to play. This is only used if MediaSites is empty |
MediaPlayerType |
The specific type of media player this User will
use. Must match the |
5.4.5.10. Node Goat¶
This config file, named NodeGoat.conf
, contains configuration
information about how to interact with the Node Goat web app.
The Markov Transition Files for this module is called
NodeGoatActions.conf
Key |
Description |
---|---|
NodeGoatType |
The specific type of node goat client this User
will use. Must match the |
NodeGoatPassword |
The password to use when logging into Node Goat |
NodeGoatURI |
The URI of the Node Goat server to use |
NodeGoatUserName |
The Username to use when logging into Node Goat |
5.4.5.11. PDF Viewer¶
This config file, named PDFViewer.conf
, contains configuration
information about how to view PDF files.
The Markov Transition Files for this module is called
PDFViewerActions.conf
Key |
Description |
---|---|
PDFViewerType |
The specific type of pdf viewer client this User
will use. Must match the |
Sources |
A CDF Line of PDF sources to load and read |
5.4.5.12. Project Management¶
This config file, named ProjectManagement.conf
, contains
configuration information about how to use project management software.
The Markov Transition Files for this module is called
ProjectManagementActions.conf
Key |
Description |
---|---|
ProjectMangementType |
The specific type of project management client
this User will use. Must match the |
TaskNameTopic |
A Babble File to generate task names. |
5.4.5.13. SCM (Source Code Management)¶
This config file, named SCM.conf
, contains configuration
information about how to use SCM software.
The Markov Transition Files for this module is called SCMActions.conf
Key |
Description |
---|---|
RemoteRepos |
A CDF Line listing remote repos to use |
SCMCommitTopic |
A Babble File to generate commit messages |
SCMModifyCommands |
A CDF Line listing commands to modify the local repo which will perhaps later be committed |
SCMType |
The specific type of SCM client this User will
use. Must match the |
5.4.5.14. SCP (secure copy)¶
This config file, named SCP.conf
, contains configuration
information about how to use SCP software.
The Markov Transition Files for this module is called SCPActions.conf
Key |
Description |
---|---|
SCP_Password |
The password to use when connecting to a server |
SCPDownloads |
A CDF Line listing files to download |
SCMCommitTopic |
A Babble File to generate commit messages |
SCPFileList |
A comma seperated list of files to be downloaded This is only used if SCPUploads is empty |
SCPFiles |
A CDF Line listing files to upload. This is only used if SCPUploads is empty |
SCPUploads |
A CDF Line listing files to upload |
SCPType |
The specific type of SCP client this User will
use. Must match the |
5.4.5.15. Streaming Media¶
This config file, named StreamingMedia.conf
, contains configuration
information about how to use streaming media sites, like Media Goblin.
The Markov Transition Files for this module is called
StreamingMediaActions.conf
Key |
Description |
---|---|
MediaCommentTopic |
A Babble File file to generate the text
of comments. Defaults to |
MediaDescriptionTopic |
A Babble File file to generate new post
descriptions. Defaults to |
MediaTagsTopic |
A Babble File file to generate new post
tag list. Defaults to |
MediaTitlesTopic |
A Babble File file to generate new post
titles. Defaults to |
UploadMedia |
A CDF Line listing files to upload |
StreamingMediaLoginName |
The username to login to the media site with |
StreamingMediaLoginPassword |
The password to login to the media site with |
StreamingMediaType |
The specific type of streaming media this User
will use. Must match the |
StreamingMediaURI |
The URI of the streaming media site to use |
5.4.5.16. Web Browser¶
This config file, named WebBrowser.conf
contains configuration
information about how to interact with web browsers for general browsing
activities. Visiting social media sites or similar will be their own
apps and have their own configuration files.
The Markov Transition Files for this module is called
WebBrowserActions.conf
Key |
Description |
---|---|
BrowserType |
The specific type of WebBrowser this User will
use. Must match the |
WebBrowserURIs |
A CDF Line of URIs this User will type to visit. |
5.4.5.17. Web Forum¶
This config file, named WebForum.conf
contains configuration
information about how to interact with web fora like one provided by
Simple Machines, for example.
The Markov Transition Files for this module is called
WebForumActions.conf
Key |
Description |
---|---|
WebForumType |
The specific type of WebForum this User will
use. Must match the |
WebForumTopic |
A Babble File to generate text while writing on the forum. |
WebForumURI |
The URI of the forum this User will use |
ForumUname |
If a name other than the default LoginName should specify it here. |
ForumPassword |
If a name other than the default LoginPass should specify it here. |
5.4.5.18. Word Processor¶
This config file, named WordProcessor.conf
contains configuration
information about how to interact with word processors like Word or
Libre Office Writer.
The Markov Transition Files for this module is called
WordProcessorActions.conf
Key |
Description |
---|---|
WordProcessorType |
The specific type of Word Processor this User
will use. Must match the |
WordTopic |
A Babble File to generate text content |
Footnotes