SDLE Project for group T3G11 (FEUP, MEIC 2021/22).
Molater, a twitter-like peer-to-peer social network.
- Davide Castro -
up201806512@edu.fe.up.pt
- Henrique Ribeiro -
up201806529@edu.fe.up.pt
- João Costa -
up201806560@edu.fe.up.pt
- Tiago Silva -
up201806516@edu.fe.up.pt
This project uses maven as a
build system. As such, the project is compiled by calling mvn compile
. Be
aware that this will pull in the required dependencies.
There are 2 executable files in this projects: the key-server instance, and the peer program.
Key-servers are special peers with well-known addresses. They are responsible for keeping the users public-keys (for authentication purposes), and to serve as entry points to the network (bootstrapping). Peers come with these well-known addresses in their host-cache by default. There can be multiple key-servers, but for demonstration purposes, only 1 is needed.
Other than that, these servers act as normal peers that forward all queries (they never save content, so they can serve query-hits).
To start a key-server instance, run:
mvn exec:java -Dexec.mainClass=org.t3.g11.proj2.keyserver.KeyServer
.
The peer program is the way a user can participate in the network. There are 2
UIs available: a cli, and a swing-based GUI. The cli is used by default. If the
user wishes to use the GUI, pass the --gui
command-line argument to the
program.
To run the peer program, do:
mvn exec:java -Dexec.mainClass=org.t3.g11.proj2.peer.Main <address> <port> [--gui]
,
where <address>
and <port>
are the addresses and port where the service will
be available for outsiders (listening socket).