summaryrefslogtreecommitdiffstats
path: root/doc/kpf/index.docbook
blob: 1ee7fc3d8b93cce2b0a15cf284c415f9c397d171 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kpf;">
  <!ENTITY package "tdenetwork">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>

<book lang="&language;">

  <bookinfo>

    <title>The &kpf; Handbook</title>

    <authorgroup>

      <author>
        <firstname>Rik</firstname>
        <surname>Hemsley</surname>
        <affiliation>
          <address>&Rik.Hemsley.mail;</address>
        </affiliation>
      </author>

      <!-- TRANS:ROLES_OF_TRANSLATORS -->

    </authorgroup>

    <copyright>
      <year>2002</year>
      <holder>&Rik.Hemsley;</holder>
    </copyright>

    <legalnotice>&FDLNotice;</legalnotice>

    <date>2003-09-30</date>
    <releaseinfo>1.0.1</releaseinfo>

    <abstract>
      <para>
        &kpf; allows you to share files over a network.
      </para>
    </abstract>

    <keywordset>
      <keyword>KDE</keyword>
      <keyword>public</keyword>
      <keyword>fileserver</keyword>
      <keyword>HTTP</keyword>
    </keywordset>

  </bookinfo>

  <chapter id="introduction">

    <title>Introduction</title>

    <para>
      &kpf; provides simple file sharing using &HTTP; (the Hyper Text
      Transfer Protocol,) which is the same protocol used by web sites to
      provide data to your web browser. &kpf; is strictly a public
      fileserver, which means that there are no access restrictions to shared
      files. Whatever you select for sharing is available to anyone.
    </para>

    <para>
      &kpf; is designed to be used for sharing files with friends, not to
      act like a fully-fledged web server such as
      <application>Apache</application>. &kpf; was primarily conceived
      as an easy way to share files with others while chatting on
      <acronym>IRC</acronym> (Internet Relay Chat, or <quote>chat
      rooms</quote>.)  
    </para>

    <para>
      Typical usage: &kpf; is set up to serve files from the <filename
      class="directory">public_html</filename> folder in your home
      folder. You wish to make a file available to some people with
      whom you are chatting online. Rather than send them each an
      email with the file attached (some may not even be interested,)
      you copy the file into your <filename
      class="directory">public_html</filename> folder and announce
      to those listening that your file is available at
      http://www.mymachine.net:8001/thefile
    </para>

  </chapter>

  <chapter id="using-kpf">

    <title>Using &kpf;</title>

    <sect1 id="kpf-basics">

      <title>&kpf; basics</title>

      <para>
        &kpf; runs as an applet inside &kicker;. This means that it
        takes up little space on your screen and its status is always
        visible. To start the &kpf; applet,
        <mousebutton>right</mousebutton> click on &kicker; and choose
        <guimenu>Add Applet to Panel...</guimenu> to open the <guilabel>Add 
        Applet</guilabel> dialog. Select <guilabel>Public File Server</guilabel> and
	click the <guibutton>Add to Panel</guibutton> button.
      </para>

      <para>
        &kpf; employs the concept of shared folders. You may choose
        one or more folders to make public, and all files in that folder
        (and any subfolders) will be shared.
      </para>

      <para>
        Please be extremely careful about which folders you
        share. Remember that all files in the folder and its
        subfolders, including <quote>hidden</quote> files
        (<quote>dotfiles</quote> to the techies) will be made
        available to the world, so be careful not to share sensitive
        information, such as passwords, cryptographic keys, your
        addressbook, documents private to your organization, &etc;.
      </para>

      <para>
        Once &kpf; is running, you will see a square applet with a
        thin sunken bevel and an icon depicting an <guiicon>hot air
        balloon</guiicon>. The balloon is visible when no folders are being
        shared.
      </para>

      <para>
        To share a folder, <mousebutton>right</mousebutton> click
        on the balloon icon and a popup menu will appear, containing
        only one item, <guimenuitem>New
        Server...</guimenuitem>. Selecting this entry will cause a
        <quote>wizard</quote> to appear, which will ask you a few
        simple questions. Completing the questions will set up a
        folder for sharing.
      </para>

      <para>
        There is an alternative to using the applet directly when you
        want to share a folder. &kpf; is integrated with &konqueror;.
      </para>

      <para>
        With &konqueror; open and displaying a folder,
        <mousebutton>right</mousebutton> click on the background and
        bring up the <quote>Properties</quote> dialog.  On install,
        &kpf; added a <guilabel>Sharing</guilabel> tab to this
        dialog. You will be offered the option of starting &kpf; if it
        is not running. Choosing <guibutton>Ok</guibutton> will send a
        signal to the &kpf; applet, asking it to add a new share.
      </para>

    </sect1>

  </chapter>

  <chapter id="share-config">

    <title>Share configuration</title>

    <sect1 id="listen-port">

      <title>Listen port</title>

      <para>
        For each folder that is shared by &kpf;, a new network
        <quote>port</quote> is        opened. A <quote>port</quote> is simply a number used to uniquely identify a
        network service. When someone uses a program (&eg; a web browser)
        to connect to a machine, it is directed to the service by specifying
        the address of the machine and the <quote>port</quote> on which the service is
        running.
      </para>

      <para>
        The <quote>port</quote> concept allows one machine to run more
        than one network service. Services you might use every day
        include &HTTP; (the web,) usually connected to by port 80,
        &SMTP; (mail sending,) usually on port 25,
        and POP3 (mail receiving,) usually on port 110.
      </para>

      <para>
        Usually, when you connect to a network service, you do not need
        to specify which <quote>port</quote> you want to connect
        to. This is because the ports are standardized, so anyone
        connecting to port 80 on a network machine expects to find an
        &HTTP; (web) server. 
      </para>

      <para>
        &kpf; is not a <quote>standard</quote> service, so 8001 was
        chosen for the default port.
      </para>

      <para>
        The second folder you share will offer to listen on port 8002,
        with the number being incremented each time you start a new share.
      </para>

      <para>
        Within certain boundaries, you are free to choose whichever port
        number you wish, for a share.
      </para>

      <para>
        It is usual for port numbers below 1000 to be reserved for
        <quote>system</quote> services, &ie; those under the control
        of the machine's administrator, therefore you may find that
        attempting to use anything below 1000 will simply not work.
      </para>

      <para>
        &kpf; tries to warn you when it cannot <quote>listen</quote>
        on a port. It does this by displaying a <guiicon>broken
        connection</guiicon> icon over the top-left corner of the
        graph.  &kpf; attempts to stop you assigning more than one
        share to the same port, but it will not attempt to stop you
        setting a share to listen on a port which is already occupied
        by another service, for example your <quote>real</quote> web
        server.
      </para>

      <para>
        If you see the <guiicon>broken connection</guiicon> icon,
        <mousebutton>right</mousebutton> click on the bandwidth graph
        and choose <guimenuitem>Configure...</guimenuitem> Now try
        changing the listen port and pressing
        <guibutton>Ok</guibutton>. Assuming that this time you picked
        a free port, you should see that the <guiicon>broken
        connection</guiicon> icon disappears, and you should now be
        able to connect to the share.
      </para>

    </sect1>

    <sect1 id="bandwidth-limit">

      <title>Bandwidth limit</title>

      <para>
        The term <quote>bandwidth</quote> refers to the amount of data
        that may be transmitted over a connection during a period of
        time. Techies may be overheard referring to how
        <quote>fat</quote> their <quote>pipe</quote> is. The analogy
        is apt.
      </para>

      <para>
        &kpf; allows you to set a limit on how much bandwidth will be
        used by a particular share. This is useful when you want to
        avoid your network connection being saturated by people
        downloading from your shares. If you are on a modem, for
        example, you only have a few kilobytes per second to
        yourself. Limiting the bandwidth used by your &kpf; shares
        will allow you to keep a portion of the bandwidth for your own
        use.
      </para>

      <para>
        As just mentioned, &kpf; measures bandwidth in kilobytes per
        second, or kB/s for short. A typical modem transfers about 5kB/s on
        average, so limiting the total use of all &kpf; shares to a value
        less than this may be wise, depending on how you are using &kpf;.
      </para>

    </sect1>

    <sect1 id="follow-symlinks">

      <title>Follow symbolic links</title>

      <para>
        A symbolic link is a special file which is a reference to another
        file (or folder) in your filesystem. By following the link,
        you reach the file or folder referred to - the link is generally
        transparent.
      </para>

      <para>
        By default, a &kpf; share does not allow the following of
        symbolic links. This means that, for example, if you have a
        share pointing to <filename
        class="directory">/your/home/folder/public_html</filename>
        and you create a link inside <filename
        class="directory">public_html</filename>, pointing to
        <filename class="directory">/tmp</filename>, then anyone
        requesting <filename class="directory">/tmp</filename> will
        see the contents of your <filename>/tmp</filename> folder.
      </para>

      <para>
        In general, it's a bad idea to allow the following of symbolic
        links in this way. The main reason this is allowed is so that
        you may have symbolic links inside the shared folder, which
        point to another place inside the shared folder. This can
        be useful if you're serving up an entire
        <quote>website</quote> - which as mentioned previously, is not
        the intended use of &kpf;.
      </para>

      <para>
        Just be careful not to link to anywhere on your file system that
        might hold sensitive information (or have a symbolic link in it
        somewhere that points to sensitive information!)
      </para>

    </sect1>

  </chapter>

  <chapter id="faq">

    <title>Questions and Answers</title>

    <qandaset id="faq-questions">

      <qandaentry>

        <question>
          <para>Why does &kpf; not include any security mechanisms?</para>
        </question>

        <answer>

          <para>
            In truth, &kpf; does include various measures designed to help
            prevent the user accidentally providing access to sensitive
            information. There is no password protection and no encryption.
            This is by design, as will be explained.
          </para>

          <para>
            The more security measures that are added to a service, the
            safer people feel when using it. Sadly, to ensure real security,
            the user needs to have a good understanding of the issues involved.
            For example, providing password protection is no use if the user
            does not know how to pick a good password. Therefore the decision
            was made to provide zero security, in the hope that the user will
            find it easier to understand what this means than to spend months
            or years learning about the complexities of network security.
          </para>

          <para>
            The concept is simple. If you specify that a folder is
            shared, it's shared to the world. If you don't want to make
            it available to the world, don't share it.
          </para>

        </answer>

      </qandaentry>

    </qandaset>

  </chapter>

  <chapter id="credits">

    <title>Credits and License</title>

    <para>
      &kpf;
    </para>

    <para>
      Program copyright 2002 &Rik.Hemsley; &Rik.Hemsley.mail;
    </para>

    <para>
      Documentation copyright 2002 by &Rik.Hemsley; &Rik.Hemsley.mail;
    </para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
    &underFDL;

    <para>
      &kpf; is released under the MIT license.
    </para>

  </chapter>

  <appendix id="installation">

    <title>Installation</title>

    <sect1 id="getting-kpf">

      <title>How to obtain &kpf;</title>

      &install.intro.documentation;

    </sect1>

  </appendix>

  &documentation.index; 

</book>