README
1NAME
2 File::KeePass::Agent - Application agent for working with File::KeePass
3 objects
4
5SYNOPSIS
6 use File::KeePass::Agent;
7 File::KeePass::Agent->new->run($file, $pass);
8
9
10 File::KeePass::Agent->new->run; # will read from @ARGV or prompt
11
12
13 File::KeePass::Agent::run(); # will read from @ARGV or prompt
14
15
16 File::KeePass::Agent::run(\%files); # file/pass pairs
17
18
19 File::KeePass::Agent::run(\@files);
20
21 File::KeePass::Agent::run(\@files, \@passes); # parallel arrays
22
23 You may pass the name of the keepass filename that you would like to
24 open. Otherwise you are prompted for the file to open.
25
26 You are then prompted for the password and/or the keyfile that will be
27 used to open the file.
28
29 See File::KeePass for a listing of what KeyPass database features are
30 currently handled.
31
32OS
33 File::KeePass::Agent (FKPA) will try to load a module based on the OS
34 returned by the $^O variable. OS support during the initial releases is
35 very sparse.
36
37FKPA OS API
38 The unix module variant contains documentation about what methods are
39 necessary to support the FKPA api.
40
41 See "FKPA METHODS" in File::KeePass::Agent::unix.
42
43METHODS
44 "new"
45 Returns an object blessed into the FKPA class.
46
47 "run"
48 Reads the file, password, prints out a summary of the database, and
49 binds any shortcut keys. Eventually, this will most likely support
50 more maintenance features.
51
52 "keepass"
53 Returns an arrayref of arrayrefs continaing file and File::KeePass
54 object pairs.
55
56 "shortcut_name"
57 Returns a human readable name from a shortcut hashref.
58
59 "active_entries"
60 Finds current active entries from any of the open databases.
61
62 "active_searches"
63 Parses the active searches and returns a listing of qr
64 matches/auto-type string/entry records.
65
66 "search_auto_type"
67 Takes an window title and compares it against the current active
68 searches.
69
70 "do_no_match"
71 Called if search_auto_type didn't find a matching window.
72
73 "do_auto_type"
74 Called if search_auto_type found a single match.
75
76 "do_auto_type_mult"
77 Called if search_auto_type found multiple matching windows.
78
79 "do_auto_type_unsupported"
80 Called when FKPA doesn't support an auto-type directive.
81
82GLOBAL SHORTCUTS
83 FKPA will read for the current global shortcut listed in the keepassx
84 configuration file. At the moment this must first be configured using
85 keepassx itself. Future support will allow for configuring this through
86 FKPA itself.
87
88 If this global shortcut is defined, when pressed it will call
89 search_auto_type to find entries matching against the current window
90 title. If found, it will auto-type the matching entry.
91
92 Additionally, custom global shortcuts may defined in the comments
93 section of the FKP database entries. They have the form:
94
95 Custom-Global-Shortcut: Ctrl-Alt-Shift w
96
97 This allows for individual entry auto-typing to be called directly.
98
99AUTOTYPE SUPPORT
100 Version 2 databases natively support auto-type entries. Comment sections
101 of version 1 database entries may contain Auto-type entries in the
102 following form:
103
104 Auto-Type-Window: Admin Login*
105 Auto-Type-Window: Login*
106 Auto-Type: {USERNAME}{TAB}{PASSWORD}{ENTER}
107
108 The Auto-Type-Window items are used to match against window titles. You
109 may put a leading * and/or a trailing * on the item to allow for
110 wildcard matching.
111
112 If a window matches an Auto-Type-Window entry the corresponding
113 Auto-Type item will be processed and "auto-typed" to the current window.
114
115 Currently the following auto-type directives are supported:
116
117 "USERNAME"
118 The username for the entry.
119
120 "PASSWORD"
121 The password for the entry.
122
123 "URL"
124 The URL for the entry.
125
126 "..."
127 All properties of the entry may be accessed.
128
129 "TAB"
130 The tab character.
131
132 "ENTER"
133 The enter character.
134
135STATUS
136 This module and program are proof of concept. They work, but are limited
137 in their feature set. There currently are no managment capabilities.
138
139AUTHOR
140 Paul Seamons <paul at seamons dot com>
141
142LICENSE
143 This module may be distributed under the same terms as Perl itself.
144
145