Skip to content

Commit

Permalink
Add over the moon coordinator (#1591)
Browse files Browse the repository at this point in the history
* Add over the moon coordinator

* Add Over the Moon to self-hosted backend

* Add over the moon avatar

---------

Co-authored-by: Reckless_Satoshi <[email protected]>
  • Loading branch information
KoalaSat and Reckless-Satoshi committed Nov 2, 2024
1 parent 87cb76b commit bd76673
Show file tree
Hide file tree
Showing 11 changed files with 142 additions and 134 deletions.
46 changes: 46 additions & 0 deletions frontend/static/federation.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,52 @@
"mainnetNodesPubkeys": ["02c5b5972b05fba2cd2c2d9269a47bc478f73fae0f248a85cb1e5af60a07c1919d"],
"testnetNodesPubkeys": ["032b698c8143f293d138c0926594f11d119194ddedb513f63a944d14c094d0e54a"]
},
"moon": {
"longAlias": "Over the moon",
"shortAlias": "moon",
"identifier": "moon",
"description": "Forget \"to the moon\", at Over the Moon we are here to take no-KYC, p2p exchange to the next level! Our goal is to further decentralise the RoboSats federation whilst providing the maximum level of privacy and security for our users. *Trade amounts increase by 30% every 2016 blocks (~2 weeks).",
"motto": "Bene videtur hinc",
"color": "#eeeee4",
"established": "2024-11-01",
"nostrHexPubkey": "7af6f7cfc3bfdf8aa65df2465aa7841096fa8ee6b2d4d14fc43d974e5db9ab96",
"contact": {
"email": "[email protected]",
"telegram": "",
"simplex": "https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FUkMFNAXLXeAAe0beCa4w6X_zp18PwxSaSjY17BKUGXQ%3D%40smp12.simplex.im%2FtrEIGy97lLpA9IeAc6axGF6J6vWK6U6r%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAj8vhZDsAf8au1XSFG43DWZzzFYUnGNi9RAXMVvG2znk%253D%26srv%3Die42b5weq7zdkghocs3mgxdjeuycheeqqmksntj57rmejagmg4eor5yd.onion",
"pgp": "/static/federation/pgp/19D833CB2258715B4E627291942B7D51A8533742.asc",
"nostr": "npub10tm00n7rhl0c4fja7fr94fuyzzt04rhxkt2dzn7y8kt5uhde4wtq899xam",
"website": "",
"fingerprint": "19D833CB2258715B4E627291942B7D51A8533742"
},
"badges": {
"isFounder": false,
"donatesToDevFund": 25,
"hasGoodOpSec": true,
"robotsLove": false,
"hasLargeLimits": false
},
"policies": {
"Privacy Policy 1": "Evidence in Disputes: In the event of a dispute, users will be asked to provide transaction-related evidence. This could include transaction IDs, screenshots of payment confirmations, or other pertinent transaction records. Personal information or unrelated transaction details should be redacted to maintain privacy.",
"Privacy Policy 2": "Short-term Storage: Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted.",
"Data Policy 1": "No Third-Party Sharing: Under no circumstances will user information be shared with third parties. Also because it is impossible to do so by design of Robosats architecture. Due to the decentralized and privacy-centric structure of RoboSats built on the Tor network, we are unable to collect or store user information, including but not limited to, the location of users. This design ensures maximum privacy and anonymity for our users.",
"Data Policy 2": "Short-term Storage: Any log needed to operate the coordinator will be cleared after 7 days, unless strictly needed to process disputes. To ensure utmost privacy, the coordinator will be accessible only through TOR.",
"Rule 1:": " Do not share personal information through the chat, unless strictly needed for completing the trade.",
"Rule 2:": "Users are solely responsible for understanding and complying with their local laws and regulations regarding cryptocurrency transactions. By using this coordinator, you agree to ensure that your activities on the platform are lawful in your jurisdiction."
},
"mainnet": {
"onion": "http://otmoonrndnrddqdlhu6b36heunmbyw3cgvadqo2oqeau3656wfv7fwad.onion",
"clearnet": "",
"i2p": ""
},
"testnet": {
"onion": "http://otmtestgbj3kqo3nre6oksusuqfb4ids5zg2y5z2qza2jogeu67stwid.onion",
"clearnet": "",
"i2p": ""
},
"mainnetNodesPubkeys": ["023924542082a5d16bce188ec4c29a45f00dd439a3f5992034d82e3353232a0345"],
"testnetNodesPubkeys": ["02f0ddc838b35fe54daa13baa4abab84475c7b9f2670ff4b53c1724792843ef62a"]
},
"local": {
"longAlias": "Local Dev",
"shortAlias": "local",
Expand Down
Binary file not shown.
Binary file added frontend/static/federation/avatars/moon.webp
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: 19D8 33CB 2258 715B 4E62 7291 942B 7D51 A853 3742
Comment: Over the Moon <[email protected]>

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
wfIn16AyVN4=
=sjet
-----END PGP PUBLIC KEY BLOCK-----
9 changes: 0 additions & 9 deletions nodeapp/coordinators/exp/upstreams.conf

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Experimental Coordinator Mainnet Locations
location /mainnet/exp/static/assets/avatars/ {
proxy_pass http://mainnet_exp/static/assets/avatars/;
# Over the Moon Mainnet Locations
location /mainnet/moon/static/assets/avatars/ {
proxy_pass http://mainnet_moon/static/assets/avatars/;
}

location /mainnet/exp/api/ {
location /mainnet/moon/api/ {
# if ($request_method = 'OPTIONS') {
# add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
# add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
Expand All @@ -22,44 +22,44 @@ location /mainnet/exp/api/ {
# add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
# add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
# }
proxy_pass http://mainnet_exp/api/;
proxy_pass http://mainnet_moon/api/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

location /mainnet/exp/ws/ {
proxy_pass http://mainnet_exp/ws/;
location /mainnet/moon/ws/ {
proxy_pass http://mainnet_moon/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

location /mainnet/exp/nostr/ {
proxy_pass http://mainnet_exp/nostr/;
location /mainnet/moon/nostr/ {
proxy_pass http://mainnet_moon/nostr/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

# Experimental Coordinator Testnet Locations
location /test/exp/static/assets/avatars/ {
proxy_pass http://testnet_exp/static/assets/avatars/;
# Over the Moon Coordinator Testnet Locations
location /test/moon/static/assets/avatars/ {
proxy_pass http://testnet_moon/static/assets/avatars/;
}

location /testnet/exp/api/ {
proxy_pass http://testnet_exp/api/;
location /testnet/moon/api/ {
proxy_pass http://testnet_moon/api/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

location /testnet/exp/ws/ {
proxy_pass http://testnet_exp/ws/;
location /testnet/moon/ws/ {
proxy_pass http://testnet_moon/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
Expand Down
9 changes: 9 additions & 0 deletions nodeapp/coordinators/moon/upstreams.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Over the Moon Coordinator Mainnet
upstream mainnet_moon {
server localhost:106;
}

# Over the Moon Coordinator Testnet
upstream testnet_moon {
server localhost:1006;
}
67 changes: 0 additions & 67 deletions nodeapp/coordinators/satstralia/locations.conf

This file was deleted.

9 changes: 0 additions & 9 deletions nodeapp/coordinators/satstralia/upstreams.conf

This file was deleted.

12 changes: 4 additions & 8 deletions nodeapp/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,14 @@ http {

# Every robosat coordinators socat tor bridge is an upstream.
# Coordinators in the federation:
# Experimental
include /etc/nginx/conf.d/exp/upstreams.conf;
# Temple of Sats
include /etc/nginx/conf.d/temple/upstreams.conf;
# Satstralia
include /etc/nginx/conf.d/satstralia/upstreams.conf;
# TheBigLake
include /etc/nginx/conf.d/lake/upstreams.conf;
# BitcoinVeneto
include /etc/nginx/conf.d/veneto/upstreams.conf;
# Over the Moon
include /etc/nginx/conf.d/moon/upstreams.conf;

server {

Expand Down Expand Up @@ -70,16 +68,14 @@ http {


# Proxy API, WS and Avatarts to the coordinator(s) socat bridges
# Experimental
include /etc/nginx/conf.d/exp/locations.conf;
# Temple of Sats
include /etc/nginx/conf.d/temple/locations.conf;
# Satstralia
include /etc/nginx/conf.d/satstralia/locations.conf;
# TheBigLake
include /etc/nginx/conf.d/lake/locations.conf;
# BitcoinVeneto
include /etc/nginx/conf.d/veneto/locations.conf;
# Over the Moon
include /etc/nginx/conf.d/moon/locations.conf;

# do not log healtchecks made against "/selfhosted"
location /selfhosted {
Expand Down
38 changes: 13 additions & 25 deletions nodeapp/robosats-client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,6 @@

# Every robosat coordinators needs a tor socat bridge.

###############################
# Experimental
# Mainnet
mainnet_exp_onion=robosats6tkf3eva7x2voqso3a5wcorsnw34jveyxfqi2fu7oyheasid.onion
mainnet_exp_port=101
# Testnet
testnet_exp_onion=robotestagw3dcxmd66r4rgksb4nmmr43fh77bzn2ia2eucduyeafnyd.onion
testnet_exp_port=1001
# socat cmd
mainnet_exp_socat="socat tcp4-LISTEN:${mainnet_exp_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_exp_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"
testnet_exp_socat="socat tcp4-LISTEN:${testnet_exp_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_exp_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"

################################
# Temple of Sats
# Mainnet
Expand All @@ -32,18 +20,6 @@ testnet_temple_port=1002
mainnet_temple_socat="socat tcp4-LISTEN:${mainnet_temple_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_temple_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"
testnet_temple_socat="socat tcp4-LISTEN:${testnet_temple_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_temple_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"

################################
# Satstralia
# Mainnet
mainnet_satstralia_onion=satstraoq35jffvkgpfoqld32nzw2siuvowanruindbfojowpwsjdgad.onion
mainnet_satstralia_port=103
# Testnet
testnet_satstralia_onion=testraliar7xkhos2gipv2k65obykofb4jqzl5l4danfryacifi4t7qd.onion
testnet_satstralia_port=1003
# socat cmd
mainnet_satstralia_socat="socat tcp4-LISTEN:${mainnet_satstralia_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_satstralia_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"
testnet_satstralia_socat="socat tcp4-LISTEN:${testnet_satstralia_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_satstralia_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"

################################
# TheBigLake
# Mainnet
Expand All @@ -68,6 +44,18 @@ testnet_veneto_port=1005
mainnet_veneto_socat="socat tcp4-LISTEN:${mainnet_veneto_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_veneto_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"
testnet_veneto_socat="socat tcp4-LISTEN:${testnet_veneto_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_veneto_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"

################################
# Over the Moon
# Mainnet
mainnet_moon_onion=otmoonrndnrddqdlhu6b36heunmbyw3cgvadqo2oqeau3656wfv7fwad.onion
mainnet_moon_port=106
# Testnet
testnet_moon_onion=otmtestgbj3kqo3nre6oksusuqfb4ids5zg2y5z2qza2jogeu67stwid.onion
testnet_moon_port=1006
# socat cmd
mainnet_moon_socat="socat tcp4-LISTEN:${mainnet_moon_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_moon_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"
testnet_moon_socat="socat tcp4-LISTEN:${testnet_moon_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_moon_onion}:80,socksport=${TOR_PROXY_PORT:-9050}"


# RUN!
$mainnet_exp_socat & $testnet_exp_socat & $mainnet_temple_socat & $testnet_temple_socat & $mainnet_satstralia_socat & $testnet_satstralia_socat & $mainnet_lake_socat & $testnet_lake_socat & $mainnet_veneto_socat & $testnet_veneto_socat & nginx
$mainnet_temple_socat & $testnet_temple_socat & $mainnet_lake_socat & $testnet_lake_socat & $mainnet_veneto_socat & $testnet_veneto_socat & $mainnet_moon_socat & $testnet_moon_socat & nginx

0 comments on commit bd76673

Please sign in to comment.