mirror of
https://github.com/MercuryWorkshop/adrift.git
synced 2025-05-13 06:10:01 -04:00
readme update
This commit is contained in:
parent
7247439445
commit
bc80f9171c
1 changed files with 37 additions and 7 deletions
44
README.md
44
README.md
|
@ -1,8 +1,12 @@
|
||||||
_surf_the_\_web_adrift\_
|
_surf_the_web_adrift_fix_ --------- "ce why do you keep making stupid proxies with zero use case"
|
||||||
|
|
||||||
# Adrift
|
# Adrift
|
||||||
|
|
||||||
Adrift is a Decentralized proxy utilizing the WebRTC protocol.
|
Adrift is a fast and modern decentralized web proxy network, utilizing transport over WebRTC.
|
||||||
|
|
||||||
|
Clients will invisibly connect to one of several tracking servers to exchange an "offer". From there, it uses NAT traversal to link up with a random exit node also running adrift, without the need to port forward. This lightens the load on individial server hosters and makes the network difficult to effectively block. [more information](https://coolelectronics.me/blog/surf-the-web-adrift)
|
||||||
|
|
||||||
|
See a functional demo [here](https://adrift-6c1f6.web.app/)
|
||||||
|
|
||||||
### Before everything..
|
### Before everything..
|
||||||
|
|
||||||
|
@ -16,13 +20,9 @@ pnpm build
|
||||||
cd ..
|
cd ..
|
||||||
```
|
```
|
||||||
|
|
||||||
### Getting started
|
|
||||||
|
|
||||||
Currently, there aren't any middle nodes, only an exit node which is requires nodejs to run.
|
|
||||||
|
|
||||||
### Getting started with the server
|
### Getting started with the server
|
||||||
|
|
||||||
inside the server/ directory, run `pnpm install`, followed by `pnpm dev`
|
inside the server/ directory, run `pnpm install`, followed by `pnpm start`
|
||||||
|
|
||||||
### Getting started with the client
|
### Getting started with the client
|
||||||
|
|
||||||
|
@ -55,3 +55,33 @@ cd frontend/
|
||||||
pnpm install
|
pnpm install
|
||||||
VITE_ADRIFT_DEV=1 VITE_ADRIFT_SINGLEFILE= pnpm dev
|
VITE_ADRIFT_DEV=1 VITE_ADRIFT_SINGLEFILE= pnpm dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# To host a tracker...
|
||||||
|
|
||||||
|
As of now, the project relies on at least one central tracking server to keep offers forwarded smoothly. If you have the infrastructure to keep a tracker of your own running 24/7 and want to host one yourself, here's how to.
|
||||||
|
|
||||||
|
Create a new firebase project. Enable authentication and a realtime DB. Set these rules in the realtime DB
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"peers":{
|
||||||
|
"$uid": {
|
||||||
|
".read": "$uid === auth.uid",
|
||||||
|
".write": "$uid === auth.uid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"swarm": {
|
||||||
|
"$id": {
|
||||||
|
".read": true,
|
||||||
|
".write":true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, create a service account with all permissions. Download the authentication file and save it to `tracker/src/admin-creds.json`
|
||||||
|
cd into `tracker/`, `pnpm start`, and make sure to choose a port with the `PORT` environment variable that's accessible from the internet.
|
||||||
|
|
||||||
|
Open `tracker-list/index.ts`, and add a new entry. Name your entry accordingly, copying in the client-side firebase tokens for the `firebase` field, and putting the domain where your tracker is available in the `tracker` field. After testing, submit a PR and if we trust you, it will be merged and your tracker will show as an option.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue