Software /
code /
clix
Annotate
README @ 153:56546fb3429b
clix.raw: Allow unsandboxed arbitrary code execution
Useful for doing things to clix/verse internals
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 10 Apr 2021 00:28:05 +0200 (2021-04-09) |
parent | 39:4b08296a6748 |
rev | line source |
---|---|
6 | 1 # clix - Command-line XMPP tool |
2 | |
3 ## Description | |
4 Clix is a small utility to interact with an XMPP server. It can be | |
5 used to send messages, presence, and info queries to any XMPP address. | |
6 | |
7 ## Example | |
30
2323adeb8c7c
README: Rename 'message' command to 'send' in the example
Matthew Wild <mwild1@gmail.com>
parents:
10
diff
changeset
|
8 clix send --to=user@example.com "The kettle has now boiled" |
6 | 9 |
10 ## Usage | |
11 Syntax: clix COMMAND [OPTIONS] [...] | |
12 | |
13 Different commands accept different sets of options, but they all | |
14 follow some general conventions. The command must be the first | |
15 parameter, followed by a series of flags or options. Global options | |
16 include: | |
17 | |
18 --account=default | |
19 The account to use from the configuration file (default | |
20 is 'default') | |
21 | |
31
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
22 -c |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
23 --chatroom[=chatroom address] |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
24 Join a chatroom, if no address is specified then the value |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
25 of the --to parameter is used. |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
26 |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
27 --nick=nickname |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
28 The nickname to use if clix joins a chatroom, default "clix" |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
29 |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
30 -o |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
31 --presence |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
32 Send presence, that is - appear online to contacts. |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
33 |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
34 -p |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
35 --password=password |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
36 Set the password to use for authentication (overrides config) |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
37 |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
38 -r |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
39 --resource=resource |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
40 Set the resource to use (default is to let the server choose) |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
41 |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
42 -q |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
43 --quiet |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
44 Suppress informational messages |
7f649b0ba94d
README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents:
30
diff
changeset
|
45 |
6 | 46 -v |
47 --verbose | |
48 Enables verbose logging of the XMPP connection | |
49 | |
50 When no command is specified, clix will print a list of the names | |
51 and descriptions of all built-in commands. | |
52 | |
10
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
53 ## Configuration |
39
4b08296a6748
README: Correct location of .clix(rc)? file
Paul Aurich <paul@darkrain42.org>
parents:
31
diff
changeset
|
54 Clix looks for its config file at $XDG_CONFIG_HOME/.clixrc or |
4b08296a6748
README: Correct location of .clix(rc)? file
Paul Aurich <paul@darkrain42.org>
parents:
31
diff
changeset
|
55 $XDG_CONFIG_HOME/.clix (XDG_CONFIG_HOME defaults to ~/.config) - it is |
4b08296a6748
README: Correct location of .clix(rc)? file
Paul Aurich <paul@darkrain42.org>
parents:
31
diff
changeset
|
56 a simple 'ini' format, which looks like this: |
10
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
57 |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
58 [default] |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
59 jid=user@example.com |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
60 password=mypassword |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
61 |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
62 [otheraccount] |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
63 jid=otheruser@example.org |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
64 password=theirpassword |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
65 |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
66 and so on. You can define as many accounts as you want, if no account |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
67 is called 'default' then the first account is the default. If there is |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
68 no [] header at the start of the file it is assumed to be [default]. |
49b83fa1f6fd
README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents:
6
diff
changeset
|
69 |
6 | 70 ## Building and installing |
71 Building clix is (by no accident) quite simple. It depends on Verse, | |
72 an XMPP client library for Lua. Verse in turn depends on several | |
73 libraries, all dependencies are listed here. | |
74 | |
75 Verse 2.0+: http://matthewwild.co.uk/projects/verse | |
76 At the time of writing Verse 2.x has not been released yet and | |
77 is available only from: http://code.matthewwild.co.uk/verse/ | |
78 | |
79 LuaExpat: http://www.keplerproject.org/luaexpat/ | |
80 Lua XML parser. Available in Debian as liblua5.1-expat0 | |
81 | |
82 LuaSocket: http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/ | |
83 Lua networking library. Available in Debian as liblua5.1-socket2 | |
84 | |
85 Clix can be run directly from source if the above dependencies are | |
86 installed. To make life easier it can be installed to standard directories, | |
87 on most systems this means to copy clix.lua to /usr/bin/clix and the clix | |
88 directory to /usr/lib/lua/5.1/clix (on some non-Debian systems the 5.1 | |
89 directory isn't needed). | |
90 | |
91 Alternatively you can use Squish to compress all Clix's files into a single | |
92 executable. If you have Squish installed then simply type 'squish' in | |
93 clix's source directory to generate the compacted 'clix.bin' file. Squish | |
94 can be found at http://matthewwild.co.uk/projects/squish . | |
95 |