Coder Social home page Coder Social logo

zapek / xeres Goto Github PK

View Code? Open in Web Editor NEW
60.0 3.0 5.0 16.28 MB

A Peer-to-Peer (Friend-to-Friend), decentralized, encrypted and secure application designed for communication and sharing.

Home Page: https://xeres.io

License: GNU General Public License v3.0

Java 99.08% HTML 0.05% CSS 0.32% Python 0.55%
p2p decentralization retroshare java chat f2f peer-to-peer friend-to-friend distributed decentralized

xeres's Introduction

Main site

GitHub release License CodeQL Quality Gate Status

Xeres is a decentralized and secure application designed for communication and sharing.


Xeres Desktop

Table of Contents

Features

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)

Supported Platforms

  • Windows (x86_64)
  • Linux (x86_64)
  • MacOS (x86_64)

Releases

Latest release always available here.

Getting Help

Documentation

Development

Build Requirements

  • Java 21

If you want to quickly try the current development version without installing anything else, see the command line section below.

How to run

IntelliJ IDEA Ultimate

Run the XeresApplication Spring Boot configuration.

  • Active Profile: dev
  • VM Options: -ea -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8
  • CLI arguments: --fast-shutdown
IntelliJ Community Edition

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)

Command Line
Windows
gradlew.bat bootRun
Linux
./gradlew bootRun

To pass arguments to Xeres, just use the args feature, for example:

./gradlew bootRun --args="--no-gui --fast-shutdown"

(Use --help to know all arguments)

Database Debugging

Online

When running Xeres with the dev profile, there's a built-in H2 Console available, accessible through the Debug menu.

Offline

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

Useful Gradle Tasks

Running Tests Locally

run the test task

Cleaning the Build Directory

run the clean task

Upgrading Gradle
  • change the version in build.gradle in the wrapper section
  • run the wrapper task

Useful Links

Pick a FontAwesome Icon

https://fontawesome.com/v4/icons/

Replace all '-' by '_' in their names for use in JavaFX.

Git Branching Model

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.

Manual Testing

Using Multiple Configs

Pass the following arguments to run multiple instances.

Location A:

--data-dir=./data2

Location B:

--data-dir=./data3

Monitoring

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.

Donations

Please consider a donation to help with the project's development. Contact me if you want to get listed in the application's about window. The more donations, the more time is allocated on the project.

Method Address
GitHub https://github.com/sponsors/zapek
PayPal https://www.paypal.me/zapek666
Coffee https://www.buymeacoffee.com/zapek
BTC bc1qn57zvp8s3h6renf805fan53kt7q4j963g7prvt
XMR 84czz4Vg44GaGmQF8Lst3uWEMyXLSahBffhrDd77jdVJEoKCtUJF96mGQ4XzcYrLG1JGaj2hr2sMoDoihQ52MT1jMBnucyu
GOST GM72AdtcAKLT8DGHSgDGeTA8Zsub23wL4K
ZEN znePxvhiUQLp7arEEVvuC1rkofgJf3LZ2uw
BAT https://github.com/zapek/Xeres/commits?author=zapek (use tip button in Brave browser)

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.