🔀 Merge release branch for 0.14
[jSite.git] / README.md
1 # jSite
2
3 jSite is a tool that uploads websites from a local directory into Freenet.
4
5 ## Compiling
6
7 Gradle’s build process is handled by [Gradle](https://gradle.org/). Just use the Gradle wrapper that comes with jSite:
8
9     # ./gradlew clean build fatJar
10
11 This will resolve jSite’s dependencies, compile jSite, run all the tests (of which there are only a few, unfortunately), and put the file `jSite-`*<version>*`-jar-with-dependencies.jar` into the `build/libs` directory. This is the file that you can simply run, either by double-clicking it in a file manager of your choice, or by using the command line:
12
13     # java -jar build/libs/jSite-0.13-jar-with-dependencies.jar
14
15 ## Using
16
17 jSite is built on a â€świzard dialog” concept: it consists of several different dialogs that can be navigated to by using â€śprevious” and â€śnext” buttons. This allows jSite to check that all necessary input for a following dialog has been given in the current dialog.
18
19 ### The Node Manager
20
21 This dialog lets you configure the connection to your node. jSite’s default setup should match the default setup of Freenet, i.e. a default node is added which can be reached on port 9481 on localhost.
22
23 In the logical order of the dialogs this is the first dialog; however, jSite starts with showing the second dialog: the project dialog.
24
25 ### The Project Dialog
26
27 In this dialog you can manage your projects, i.e. the websites you have inserted or are planning to insert into Freenet.
28
29 Adding a project will create a new key pair; a connection to the Freenet node is required for this. If you want to use an already existing keypair you can do so by using the â€śManage Keys” function. Here you can also copy keys from existing Web of Trust identities.
30
31 Pressing the â€śnext” button will take you to a more detailed view of the project you selected.
32
33 ### The Project Files
34
35 The Project Files dialog lets you adjust settings for the files in your project. The most important functionality this dialog offers is the selection of an â€śindex,” or default, file, i.e., the file that is served when the URI of your freesite is navigated to without a file in the URL path.
36
37 Pressing â€śnext” here will take you to where the action finally happens.
38
39 ### The Project Insert
40
41 This dialog shows the progress of the insert. There’s not really much happening here. You have the possibility to cancel the insert using the â€ścancel” button.
42
43 As soon as the Freenet node has generated the final URI of the freesite, the â€ścopy URI to clipboard” button will be activated, letting you paste the final URI wherever you want. For security reasons (e.g., the â€śmobile attacker source tracing” attack) you should not publish the URI until the insert has finished completely.
44
45 ## Preferences
46
47 In this dialog you can configure a couple of settings of your local jSite instance.
48
49 If you have specific requirements for where jSite should store temporary files (i.e., a directory on an encrypted volume), you can configure this directory here.
50
51 jSite can read its configuration file from a number of different locations. In case you are using jSite for long-living projects it is recommended to keep the configuration in your user’s home directory. However, this might not be an option for when you want to run jSite from an external drive (e.g., a thumb drive) and don’t want to leave permanent traces on the computer you are using. In this case the option â€śnext to the JAR file” might be just for you which will cause jSite to store the configuration file in the directory the JAR file is stored in.
52
53 There is also a third option that tells jSite to store the configuration in a custom location. For this option to be active you have to specify the location when starting jSite with a command-line parameter (`--config-file=`*<config file>*).
54
55 The third section in the dialog configures jSite’s insert behaviour.