- Windows (x86_64)
- Linux (x86_64)
- MacOS (x86_64)
Latest release available here.
- Peer-to-Peer (Friend-to-Friend), decentralized
- Fully compatible with Retroshare 0.6.6 or higher
- Hardware accelerated encryption (AES-NI) support
- JavaFX UI
- High concurrency
- Java 8 or higher so that Gradle can bootstrap the rest (Xeres itself uses Java 19)
If you want to quickly try the current development version without installing anything else, see the command line section below.
Please consider a donation to help with the project's development. Contact me to get listed in the about window.
Method | Address |
---|---|
GitHub | https://github.com/sponsors/zapek |
PayPal | https://www.paypal.me/zapek666 |
BTC | bc1qn57zvp8s3h6renf805fan53kt7q4j963g7prvt |
XMR | 84czz4Vg44GaGmQF8Lst3uWEMyXLSahBffhrDd77jdVJEoKCtUJF96mGQ4XzcYrLG1JGaj2hr2sMoDoihQ52MT1jMBnucyu |
GOST | GM72AdtcAKLT8DGHSgDGeTA8Zsub23wL4K |
ETH | 0x7d9EfEe706c81227c73DA7814319301C6Bd63D05 |
ZEN | znePxvhiUQLp7arEEVvuC1rkofgJf3LZ2uw |
BAT | https://github.com/zapek/Xeres/commits?author=zapek (use tip button in Brave browser) |
It is recommended to run the XeresApplication Spring Boot configuration which is the most convenient and fastest way.
Just make sure to configure it in the following way:
Select Edit Configurations... of the XeresApplication Spring Boot configuration.
Put the following VM options:
-ea -Djava.net.preferIPv4Stack=true
And the following Active profiles:
dev
Optionally, for faster build/test turnarounds you can add in the program arguments:
--fast-shutdown
Then just run the XeresApplication Spring Boot configuration.
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 Xeres arguments, just use the args feature, for example:
./gradlew bootRun --args="--no-gui --fast-shutdown"
(Use --help
to know all arguments)
Note: the webui is currently disabled and the following tasks won't work at all.
Run the gradle tasks installAngular
(if you don't already have Angular installed) then buildAngular
. The later will create the needed files that will be served by Xeres on localhost:1066
.
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
Note: because of JetBrains/intellij-platform-gradle-plugin#1039 and https://youtrack.jetbrains.com/issue/IDEA-305759/Gradle-cannot-handle-classpath.index-duplicates it is no longer recommended to use the method below, instead simply use the gradle test
task.
With IntelliJ IDEA Ultimate, setup the following JUnit Configuration:
- add VM options: -ea -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8
- All in packages: io.xeres
- Working directory: put a real working directory (the default won't work if you want code coverage)
- Search for tests: in whole project
- If it breaks the build, see the note above and run the
clean
task to fix it
The project was started on 2019-10-30.
The current plan is to use master for everything. 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 will use tags and release branches if further fixes are needed.
https://reallifeprogramming.com/git-process-that-works-say-no-to-gitflow-50bf2038ccf7
run the clean
task
run the cleanAngular
task
- change the version in build.gradle in the wrapper section
- run the
wrapper
task
Node A: --data-dir=./data2 --control-port=1068
Node B: --data-dir=./data3 --control-port=1069