diff --git a/frontend/static/federation.json b/frontend/static/federation.json index 0f85439f..a1c6cc57 100644 --- a/frontend/static/federation.json +++ b/frontend/static/federation.json @@ -41,6 +41,47 @@ "mainnetNodesPubkeys": ["0282eb467bc073833a039940392592bf10cf338a830ba4e392c1667d7697654c7e"], "testnetNodesPubkeys": ["03ecb271b3e2e36f2b91c92c65bab665e5165f8cdfdada1b5f46cfdd3248c87fd6"] }, + "temple": { + "longAlias": "Temple of Sats", + "shortAlias": "temple", + "description": "I am passionate about joining Robosats as a coordinator because I believe that peer-to-peer, non-KYC Bitcoin transactions are vital for the community's empowerment and autonomy. I aim to champion users' privacy, and provide a seamless experience for genuine Bitcoin enthusiasts.", + "motto": "Privacy and Integrity: Temple of Sats, where Bitcoin's essence thrives.", + "color": "#000", + "contact": { + "email": "cosmos178ftmm4edlahqzj376gwgqzd9re5x0x9h0tfsc@keplr.xyz", + "simplex": "https://simplex.chat/contact/#/?v=1-4&smp=smp%3A%2F%2Fh--vW7ZSkXPeOUpfxlFGgauQmXNFOzGoizak7Ult7cw%3D%40smp15.simplex.im%2FTBkVW6au17zMxuwDvlhIpkMojh7PpZgN%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEA2iXIDN6Su6zYqKWcgsdd8BA7HhIHYIEWHE-MUyJhSw4%253D%26srv%3Doauu4bgijybyhczbnxtlggo6hiubahmeutaqineuyy23aojpih3dajad.onion", + "matrix": "@venividivici13:matrix.org", + "pgp": "keys.openpgp.org/vks/v1/by-fingerprint/25791752E9661C1DE118A8C6F78CD3D6471B6789", + "fingerprint": "25791752E9661C1DE118A8C6F78CD3D6471B6789" + }, + "badges": { + "isFounder": true, + "donatesToDevFund": 30, + "hasGoodOpSec": true, + "robotsLove": false, + "hasLargeLimits": false + }, + "policies": { + "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.", + "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. For ease of use e-mail communications are permitted, but E2EE and decentralized platforms such as NOSTR, SIMPLEX and MATRIX are advised.", + "No Third-Party Sharing": "Under no circumstances will user information be shared with third parties.", + "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:": "Keep stacking Sats and Enjoy your journey in the Temple of Sats!" + }, + "mainnet": { + "onion": "http://_TEMPORARY_SILENCED_MAINNET_zixoneehmz7z2ctsnpuubcni4kxw5gp6fkyzjd2spo5atie5awiuwmyd.onion", + "clearnet": "", + "i2p": "" + }, + "testnet": { + "onion": "http://ngdk7ocdzmz5kzsysa3om6du7ycj2evxp2f2olfkyq37htx3gllwp2yd.onion", + "clearnet": "", + "i2p": "" + }, + "mainnetNodesPubkeys": ["030a425f5c69a29db30f6740d4e7df8f5612ef9955078ef4497490015464733dc8"], + "testnetNodesPubkeys": ["028e7a019180a664b84edf77ba656e96f2eb84f67f56d93020341caf4109e0dbc7"] + }, "temp": { "longAlias": "Template", "shortAlias": "temp", diff --git a/frontend/static/federation/temple.small.webp b/frontend/static/federation/temple.small.webp new file mode 100644 index 00000000..147632b7 Binary files /dev/null and b/frontend/static/federation/temple.small.webp differ diff --git a/frontend/static/federation/temple.webp b/frontend/static/federation/temple.webp new file mode 100644 index 00000000..db04b73e Binary files /dev/null and b/frontend/static/federation/temple.webp differ diff --git a/nodeapp/coordinators/exp/upstreams.conf b/nodeapp/coordinators/exp/upstreams.conf index 58b78b91..8628e8b4 100644 --- a/nodeapp/coordinators/exp/upstreams.conf +++ b/nodeapp/coordinators/exp/upstreams.conf @@ -1,9 +1,9 @@ # Experimental Coordinator Mainnet upstream mainnet_exp { - server localhost:81; + server localhost:101; } # Experimental Coordinator Testnet upstream testnet_exp { - server localhost:82; + server localhost:1001; } \ No newline at end of file diff --git a/nodeapp/coordinators/temp/upstreams.conf b/nodeapp/coordinators/temp/upstreams.conf index f7c72adf..804838fa 100644 --- a/nodeapp/coordinators/temp/upstreams.conf +++ b/nodeapp/coordinators/temp/upstreams.conf @@ -1,9 +1,9 @@ # Template Coordinator Mainnet upstream mainnet_temp { - server localhost:83; + server localhost:100; } # Template Coordinator Testnet upstream testnet_temp { - server localhost:84; + server localhost:1000; } \ No newline at end of file diff --git a/nodeapp/coordinators/temple/locations.conf b/nodeapp/coordinators/temple/locations.conf new file mode 100644 index 00000000..6339b5ce --- /dev/null +++ b/nodeapp/coordinators/temple/locations.conf @@ -0,0 +1,59 @@ +# Temple of Sats Coordinator Mainnet Locations +location /mainnet/temple/static/assets/avatars/ { + proxy_pass http://mainnet_temple/static/assets/avatars/; +} + +location /mainnet/temple/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'; + # add_header 'Access-Control-Max-Age' 1728000; + # add_header 'Content-Type' 'text/plain; charset=utf-8'; + # add_header 'Content-Length' 0; + # return 204; + # } + # if ($request_method = 'POST') { + # 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'; + # add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; + # } + # if ($request_method = 'GET') { + # 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'; + # add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; + # } + proxy_pass http://mainnet_temple/api/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; +} + +location /mainnet/temple/ws/ { + proxy_pass http://mainnet_temple/ws/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; +} + +# Temple of Sats Coordinator Testnet Locations +location /test/temple/static/assets/avatars/ { + proxy_pass http://testnet_temple/static/assets/avatars/; +} + +location /testnet/temple/api/ { + proxy_pass http://testnet_temple/api/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; +} + +location /testnet/temple/ws/ { + proxy_pass http://testnet_temple/ws/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; +} \ No newline at end of file diff --git a/nodeapp/coordinators/temple/upstreams.conf b/nodeapp/coordinators/temple/upstreams.conf new file mode 100644 index 00000000..c17c3163 --- /dev/null +++ b/nodeapp/coordinators/temple/upstreams.conf @@ -0,0 +1,9 @@ +# Temple of Sats Coordinator Mainnet +upstream mainnet_temple { + server localhost:102; +} + +# Temple of Sats Coordinator Testnet +upstream testnet_temple { + server localhost:1002; +} \ No newline at end of file diff --git a/nodeapp/robosats-client.sh b/nodeapp/robosats-client.sh index 8534e282..4f9e2266 100644 --- a/nodeapp/robosats-client.sh +++ b/nodeapp/robosats-client.sh @@ -11,26 +11,36 @@ # Experimental Coordinator # Mainnet mainnet_exp_onion=robosats6tkf3eva7x2voqso3a5wcorsnw34jveyxfqi2fu7oyheasid.onion -mainnet_exp_port=81 +mainnet_exp_port=101 # Testnet testnet_exp_onion=robotestagw3dcxmd66r4rgksb4nmmr43fh77bzn2ia2eucduyeafnyd.onion -testnet_exp_port=82 +testnet_exp_port=1001 + +# Temple of Sats Coordinator +# Mainnet +mainnet_temple_onion=zixoneehmz7z2ctsnpuubcni4kxw5gp6fkyzjd2spo5atie5awiuwmyd.onion +mainnet_temple_port=102 +# Testnet +testnet_temple_onion=ngdk7ocdzmz5kzsysa3om6du7ycj2evxp2f2olfkyq37htx3gllwp2yd.onion +testnet_temple_port=1002 # Template Coordinator # Mainnet mainnet_temp_onion=robosats6tkf3eva7x2voqso3a5wcorsnw34jveyxfqi2fu7oyheasid.onion -mainnet_temp_port=83 +mainnet_temp_port=100 # Testnet testnet_temp_onion=robotestagw3dcxmd66r4rgksb4nmmr43fh77bzn2ia2eucduyeafnyd.onion -testnet_temp_port=84 +testnet_temp_port=1000 # ... add more 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}" +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}" + mainnet_temp_socat="socat tcp4-LISTEN:${mainnet_temp_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${mainnet_temp_onion}:80,socksport=${TOR_PROXY_PORT:-9050}" testnet_temp_socat="socat tcp4-LISTEN:${testnet_temp_port},reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:${TOR_PROXY_IP:-127.0.0.1}:${testnet_temp_onion}:80,socksport=${TOR_PROXY_PORT:-9050}" - -$mainnet_exp_socat & $testnet_exp_socat & $mainnet_temp_socat & $testnet_temp_socat & nginx \ No newline at end of file +$mainnet_exp_socat & $testnet_exp_socat & $mainnet_temple_socat & $testnet_temple_socat &$mainnet_temp_socat & $testnet_temp_socat & nginx \ No newline at end of file