version 0.2.20
[fms.git] / readme.txt
1 COMPILING\r
2 ---------\r
3 Compiling FMS requires CMake, pthreads and iconv if you want to do charset\r
4 conversion.  Other required libraries are bundled with FMS.\r
5 \r
6 To compile, run these commands from the source directory:\r
7 cmake .\r
8 make\r
9 \r
10 If you want to use the bundled SQLite3 library, add a -D USE_BUNDLED_SQLITE=ON\r
11 to the cmake command.  To do charset conversion to UTF-8 when sending messages,\r
12 add a -D DO_CHARSET_CONVERSION=ON.\r
13 \r
14 UPGRADING\r
15 ---------\r
16 It is always a good idea to make copies of your current FMS installation before\r
17 continuing.  First shut down FMS and then replace the binary and templates with\r
18 those from the new version.  You may keep the same database unless otherwise\r
19 noted.\r
20 \r
21 INSTALLATION\r
22 ------------\r
23 Place the binary and any templates in a directory of your choice.  Windows\r
24 users may need to download the runtime DLLs available from the fms Freesite and\r
25 place in the fms directory if they are not already installed on the system.  On\r
26 the first run, a database file will also be created in this directory.  Make\r
27 sure the user that runs FMS has read/write access to this directory.\r
28 \r
29 RUNNING\r
30 -------\r
31 You may run FMS in console mode by running the binary directly.  If you are\r
32 running *nix and would like to run as a daemon, use the -d argument.  On\r
33 Windows, -i will install FMS as a service, and -u will uninstall the service.\r
34 \r
35 EXITING\r
36 -------\r
37 To exit FMS running in console mode, press CTRL+C while at the console.  You\r
38 can also use the shutdown button on the web interface to close FMS.  As a last\r
39 resort, you may kill the process.\r
40 \r
41 WEB INTERFACE\r
42 -------------\r
43 By default, a web interface for administration will be running at http://\r
44 localhost:8080.  You can use the interface to configure and administer FMS.\r
45 \r
46 NNTP CONFIGURATION\r
47 ------------------\r
48 By default, the NNTP server will listen on port 1119.  Configure your\r
49 newsreader to connect to the machine running FMS on this port.  Use the web\r
50 interface to create an identity and use the name of the identity as the\r
51 username for the newsgroup account.  The email address may be anything, as it\r
52 is discarded when posting messages.\r
53 \r
54 POSTING MESSAGES\r
55 ----------------\r
56 You must set your newsreader to use UTF-8 when posting messages.  Any non-text\r
57 attachment to the message will be inserted as a regular file and the key added\r
58 to the body of the message when received.  Keep the attachments small, as the\r
59 message can't be inserted until all attachments are inserted.  Text attachments\r
60 will be inlined with the message body.  Cross posting is fine, but remember\r
61 that each identity can set a limit to the number of boards each message may be\r
62 cross posted to.\r
63 \r
64 CONTROL BOARDS\r
65 --------------\r
66 Control boards are special boards that will add/remove trust from an identity.\r
67 Create control boards in the web interface, and then reply to an identity's\r
68 message to a control board to change the trust of the identity as per the\r
69 settings for the board.  You may cross post to a regular board and a control\r
70 board with the same message.  The control boards will be stripped from the\r
71 message before inserting into Freenet.\r
72 \r
73 FREESITES\r
74 ---------\r
75 Each identity has the option to publish a freesite.  A generic HTML template\r
76 called site-template.htm is used to insert the site.  You can customize the\r
77 template by placing an HTML file called identityname-template.htm in the same\r
78 directory as the fms binary.  In the template, the string [LINKS] will be\r
79 replaced by a <ul> list of links and [CONTENT] will be replaced by the page\r
80 content.  [IDENTITYNAME] will be replaced by the name of the identity inserting\r
81 the Freesite.  The Freesite will be inserted once a day and contain your last\r
82 10 posts and your trust list if you are publishing it.  The site will be\r
83 inserted to a USK accessible via: USK@yourpublickey.../fms/0/\r
84 \r
85 You may add extra files to your Freesite by creating a file called identityname-\r
86 files.txt that contains a list of files to add to the Freesite.  There should\r
87 be one file per line, and the path to each file may be absolute or relative to\r
88 the working directory, but you MUST use / as the path separator.  Files cannot\r
89 be named index.htm, trustlist.htm, or files.htm.\r
90 \r
91 TRUST\r
92 -----\r
93 Trust is the most important element of FMS.  It determines which identities you\r
94 will download messages from and thus your overall experience.  Do not give\r
95 trust to arbitrary identities.  Pick whom you trust wisely.  The settings for\r
96 minimum trust before downloading messages and trust lists can be changed on the\r
97 web interface.\r
98 \r
99 You must have a local identity created before you can set trust levels.  Even\r
100 if you don't want to post messages, you must still create an identity, but you\r
101 do not have to announce it.  This way, no-one will know about that identity and\r
102 you will be able to set trust.  If you have multiple identities, each with\r
103 different trust levels for peers, the highest trust level set for a peer will\r
104 determine if messages/trust lists are downloaded from them.\r
105 \r
106 A note on NULL trust:  If you neither trust or distrust an identity, they will\r
107 have NULL trust (no trust at all).  You will download messages and trust lists\r
108 from identities with NULL peer trust as long as the local trust level is at or\r
109 above your configured minimum.  You will also download messages from identities\r
110 with NULL local message trust (the peer message trust must be NULL or >= your\r
111 configured minimum as well), but you will not download trust lists from\r
112 identities with NULL local trust list trust.\r
113 \r
114 NNTP EXTENSIONS\r
115 ---------------\r
116 The following commands are available through the NNTP connection.  The client\r
117 must have authenticated for the commands to work.  Comments MUST be surrounded\r
118 by ".\r
119 \r
120 XSETTRUST MESSAGE userid@keypart val\r
121 XSETTRUST TRUSTLIST userid@keypart val\r
122 XSETTRUST MESSAGECOMMENT userid@keypart "comment"\r
123 XSETTRUST TRUSTLISTCOMMENT userid@keypart "comment"\r
124 \r
125 Responses:\r
126 2xx Trust Set\r
127 4xx Unknown ID or other error\r
128 5xx Syntax error\r
129 \r
130 XGETTRUST MESSAGE userid@keypart\r
131 XGETTRUST TRUSTLIST userid@keypart\r
132 XGETTRUST PEERMESSAGE userid@keypart\r
133 XGETTRUST PEERTRUSTLIST userid@keypart\r
134 \r
135 Responses:\r
136 2xx val\r
137 4xx Unknown ID or other error\r
138 5xx Syntax error\r
139 \r
140 XGETTRUSTLIST\r
141 trust values will be 0 to 100 or can be the string "null" without quotes.\r
142 \r
143 Responses:\r
144 2xx Trust List Follows\r
145 userid@keypart TAB messagetrust TAB trustlisttrust TAB peermessagetrust TAB peertrustlisttrust TAB messagecomment TAB trustlistcomment\r
146 .\r
147 4xx other error\r