Xeres is a decentralized and secure application designed for communication and sharing.
Xeres is an application that allows to connect to other peers to exchange information.
- π€ Peer-to-Peer (Friend-to-Friend), fully decentralized
- π« No censorship. Cannot be censored
- π Compatible with Retroshare 0.6.6 or higher
- π οΈ Hardware accelerated encryption
- π₯οΈ Desktop User Interface
- πΆ Remote access
- π Asynchronous design
βοΈ High concurrency- π Free software (GPL)
- Windows (x86_64)
- Linux (x86_64)
- MacOS (x86_64)
Latest release always available here.
- Java 21
If you want to quickly try the current development version without installing anything else, see the command line section below.
Run the XeresApplication Spring Boot configuration.
- Active Profile:
dev
- VM Options:
-ea -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8
- CLI arguments:
--fast-shutdown
Run the Gradle bootRun
target. It's in the top right Gradle panel, Tasks / application. It's already preconfigured.
(This way also works with IntelliJ IDEA Ultimate, but you'll miss some extras like colored debug output and faster launch)
gradlew.bat bootRun
./gradlew bootRun
To pass arguments to Xeres, just use the args feature, for example:
./gradlew bootRun --args="--no-gui --fast-shutdown"
(Use --args="--help"
to know all arguments)
When running Xeres with the dev
profile, there's a built-in H2 Console available, accessible through the Debug menu.
With IntelliJ Ultimate, create the following Database connection with the built-in Datagrip client (aka the Database tool window)
- Connection type: Embedded
- Driver: H2
- Path: select
./data/userdata.mv.db
. If the file is not there, run Xeres once. - Authentication: User & Password
- User:
sa
- There's no password
You can also download the H2 installer (version to use: 2.1.214). Then run the H2 console with the following settings:
- Saved Settings: Generic H2 (Embedded)
- Driver Class: org.h2.Driver
- JDBC URL:
hdbc:h2:file:~/workspace/Xeres/data/userdata
(put your path, and no file extension at the end!) - User Name: sa
- The password is empty
run the test
task
run the clean
task
- change the version in build.gradle in the wrapper section
- run the
wrapper
task
https://kordamp.org/ikonli/cheat-sheet-fontawesome5.html
Replace all '-' by '_' in their names for use in JavaFX.
master always contains the current and runnable code. Use a feature branch to work on a feature (for example, feature/165-the-feature (165 would be the ticket number, if any)). Once it's ready, have someone review it then merge to master.
Releases use tags and might use a release branches if urgent fixes are needed.
More information: Git process that works - say no to GitFlow.
Pass the following arguments to run multiple instances.
Location A:
--data-dir=./data2
Location B:
--data-dir=./data3
When running Xeres with the dev
profile, JMX monitoring is available either using JConsole or VisualVM.
Simply run them and connect to the Xeres session.