diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..20080bb --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +* +!package.json +!yarn.lock +!build.sh +!default.conf +!start.sh +!server/* +!client/* +**/node_modules/* \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1eeb4ca..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.DS_Store -node_modules -*.log -*sublime* -*.rdb \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..b009dfb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..3836da9 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "all", + "tabWidth": 2, + "singleQuote": true, + "arrowParens": "avoid", + "printWidth": 120 +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..871c997 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +#FROM nginx:alpine3.18 +FROM node:20.9.0-alpine3.18 + +WORKDIR /home/node +COPY --chown=node:node . . + +RUN apk update && apk add --no-cache bash nginx openssl && \ + rm /etc/nginx/http.d/default.conf && \ + mv /home/node/default.conf /etc/nginx/http.d/ && \ + chmod +x /home/node/start.sh && \ + npm install -g yarn@latest --force && \ + yarn upgrade --no-cache && \ + yarn build + + +STOPSIGNAL SIGINT +# Start the startup script +CMD ["/home/node/start.sh"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7c05ada --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ + +(The MIT License) + +Copyright (c) 2016-present darkwire.io + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/app.json b/app.json new file mode 100644 index 0000000..042fb5b --- /dev/null +++ b/app.json @@ -0,0 +1,54 @@ +{ + "name": "Darkwire", + "description": "End-to-end encrypted web chat", + "keywords": [ + "cryptography", + "chat", + "privacy" + ], + "website": "https://darkwire.io", + "repository": "https://github.com/darkwire/darkwire.io", + "env": { + "HEROKU_APP_NAME": { + "required": false + }, + "HEROKU_PARENT_APP_NAME": { + "required": false + }, + "MAILGUN_API_KEY": { + "description": "Mailgun API Key (only required for abuse reporting)", + "required": false + }, + "ABUSE_TO_EMAIL_ADDRESS": { + "description": "Where to send abuse reports (only required for abuse reporting)", + "required": false + }, + "MAILGUN_DOMAIN": { + "description": "Mailgun domain (only required for abuse reporting)", + "required": false + }, + "ABUSE_FROM_EMAIL_ADDRESS": { + "description": "From address on abuse emails (only required for abuse reporting)", + "required": false + }, + "API_HOST": { + "description": "Example: 'api.your-darkwire-api.com'", + "required": false + }, + "API_PROTOCOL": { + "description": "Example: 'https'", + "required": false, + "value": "https" + }, + "API_PORT": { + "description": "Example: 443", + "required": false, + "value": "443" + }, + "SITE_URL": { + "description": "Full URL of site. Example: https://darkwire.io", + "required": false + } + }, + "image": "heroku/nodejs" +} \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f3fb8a8 --- /dev/null +++ b/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +api_host=$API_HOST + +echo "building client..." +cd client +yarn upgrade +yarn build +cd ../ + +echo "building server..." +cd server +yarn upgrade +yarn build \ No newline at end of file diff --git a/client/.env.dist b/client/.env.dist new file mode 100644 index 0000000..311bb67 --- /dev/null +++ b/client/.env.dist @@ -0,0 +1,14 @@ +# Api settings +TZ=UTC +VITE_API_HOST=localhost +VITE_API_PROTOCOL=http +VITE_API_PORT=3001 +VITE_COMMIT_SHA=some_sha + +# To display darkwire version +VITE_COMMIT_SHA=some_sha + +# Set max transferable file size in MB +VITE_MAX_FILE_SIZE=4 + + diff --git a/client/.eslintrc.cjs b/client/.eslintrc.cjs new file mode 100644 index 0000000..6815699 --- /dev/null +++ b/client/.eslintrc.cjs @@ -0,0 +1,10 @@ +module.exports = { + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + root: true, + env: { + browser: true, + node: true, + }, +}; diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 0000000..c7f41f7 --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist/ +dist-ssr +*.local +coverage + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/client/LICENSE b/client/LICENSE new file mode 100644 index 0000000..94da581 --- /dev/null +++ b/client/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016-present darkwire.io + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/client/README.md b/client/README.md new file mode 100644 index 0000000..b8f0546 --- /dev/null +++ b/client/README.md @@ -0,0 +1,11 @@ +# Darkwire Client + +This is the client for [Darkwire](https://github.com/darkwire/darkwire.io). It requires [darkwire-server](../server) in order to run. + +## Translations + +Translation strings are pulled from JSON files in [this directory](https://github.com/darkwire/darkwire.io/tree/master/client/src/i18n). We welcome pull requests to add support for more lanuages. For native speakers, it should take only a few minutes to translate the site. + +Please see [this PR](https://github.com/darkwire/darkwire.io/pull/95) for an example of what your translation PR should look like. + +Thank you for your contributions! diff --git a/client/index.html b/client/index.html new file mode 100644 index 0000000..712990b --- /dev/null +++ b/client/index.html @@ -0,0 +1,17 @@ + + +
+ + + + + + + ++ Commit SHA: + + some_sha + +
++ This software uses the + + Web Cryptography API + + to encrypt data which is transferred using + + secure WebSockets + + . Messages are never stored on a server or sent over the wire in plain-text. +
++ We believe in privacy and transparency. + + View the source code and documentation on GitHub. + +
++ We encourage you to report problematic content to us. Please keep in mind that to help ensure the safety, confidentiality and security of your messages, we do not have the contents of messages available to us, which limits our ability to verify the report and take action. +
++ When needed, you can take a screenshot of the content and share it, along with any available contact info, with appropriate law enforcement authorities. +
++ To report any content, email us at abuse[at]darkwire.io or submit the room ID below to report anonymously. +
+ ++ If you feel you or anyone else is in immediate danger, please contact your local emergency services. +
++ If you receive content from someone who wishes to hurt themselves, and you're concerned for their safety, please contact your local emergency services or a + + suicide prevention hotline + + . +
++ If you receive or encounter content indicating abuse or exploitation of a child, please contact the + + National Center for Missing and Exploited Children (NCMEC) + + . +
++ This Acceptable Use Policy (this “Policy”) describes prohibited uses of the web services offered by Darkwire and its affiliates (the “Services”) and the website located at https://darkwire.io (the “Darkwire Site”). The examples described in this Policy are not exhaustive. We may modify this Policy at any time by posting a revised version on the Darkwire Site. By using the Services or accessing the Darkwire Site, you agree to the latest version of this Policy. If you violate the Policy or authorize or help others to do so, we may suspend or terminate your use of the Services. +
+ + No Illegal, Harmful, or Offensive Use or Content + ++ You may not use, or encourage, promote, facilitate or instruct others to use, the Services or Darkwire Site for any illegal, harmful, fraudulent, infringing or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, fraudulent, infringing or offensive. Prohibited activities or content include: +
++ Last updated: December 11, 2017 +
++ Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the https://darkwire.io website (the "Service") operated by Darkwire ("us", "we", or "our"). +
++ Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service. +
++ By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service. +
+ + Links To Other Web Sites + ++ Our Service may contain links to third-party web sites or services that are not owned or controlled by Darkwire. +
++ Darkwire has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that Darkwire shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services. +
++ We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit. +
+ + Termination + ++ We may terminate or suspend access to our Service immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms. +
++ All provisions of the Terms which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability. +
+ + Governing Law + ++ These Terms shall be governed and construed in accordance with the laws of New York, United States, without regard to its conflict of law provisions. +
++ Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service. +
++ WARNING: Darkwire does not mask IP addresses nor can verify the integrity of parties recieving messages. Proceed with caution and always confirm recipients beforre starting a chat session. +
++ Please also note that + + ALL CHATROOMS + + are public. Anyone can guess your room URL. If you need a more-private room, use the lock feature or set the URL manually by entering a room ID after "darkwire.io/". +
++ + OUR WEBSITE IS OPERATED BY Darkwire ON AN "AS IS," "AS AVAILABLE" BASIS, WITHOUT REPRESENTATIONS OR WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMITTED BY LAW, Darkwire SPECIFICALLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT FOR OUR WEBSITE AND ANY CONTRACTS AND SERVICES YOU PURCHASE THROUGH IT. Darkwire SHALL NOT HAVE ANY LIABILITY OR RESPONSIBILITY FOR ANY ERRORS OR OMISSIONS IN THE CONTENT OF OUR WEBSITE, FOR CONTRACTS OR SERVICES SOLD THROUGH OUR WEBSITE, FOR YOUR ACTION OR INACTION IN CONNECTION WITH OUR WEBSITE OR FOR ANY DAMAGE TO YOUR COMPUTER OR DATA OR ANY OTHER DAMAGE YOU MAY INCUR IN CONNECTION WITH OUR WEBSITE. YOUR USE OF OUR WEBSITE AND ANY CONTRACTS OR SERVICES ARE AT YOUR OWN RISK. IN NO EVENT SHALL EITHER Darkwire OR THEIR AGENTS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OUR WEBSITE, CONTRACTS AND SERVICES PURCHASED THROUGH OUR WEBSITE, THE DELAY OR INABILITY TO USE OUR WEBSITE OR OTHERWISE ARISING IN CONNECTION WITH OUR WEBSITE, CONTRACTS OR RELATED SERVICES, WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF ANY SUCH DAMAGES. IN NO EVENT SHALL Darkwire’s LIABILITY FOR ANY DAMAGE CLAIM EXCEED THE AMOUNT PAID BY YOU TO Darkwire FOR THE TRANSACTION GIVING RISE TO SUCH DAMAGE CLAIM. + +
++ + SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. + +
++ + WITHOUT LIMITING THE FOREGOING, Darkwire DO NOT REPRESENT OR WARRANT THAT THE INFORMATION ON THE WEBITE IS ACCURATE, COMPLETE, RELIABLE, USEFUL, TIMELY OR CURRENT OR THAT OUR WEBSITE WILL OPERATE WITHOUT INTERRUPTION OR ERROR. + +
++ + YOU AGREE THAT ALL TIMES, YOU WILL LOOK TO ATTORNEYS FROM WHOM YOU PURCHASE SERVICES FOR ANY CLAIMS OF ANY NATURE, INCLUDING LOSS, DAMAGE, OR WARRANTY. Darkwire AND THEIR RESPECTIVE AFFILIATES MAKE NO REPRESENTATION OR GUARANTEES ABOUT ANY CONTRACTS AND SERVICES OFFERED THROUGH OUR WEBSITE. + +
++ + Darkwire MAKES NO REPRESENTATION THAT CONTENT PROVIDED ON OUR WEBSITE, CONTRACTS, OR RELATED SERVICES ARE APPLICABLE OR APPROPRIATE FOR USE IN ALL JURISDICTIONS. + +
+ + Indemnification + ++ You agree to defend, indemnify and hold Darkwire harmless from and against any and all claims, damages, costs and expenses, including attorneys' fees, arising from or related to your use of our Website or any Contracts or Services you purchase through it. +
+ + Changes + ++ We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion. +
++ By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service. +
+ + Contact Us + ++ If you have any questions about these Terms, please contact us at hello[at]darkwire.io. +
++ Questions/comments? Email us at hello[at]darkwire.io +
++ Found a bug or want a new feature? + + Open a ticket on Github + + . +
++ Darkwire is maintained and hosted by two developers with full-time jobs. If you get some value from this service we would appreciate any donation you can afford. We use these funds for server and DNS costs. Thank you! +
+ + Bitcoin + ++ 189sPnHGcjP5uteg2UuNgcJ5eoaRAP4Bw4 +
+ + Ethereum + ++ 0x36dc407bB28aA1EE6AafBee0379Fe6Cff881758E +
+ + Litecoin + ++ LUViQeSggBBtYoN2qNtXSuxYoRMzRY8CSX +
+ + PayPal: + ++ Commit SHA:{' '} + + {COMMIT_SHA} + +
++ This software uses the{' '} + + Web Cryptography API + {' '} + to encrypt data which is transferred using{' '} + + secure WebSockets + + . Messages are never stored on a server or sent over the wire in plain-text. +
++ We believe in privacy and transparency. + + View the source code and documentation on GitHub. + +
++ We encourage you to report problematic content to us. Please keep in mind that to help ensure the safety, + confidentiality and security of your messages, we do not have the contents of messages available to us, + which limits our ability to verify the report and take action. +
++ When needed, you can take a screenshot of the content and share it, along with any available contact info, + with appropriate law enforcement authorities. +
++ To report any content, email us at abuse[at]darkwire.io or submit the room ID below to report anonymously. +
+ +If you feel you or anyone else is in immediate danger, please contact your local emergency services.
++ If you receive content from someone who wishes to hurt themselves, and you're concerned for their safety, + please contact your local emergency services or a{' '} + suicide prevention hotline. +
++ If you receive or encounter content indicating abuse or exploitation of a child, please contact the{' '} + National Center for Missing and Exploited Children (NCMEC). +
++ This Acceptable Use Policy (this “Policy”) describes prohibited uses of the web services offered by Darkwire + and its affiliates (the “Services”) and the website located at https://darkwire.io (the “Darkwire Site”). + The examples described in this Policy are not exhaustive. We may modify this Policy at any time by posting a + revised version on the Darkwire Site. By using the Services or accessing the Darkwire Site, you agree to the + latest version of this Policy. If you violate the Policy or authorize or help others to do so, we may + suspend or terminate your use of the Services. +
+ No Illegal, Harmful, or Offensive Use or Content ++ You may not use, or encourage, promote, facilitate or instruct others to use, the Services or Darkwire Site + for any illegal, harmful, fraudulent, infringing or offensive use, or to transmit, store, display, + distribute or otherwise make available content that is illegal, harmful, fraudulent, infringing or + offensive. Prohibited activities or content include: +
+Last updated: December 11, 2017
++ Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the + https://darkwire.io website (the "Service") operated by Darkwire ("us", "we", or "our"). +
++ Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. + These Terms apply to all visitors, users and others who access or use the Service. +
++ By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the + terms then you may not access the Service. +
+ Links To Other Web Sites ++ Our Service may contain links to third-party web sites or services that are not owned or controlled by + Darkwire. +
++ Darkwire has no control over, and assumes no responsibility for, the content, privacy policies, or practices + of any third party web sites or services. You further acknowledge and agree that Darkwire shall not be + responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or + in connection with use of or reliance on any such content, goods or services available on or through any + such web sites or services. +
++ We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or + services that you visit. +
+ Termination ++ We may terminate or suspend access to our Service immediately, without prior notice or liability, for any + reason whatsoever, including without limitation if you breach the Terms. +
++ All provisions of the Terms which by their nature should survive termination shall survive termination, + including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of + liability. +
+ Governing Law ++ These Terms shall be governed and construed in accordance with the laws of New York, United States, without + regard to its conflict of law provisions. +
++ Our failure to enforce any right or provision of these Terms will not be considered a waiver of those + rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining + provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us + regarding our Service, and supersede and replace any prior agreements we might have between us regarding the + Service. +
++ WARNING: Darkwire does not mask IP addresses nor can verify the integrity of parties recieving messages. + Proceed with caution and always confirm recipients beforre starting a chat session. +
++ Please also note that ALL CHATROOMS are public. Anyone can guess your room URL. If + you need a more-private room, use the lock feature or set the URL manually by entering a room ID after + "darkwire.io/". +
++ + OUR WEBSITE IS OPERATED BY Darkwire ON AN "AS IS," "AS AVAILABLE" BASIS, WITHOUT REPRESENTATIONS OR + WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMITTED BY LAW, Darkwire SPECIFICALLY DISCLAIMS ALL + WARRANTIES AND CONDITIONS OF ANY KIND, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT FOR OUR WEBSITE AND ANY CONTRACTS AND SERVICES + YOU PURCHASE THROUGH IT. Darkwire SHALL NOT HAVE ANY LIABILITY OR RESPONSIBILITY FOR ANY ERRORS OR + OMISSIONS IN THE CONTENT OF OUR WEBSITE, FOR CONTRACTS OR SERVICES SOLD THROUGH OUR WEBSITE, FOR YOUR + ACTION OR INACTION IN CONNECTION WITH OUR WEBSITE OR FOR ANY DAMAGE TO YOUR COMPUTER OR DATA OR ANY OTHER + DAMAGE YOU MAY INCUR IN CONNECTION WITH OUR WEBSITE. YOUR USE OF OUR WEBSITE AND ANY CONTRACTS OR SERVICES + ARE AT YOUR OWN RISK. IN NO EVENT SHALL EITHER Darkwire OR THEIR AGENTS BE LIABLE FOR ANY DIRECT, + INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN ANY WAY CONNECTED + WITH THE USE OF OUR WEBSITE, CONTRACTS AND SERVICES PURCHASED THROUGH OUR WEBSITE, THE DELAY OR INABILITY + TO USE OUR WEBSITE OR OTHERWISE ARISING IN CONNECTION WITH OUR WEBSITE, CONTRACTS OR RELATED SERVICES, + WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF ANY + SUCH DAMAGES. IN NO EVENT SHALL Darkwire’s LIABILITY FOR ANY DAMAGE CLAIM EXCEED THE AMOUNT PAID BY YOU TO + Darkwire FOR THE TRANSACTION GIVING RISE TO SUCH DAMAGE CLAIM. + +
++ + SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE + ABOVE EXCLUSION MAY NOT APPLY TO YOU. + +
++ + WITHOUT LIMITING THE FOREGOING, Darkwire DO NOT REPRESENT OR WARRANT THAT THE INFORMATION ON THE WEBITE IS + ACCURATE, COMPLETE, RELIABLE, USEFUL, TIMELY OR CURRENT OR THAT OUR WEBSITE WILL OPERATE WITHOUT + INTERRUPTION OR ERROR. + +
++ + YOU AGREE THAT ALL TIMES, YOU WILL LOOK TO ATTORNEYS FROM WHOM YOU PURCHASE SERVICES FOR ANY CLAIMS OF ANY + NATURE, INCLUDING LOSS, DAMAGE, OR WARRANTY. Darkwire AND THEIR RESPECTIVE AFFILIATES MAKE NO + REPRESENTATION OR GUARANTEES ABOUT ANY CONTRACTS AND SERVICES OFFERED THROUGH OUR WEBSITE. + +
++ + Darkwire MAKES NO REPRESENTATION THAT CONTENT PROVIDED ON OUR WEBSITE, CONTRACTS, OR RELATED SERVICES ARE + APPLICABLE OR APPROPRIATE FOR USE IN ALL JURISDICTIONS. + +
+ Indemnification ++ You agree to defend, indemnify and hold Darkwire harmless from and against any and all claims, damages, + costs and expenses, including attorneys' fees, arising from or related to your use of our Website or any + Contracts or Services you purchase through it. +
+ Changes ++ We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is + material we will try to provide at least 30 days notice prior to any new terms taking effect. What + constitutes a material change will be determined at our sole discretion. +
++ By continuing to access or use our Service after those revisions become effective, you agree to be bound by + the revised terms. If you do not agree to the new terms, please stop using the Service. +
+ Contact Us +If you have any questions about these Terms, please contact us at hello[at]darkwire.io.
+Questions/comments? Email us at hello[at]darkwire.io
++ Found a bug or want a new feature?{' '} + + Open a ticket on Github + + . +
++ Darkwire is maintained and hosted by two developers with full-time jobs. If you get some value from this + service we would appreciate any donation you can afford. We use these funds for server and DNS costs. Thank + you! +
+ Bitcoin +189sPnHGcjP5uteg2UuNgcJ5eoaRAP4Bw4
+ Ethereum +0x36dc407bB28aA1EE6AafBee0379Fe6Cff881758E
+ Litecoin +LUViQeSggBBtYoN2qNtXSuxYoRMzRY8CSX
+ PayPal: ++ +
+