From 2c6046f06579ea35e98aa8ec3d07789d3f206199 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Fri, 10 Sep 2021 16:53:38 -0400 Subject: [PATCH 001/564] Run changelog generator for deploy tag --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05d9dbcd..9f270391 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,22 @@ Version History Latest: +## Sep 10, 2021: +### deploy-2021-09-13 +**Key Updates** +- Change skyd 307 redirect code to 308 +- Set caddy dns entry ttl limit to 15 minutes to remove stranded entries. +- Update health check disable command to require reason. +- Add proper handling for options response on /skynet/tus endpoint + +**Bugs Fixed** +- Fix extended checks error by rounding the reported datetime. + +**Other** +- Remove outdated references to NebulousLabs + + + ## August 9th, 2021: ### v0.1.1 Monthly release From f1346f23ada3bce7b414e68cfb2c275112e9bdbc Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 20 Sep 2021 22:20:48 +0200 Subject: [PATCH 002/564] expose skylink endpoint over external domains --- docker/nginx/conf.d/include/location-hns | 2 +- docker/nginx/conf.d/include/location-skylink | 4 ++-- docker/nginx/conf.d/server/server.dnslink | 21 ++++++++++++++------ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/docker/nginx/conf.d/include/location-hns b/docker/nginx/conf.d/include/location-hns index bd5644fd..8cc662da 100644 --- a/docker/nginx/conf.d/include/location-hns +++ b/docker/nginx/conf.d/include/location-hns @@ -75,7 +75,7 @@ access_by_lua_block { end } -# we proxy to another nginx location rather than directly to siad because we don't want to deal with caching here +# we proxy to another nginx location rather than directly to siad because we do not want to deal with caching here proxy_pass https://127.0.0.1/$skylink$path$is_args$args; # in case siad returns location header, we need to replace the skylink with the domain name diff --git a/docker/nginx/conf.d/include/location-skylink b/docker/nginx/conf.d/include/location-skylink index 96dfacef..a3692d00 100644 --- a/docker/nginx/conf.d/include/location-skylink +++ b/docker/nginx/conf.d/include/location-skylink @@ -12,7 +12,7 @@ if ($request_method = PURGE) { limit_conn downloads_by_ip 100; # ddos protection: max 100 downloads at a time # $skylink_v1 and $skylink_v2 variables default to the same value but in case the requested skylink was: -# a) skylink v1 - it wouldn't matter, no additional logic is executed +# a) skylink v1 - it would not matter, no additional logic is executed # b) skylink v2 - in a lua block below we will resolve the skylink v2 into skylink v1 and update # $skylink_v1 variable so then the proxy request to skyd can be cached in nginx (proxy_cache_key # in proxy-cache-downloads includes $skylink_v1 as a part of the cache key) @@ -91,7 +91,7 @@ limit_rate $limit_rate; proxy_read_timeout 600; proxy_set_header User-Agent: Sia-Agent; -# in case the requested skylink was v2 and we already resolved it to skylink v1, we're going to pass resolved +# in case the requested skylink was v2 and we already resolved it to skylink v1, we are going to pass resolved # skylink v1 to skyd to save that extra skylink v2 lookup in skyd but in turn, in case skyd returns a redirect # we need to rewrite the skylink v1 to skylink v2 in the location header with proxy_redirect proxy_redirect $skylink_v1 $skylink_v2; diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index db8948e3..e04c5a7a 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -11,15 +11,24 @@ location / { local res, err = httpc:request_uri("http://10.10.10.55:3100/dnslink/" .. ngx.var.host) if err or (res and res.status ~= ngx.HTTP_OK) then - ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status - ngx.header["content-type"] = "text/plain" - ngx.say(err or res.body) - ngx.exit(ngx.status) + -- check whether we can fallback to regular skylink request + local match_skylink = ngx.re.match(ngx.var.uri, "^/([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?") + + if match_skylink then + ngx.var.skylink = match_skylink[1] + ngx.var.path = match_skylink[2] + else + ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status + ngx.header["content-type"] = "text/plain" + ngx.say(err or res.body) + ngx.exit(ngx.status) + end else ngx.var.skylink = res.body - ngx.var.skylink_v1 = ngx.var.skylink - ngx.var.skylink_v2 = ngx.var.skylink end + + ngx.var.skylink_v1 = ngx.var.skylink + ngx.var.skylink_v2 = ngx.var.skylink } include /etc/nginx/conf.d/include/location-skylink; From a96158d5a432e9bbee7096a706be097323ae2410 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 20 Sep 2021 22:28:38 +0200 Subject: [PATCH 003/564] add / --- docker/nginx/conf.d/server/server.dnslink | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index e04c5a7a..06e3e3ca 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -16,7 +16,7 @@ location / { if match_skylink then ngx.var.skylink = match_skylink[1] - ngx.var.path = match_skylink[2] + ngx.var.path = match_skylink[2] or "/" else ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status ngx.header["content-type"] = "text/plain" From 53d764f847a163ead5820a52d6cd924570ead475 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Tue, 21 Sep 2021 17:18:03 +0200 Subject: [PATCH 004/564] Generate changelog for deploy --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f270391..b0759da5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,8 +10,8 @@ Version History Latest: -## Sep 10, 2021: -### deploy-2021-09-13 +## Sep 21, 2021: +### deploy-2021-09-21 **Key Updates** - Change skyd 307 redirect code to 308 - Set caddy dns entry ttl limit to 15 minutes to remove stranded entries. From a845ea0f8ccbd902a898b992bb950fce9880235a Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Sun, 3 Oct 2021 01:24:22 +0200 Subject: [PATCH 005/564] fixed the latest news link redirect in the news header --- .../src/components/NewsHeader/NewsHeader.js | 6 ++-- packages/website/src/pages/news.js | 29 +++++++++---------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/packages/website/src/components/NewsHeader/NewsHeader.js b/packages/website/src/components/NewsHeader/NewsHeader.js index cdbbffb7..17161f26 100644 --- a/packages/website/src/components/NewsHeader/NewsHeader.js +++ b/packages/website/src/components/NewsHeader/NewsHeader.js @@ -12,6 +12,7 @@ const NewsHeader = () => { id frontmatter { title + external } fields { slug @@ -26,8 +27,9 @@ const NewsHeader = () => { if (!latestNews) return null; // no news - const title = latestNews.node.frontmatter.title; - const link = { to: latestNews.node.fields.slug }; + const { frontmatter, fields } = latestNews.node; + const { title, external } = frontmatter; + const link = external ? { href: external } : { to: fields.slug }; return (
diff --git a/packages/website/src/pages/news.js b/packages/website/src/pages/news.js index 7c0f7719..f3b9a220 100644 --- a/packages/website/src/pages/news.js +++ b/packages/website/src/pages/news.js @@ -6,39 +6,36 @@ import { NewsSummary } from "../components/News"; import Link from "../components/Link"; import Seo from "../components/seo"; -const NewsCard = ({ ...props }) => { - const linkProps = { to: !props.frontmatter.external && props.fields.slug, href: props.frontmatter.external }; +const NewsCard = ({ frontmatter, fields }) => { + const { title, external, categories, description, thumbnail, avatar, author, date } = frontmatter; + const link = external ? { href: external } : { to: fields.slug }; return (
- - + + - {props.frontmatter.categories && ( + {categories && (
- {props.frontmatter.categories.map((category) => ( + {categories.map((category) => ( ))}
)} - - {props.frontmatter.title} + + {title} - {props.frontmatter.description && ( - - {props.frontmatter.description} + {description && ( + + {description} )}
- +
); From f0baf4bc3499f90bc2b6c569e03724070b314edb Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 4 Oct 2021 12:41:28 +0200 Subject: [PATCH 006/564] changelog entry --- changelog/items/bugs-fixed/fix-external-links-on-news-header.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/bugs-fixed/fix-external-links-on-news-header.md diff --git a/changelog/items/bugs-fixed/fix-external-links-on-news-header.md b/changelog/items/bugs-fixed/fix-external-links-on-news-header.md new file mode 100644 index 00000000..aa7c8c54 --- /dev/null +++ b/changelog/items/bugs-fixed/fix-external-links-on-news-header.md @@ -0,0 +1 @@ +- fixed the latest news link redirect in the news header From 6fd79354fe4fd2ca2c6a4b0f71a2157410c4db44 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:07:52 +0000 Subject: [PATCH 007/564] Bump react-toastify from 8.0.2 to 8.0.3 in /packages/dashboard Bumps [react-toastify](https://github.com/fkhadra/react-toastify) from 8.0.2 to 8.0.3. - [Release notes](https://github.com/fkhadra/react-toastify/releases) - [Commits](https://github.com/fkhadra/react-toastify/compare/v8.0.2...v8.0.3) --- updated-dependencies: - dependency-name: react-toastify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ab74f41f..c7fe4934 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -29,7 +29,7 @@ "pretty-bytes": "5.6.0", "react": "17.0.2", "react-dom": "17.0.2", - "react-toastify": "8.0.2", + "react-toastify": "8.0.3", "skynet-js": "3.0.2", "stripe": "8.176.0", "superagent": "6.1.0", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index bbf6091b..e65c0726 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2533,10 +2533,10 @@ react-refresh@0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== -react-toastify@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.0.2.tgz#11f73b3a847fcffeb47b1823e8974e9895f98fae" - integrity sha512-0Nud2d0VD4LIevgkB4L8NYoQ5plTpfqgj2CRVxs58SGA/TTO+2Ojz4C1bLUdGUWsw0zuWqd4GJqxNuMIv0cXMw== +react-toastify@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.0.3.tgz#7fbf65f69ec357aab8dd03c1496f9177aa92409a" + integrity sha512-rv3koC7f9lKKSkdpYgo/TGzgWlrB/aaiUInF1DyV7BpiM4kyTs+uhu6/r8XDMtBY2FOIHK+FlK3Iv7OzpA/tCA== dependencies: clsx "^1.1.1" From a23e9423c68458f186fd67a8cb69e99a0c82cb3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:08:05 +0000 Subject: [PATCH 008/564] Bump @stripe/stripe-js from 1.18.0 to 1.19.0 in /packages/dashboard Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.18.0 to 1.19.0. - [Release notes](https://github.com/stripe/stripe-js/releases) - [Commits](https://github.com/stripe/stripe-js/compare/v1.18.0...v1.19.0) --- updated-dependencies: - dependency-name: "@stripe/stripe-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ab74f41f..7e732ace 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -11,7 +11,7 @@ "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.4.1", - "@stripe/stripe-js": "1.18.0", + "@stripe/stripe-js": "1.19.0", "@tailwindcss/forms": "0.3.3", "autoprefixer": "10.3.6", "classnames": "2.3.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index bbf6091b..c2d2f2e3 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -188,10 +188,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.18.0": - version "1.18.0" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.18.0.tgz#687268d7cd68b44b92b86300d7c7f2a6e4df0b98" - integrity sha512-yBRHAMKHnF3kbzv0tpKB82kSow43wW5qXLK8ofg3V9NaaCyObSTO7wJfktWAtG/NBgkJOdUL+pV8dHBj0qvDkQ== +"@stripe/stripe-js@1.19.0": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.19.0.tgz#2704adeabcca4ac64d3a5168b2705b165b89e633" + integrity sha512-HycB9mnCCaontVCH9tnRoGVofp4H2c+m518e3g5vLVGmmHVI7qOSI71TGbJ0XoHdfFf2EN2HUAGMCNT5IiiuNQ== "@tailwindcss/forms@0.3.3": version "0.3.3" From 4de1f34f32306997f6e0bf19e4b68704d7e19794 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:08:10 +0000 Subject: [PATCH 009/564] Bump gatsby from 3.14.0 to 3.14.1 in /packages/website Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.14.0 to 3.14.1. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.0...gatsby@3.14.1) --- updated-dependencies: - dependency-name: gatsby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 430838dc..ef6830fb 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.0", + "gatsby": "^3.14.1", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c403fb06..1d9fed2e 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6460,10 +6460,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.0.tgz#06c27464f1a9d044169ec910d0c9d7ef44e0b1d8" - integrity sha512-ikXoVZ9LQO9lZBxVvQxrYkjhX1zz9/7/Iv/6WCt/UPdgYCWCKc6GWOqlbLKmjShM0fBxJHfjmiahNxuTzJIZsw== +gatsby@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.1.tgz#0b0edde45bedd18845ec338ca65b1e88d4de3384" + integrity sha512-6wt1MDMOfm6Zm8yiS8zDwjkth5spX7RorKKnYNNfZFyD0lztdql9jgAXFCxO0FxRDagDKxxfxj3cYyHHzPlalg== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" From 47976f6c4c97eb4e0dc6f81bb95ca45d5376c441 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:08:25 +0000 Subject: [PATCH 010/564] Bump cypress from 8.4.1 to 8.5.0 in /packages/website Bumps [cypress](https://github.com/cypress-io/cypress) from 8.4.1 to 8.5.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js) - [Commits](https://github.com/cypress-io/cypress/compare/v8.4.1...v8.5.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 430838dc..f002914e 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -66,7 +66,7 @@ }, "devDependencies": { "cross-env": "^7.0.3", - "cypress": "^8.4.1", + "cypress": "^8.5.0", "cypress-file-upload": "^5.0.8", "prettier": "^2.4.1" }, diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c403fb06..b801f8f2 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -4360,10 +4360,10 @@ cypress-file-upload@^5.0.8: resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== -cypress@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.4.1.tgz#8b5898bf49359cadc28f02ba05d51f63b8e3a717" - integrity sha512-itJXq0Vx3sXCUrDyBi2IUrkxVu/gTTp1VhjB5tzGgkeCR8Ae+/T8WV63rsZ7fS8Tpq7LPPXiyoM/sEdOX7cR6A== +cypress@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.5.0.tgz#5712ca170913f8344bf167301205c4217c1eb9bd" + integrity sha512-MMkXIS+Ro2KETn4gAlG3tIc/7FiljuuCZP0zpd9QsRG6MZSyZW/l1J3D4iQM6WHsVxuX4rFChn5jPFlC2tNSvQ== dependencies: "@cypress/request" "^2.88.6" "@cypress/xvfb" "^1.2.4" @@ -4399,6 +4399,7 @@ cypress@^8.4.1: minimist "^1.2.5" ospath "^1.2.2" pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" ramda "~0.27.1" request-progress "^3.0.0" supports-color "^8.1.1" @@ -10785,6 +10786,11 @@ proxy-addr@~2.0.5: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" From de12f2cdf6e61b369ff9ab5b3d10f2ee61663b74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:08:38 +0000 Subject: [PATCH 011/564] Bump stripe from 8.176.0 to 8.178.0 in /packages/dashboard Bumps [stripe](https://github.com/stripe/stripe-node) from 8.176.0 to 8.178.0. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v8.176.0...v8.178.0) --- updated-dependencies: - dependency-name: stripe dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ab74f41f..2c4c92b9 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -31,7 +31,7 @@ "react-dom": "17.0.2", "react-toastify": "8.0.2", "skynet-js": "3.0.2", - "stripe": "8.176.0", + "stripe": "8.178.0", "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.16", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index bbf6091b..29133ec8 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2902,10 +2902,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -stripe@8.176.0: - version "8.176.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.176.0.tgz#2f4980ab49acbfe6d67ecaddd54c05e20de9532c" - integrity sha512-0KCDo8TWFgeNWU7cPaqdjO2u2OSth0cmWYZmA7xsuxRCk7/lgWbJ/UbeSphx74cCIjFCmGuzDoNuNxqon9lEbg== +stripe@8.178.0: + version "8.178.0" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.178.0.tgz#89506b27501174eef12cb8ad57cc7d21c98b086a" + integrity sha512-Yk31NdIKf+MKTOdS2CTUIAHzUHOQwayoJFHBkrKGo7bJAlkPFzrIeOORH8SpduoXPZF8mq0JA7qNcFuFPBqabA== dependencies: "@types/node" ">=8.1.0" qs "^6.6.0" From 354044f929f1773dd4a353d27d3d206c6194d667 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:27:08 +0000 Subject: [PATCH 012/564] Bump @stripe/react-stripe-js from 1.4.1 to 1.5.0 in /packages/dashboard Bumps [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) from 1.4.1 to 1.5.0. - [Release notes](https://github.com/stripe/react-stripe-js/releases) - [Changelog](https://github.com/stripe/react-stripe-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/react-stripe-js/compare/v1.4.1...v1.5.0) --- updated-dependencies: - dependency-name: "@stripe/react-stripe-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 7f00cde3..1a0ce682 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -10,7 +10,7 @@ "dependencies": { "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", - "@stripe/react-stripe-js": "1.4.1", + "@stripe/react-stripe-js": "1.5.0", "@stripe/stripe-js": "1.19.0", "@tailwindcss/forms": "0.3.3", "autoprefixer": "10.3.6", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index aee6519d..5cd68986 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -181,10 +181,10 @@ dependencies: axios "^0.19.2" -"@stripe/react-stripe-js@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.4.1.tgz#884d59286fff00ba77389b32c045516f65d7a340" - integrity sha512-FjcVrhf72+9fUL3Lz3xi02ni9tzH1A1x6elXlr6tvBDgSD55oPJuodoP8eC7xTnBIKq0olF5uJvgtkJyDCdzjA== +"@stripe/react-stripe-js@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.5.0.tgz#7e4d80077e88e1f2c1f10ac255f2838d7c9488c2" + integrity sha512-A7+bNeb0O/kw3JdtMeiB6frokPcks5obi+TIjuFRXUMZ5o/o1Qe7eLgLnsb0KOO/g3KJqNCpHiYcKCLESZJJbQ== dependencies: prop-types "^15.7.2" From ec6cbe6e0b1af2cdaedb62bb7fc723d960af56e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 12:27:12 +0000 Subject: [PATCH 013/564] Bump @tailwindcss/forms from 0.3.3 to 0.3.4 in /packages/dashboard Bumps [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) from 0.3.3 to 0.3.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: "@tailwindcss/forms" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 7f00cde3..04cc649c 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -12,7 +12,7 @@ "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.4.1", "@stripe/stripe-js": "1.19.0", - "@tailwindcss/forms": "0.3.3", + "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.3.6", "classnames": "2.3.1", "clipboardy": "2.3.0", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index aee6519d..70f74377 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -193,10 +193,10 @@ resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.19.0.tgz#2704adeabcca4ac64d3a5168b2705b165b89e633" integrity sha512-HycB9mnCCaontVCH9tnRoGVofp4H2c+m518e3g5vLVGmmHVI7qOSI71TGbJ0XoHdfFf2EN2HUAGMCNT5IiiuNQ== -"@tailwindcss/forms@0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.3.3.tgz#a29d22668804f3dae293dcadbef1aa6315c45b64" - integrity sha512-U8Fi/gq4mSuaLyLtFISwuDYzPB73YzgozjxOIHsK6NXgg/IWD1FLaHbFlWmurAMyy98O+ao74ksdQefsquBV1Q== +"@tailwindcss/forms@0.3.4": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.3.4.tgz#e4939dc16450eccf4fd2029770096f38cbb556d4" + integrity sha512-vlAoBifNJUkagB+PAdW4aHMe4pKmSLroH398UPgIogBFc91D2VlHUxe4pjxQhiJl0Nfw53sHSJSQBSTQBZP3vA== dependencies: mini-svg-data-uri "^1.2.3" From 26a3e6a81d432d7da533b552046fa102be182775 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 5 Oct 2021 21:08:53 +0200 Subject: [PATCH 014/564] expose upload-concat header for tus --- docker/nginx/conf.d/include/cors-headers | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/nginx/conf.d/include/cors-headers b/docker/nginx/conf.d/include/cors-headers index 26f28fa5..58369b65 100644 --- a/docker/nginx/conf.d/include/cors-headers +++ b/docker/nginx/conf.d/include/cors-headers @@ -1,5 +1,5 @@ more_set_headers 'Access-Control-Allow-Origin: $http_origin'; more_set_headers 'Access-Control-Allow-Credentials: true'; more_set_headers 'Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE'; -more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; -more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range,ETag,Skynet-File-Metadata,Skynet-Skylink,Skynet-Proof,Skynet-Portal-Api,Skynet-Server-Api,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,location'; +more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,upload-concat,location'; +more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range,ETag,Skynet-File-Metadata,Skynet-Skylink,Skynet-Proof,Skynet-Portal-Api,Skynet-Server-Api,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,upload-concat,location'; From 3cded392ee33fb12853f734d6e17dc25b67f0c3a Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 5 Oct 2021 21:10:21 +0200 Subject: [PATCH 015/564] changelog for upload-concat header --- changelog/items/bugs-fixed/expose-upload-concat.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/bugs-fixed/expose-upload-concat.md diff --git a/changelog/items/bugs-fixed/expose-upload-concat.md b/changelog/items/bugs-fixed/expose-upload-concat.md new file mode 100644 index 00000000..b6466060 --- /dev/null +++ b/changelog/items/bugs-fixed/expose-upload-concat.md @@ -0,0 +1 @@ +- include tus header upload-concat in cors requests From 9026d56777700922a588e1e3d414cc294330a8e8 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 6 Oct 2021 13:09:10 +0200 Subject: [PATCH 016/564] fix health check script invalid syntax python lint job --- .github/workflows/python-lint.yml | 37 +++++++++ scripts/es_cleaner.py | 119 +++++++++++++++++++--------- setup-scripts/blocklist-airtable.py | 90 ++++++++++++++++----- setup-scripts/bot_utils.py | 16 +++- setup-scripts/funds-checker.py | 4 +- setup-scripts/health-checker.py | 21 +++-- setup-scripts/log-checker.py | 7 +- 7 files changed, 223 insertions(+), 71 deletions(-) create mode 100644 .github/workflows/python-lint.yml diff --git a/.github/workflows/python-lint.yml b/.github/workflows/python-lint.yml new file mode 100644 index 00000000..71cb6938 --- /dev/null +++ b/.github/workflows/python-lint.yml @@ -0,0 +1,37 @@ +name: Python Lint + +on: + push: + paths: + - "**.py" + +jobs: + black: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: x64 + + - run: pip install black + - run: black --check . + + flake8: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: x64 + + - run: pip install flake8 + + # E203: https://www.flake8rules.com/rules/E203.html - Whitespace before ':' + # E501: https://www.flake8rules.com/rules/E501.html - Line too long + # W503: https://www.flake8rules.com/rules/W503.html - Line break occurred before a binary operator + # W605: https://www.flake8rules.com/rules/W605.html - Invalid escape sequence + # E722: https://www.flake8rules.com/rules/E722.html - Do not use bare except, specify exception instead + - run: flake8 --max-line-length 88 --ignore E203,E501,W503,W605,E722 diff --git a/scripts/es_cleaner.py b/scripts/es_cleaner.py index 336704cf..48f2a0f3 100755 --- a/scripts/es_cleaner.py +++ b/scripts/es_cleaner.py @@ -6,45 +6,72 @@ import os import ssl import sys -TIMEOUT=120 +TIMEOUT = 120 + def main(): if len(sys.argv) != 3: - print('USAGE: [INDEX_PREFIX=(default "")] [ARCHIVE=(default false)] ... {} NUM_OF_DAYS http://HOSTNAME[:PORT]'.format(sys.argv[0])) - print('NUM_OF_DAYS ... delete indices that are older than the given number of days.') - print('HOSTNAME ... specifies which Elasticsearch hosts URL to search and delete indices from.') - print('TIMEOUT ... number of seconds to wait for master node response.'.format(TIMEOUT)) - print('INDEX_PREFIX ... specifies index prefix.') - print('INDEX_DATE_SEPARATOR ... specifies index date separator.') - print('ARCHIVE ... specifies whether to remove archive indices (only works for rollover) (default false).') - print('ROLLOVER ... specifies whether to remove indices created by rollover (default false).') - print('ES_USERNAME ... The username required by Elasticsearch.') - print('ES_PASSWORD ... The password required by Elasticsearch.') - print('ES_TLS ... enable TLS (default false).') - print('ES_TLS_CA ... Path to TLS CA file.') - print('ES_TLS_CERT ... Path to TLS certificate file.') - print('ES_TLS_KEY ... Path to TLS key file.') - print('ES_TLS_SKIP_HOST_VERIFY ... (insecure) Skip server\'s certificate chain and host name verification.') + print( + 'USAGE: [INDEX_PREFIX=(default "")] [ARCHIVE=(default false)] ... {} NUM_OF_DAYS http://HOSTNAME[:PORT]'.format( + sys.argv[0] + ) + ) + print( + "NUM_OF_DAYS ... delete indices that are older than the given number of days." + ) + print( + "HOSTNAME ... specifies which Elasticsearch hosts URL to search and delete indices from." + ) + print( + "TIMEOUT ... number of seconds to wait for master node response, default: {}".format( + TIMEOUT + ) + ) + print("INDEX_PREFIX ... specifies index prefix.") + print("INDEX_DATE_SEPARATOR ... specifies index date separator.") + print( + "ARCHIVE ... specifies whether to remove archive indices (only works for rollover) (default false)." + ) + print( + "ROLLOVER ... specifies whether to remove indices created by rollover (default false)." + ) + print("ES_USERNAME ... The username required by Elasticsearch.") + print("ES_PASSWORD ... The password required by Elasticsearch.") + print("ES_TLS ... enable TLS (default false).") + print("ES_TLS_CA ... Path to TLS CA file.") + print("ES_TLS_CERT ... Path to TLS certificate file.") + print("ES_TLS_KEY ... Path to TLS key file.") + print( + "ES_TLS_SKIP_HOST_VERIFY ... (insecure) Skip server's certificate chain and host name verification." + ) sys.exit(1) - client = create_client(os.getenv("ES_USERNAME"), os.getenv("ES_PASSWORD"), str2bool(os.getenv("ES_TLS", 'false')), os.getenv("ES_TLS_CA"), os.getenv("ES_TLS_CERT"), os.getenv("ES_TLS_KEY"), str2bool(os.getenv("ES_TLS_SKIP_HOST_VERIFY", 'false'))) + client = create_client( + os.getenv("ES_USERNAME"), + os.getenv("ES_PASSWORD"), + str2bool(os.getenv("ES_TLS", "false")), + os.getenv("ES_TLS_CA"), + os.getenv("ES_TLS_CERT"), + os.getenv("ES_TLS_KEY"), + str2bool(os.getenv("ES_TLS_SKIP_HOST_VERIFY", "false")), + ) ilo = curator.IndexList(client) - empty_list(ilo, 'Elasticsearch has no indices') + empty_list(ilo, "Elasticsearch has no indices") - prefix = os.getenv("INDEX_PREFIX", '') - if prefix != '': - prefix += '-' - separator = os.getenv("INDEX_DATE_SEPARATOR", '-') + prefix = os.getenv("INDEX_PREFIX", "") + if prefix != "": + prefix += "-" + separator = os.getenv("INDEX_DATE_SEPARATOR", "-") - if str2bool(os.getenv("ARCHIVE", 'false')): + if str2bool(os.getenv("ARCHIVE", "false")): filter_archive_indices_rollover(ilo, prefix) else: - if str2bool(os.getenv("ROLLOVER", 'false')): + if str2bool(os.getenv("ROLLOVER", "false")): filter_main_indices_rollover(ilo, prefix) else: filter_main_indices(ilo, prefix, separator) - empty_list(ilo, 'No indices to delete') + empty_list(ilo, "No indices to delete") for index in ilo.working_list(): print("Removing", index) @@ -57,32 +84,50 @@ def filter_main_indices(ilo, prefix, separator): date_regex = "\d{4}" + separator + "\d{2}" + separator + "\d{2}" time_string = "%Y" + separator + "%m" + separator + "%d" - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-(span|service|dependencies)-" + date_regex) + ilo.filter_by_regex( + kind="regex", value=prefix + "jaeger-(span|service|dependencies)-" + date_regex + ) empty_list(ilo, "No indices to delete") # This excludes archive index as we use source='name' # source `creation_date` would include archive index - ilo.filter_by_age(source='name', direction='older', timestring=time_string, unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="name", + direction="older", + timestring=time_string, + unit="days", + unit_count=int(sys.argv[1]), + ) def filter_main_indices_rollover(ilo, prefix): - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-(span|service)-\d{6}") + ilo.filter_by_regex(kind="regex", value=prefix + "jaeger-(span|service)-\d{6}") empty_list(ilo, "No indices to delete") # do not remove active write indices - ilo.filter_by_alias(aliases=[prefix + 'jaeger-span-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-span-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_alias(aliases=[prefix + 'jaeger-service-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-service-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_age(source='creation_date', direction='older', unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="creation_date", + direction="older", + unit="days", + unit_count=int(sys.argv[1]), + ) def filter_archive_indices_rollover(ilo, prefix): # Remove only rollover archive indices # Do not remove active write archive index - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-span-archive-\d{6}") + ilo.filter_by_regex(kind="regex", value=prefix + "jaeger-span-archive-\d{6}") empty_list(ilo, "No indices to delete") - ilo.filter_by_alias(aliases=[prefix + 'jaeger-span-archive-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-span-archive-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_age(source='creation_date', direction='older', unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="creation_date", + direction="older", + unit="days", + unit_count=int(sys.argv[1]), + ) def empty_list(ilo, error_msg): @@ -94,7 +139,7 @@ def empty_list(ilo, error_msg): def str2bool(v): - return v.lower() in ('true', '1') + return v.lower() in ("true", "1") def create_client(username, password, tls, ca, cert, key, skipHostVerify): @@ -105,7 +150,9 @@ def create_client(username, password, tls, ca, cert, key, skipHostVerify): context.check_hostname = False context.verify_mode = ssl.CERT_NONE if username is not None and password is not None: - return elasticsearch.Elasticsearch(sys.argv[2:], http_auth=(username, password), ssl_context=context) + return elasticsearch.Elasticsearch( + sys.argv[2:], http_auth=(username, password), ssl_context=context + ) elif tls: context.load_cert_chain(certfile=cert, keyfile=key) return elasticsearch.Elasticsearch(sys.argv[2:], ssl_context=context) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index ba8df897..1d4c28ce 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -1,10 +1,16 @@ #!/usr/bin/env python3 -import traceback, os, re, asyncio, requests, json from bot_utils import setup, send_msg from random import randint from time import sleep +import traceback +import os +import re +import asyncio +import requests +import json + setup() AIRTABLE_API_KEY = os.getenv("AIRTABLE_API_KEY") @@ -12,6 +18,7 @@ AIRTABLE_BASE = os.getenv("AIRTABLE_BASE", "app89plJvA9EqTJEc") AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE", "Table%201") AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD", "Link") + async def run_checks(): try: await block_skylinks_from_airtable() @@ -31,10 +38,22 @@ async def block_skylinks_from_airtable(): offset = None retry = 0 while len(skylinks) == 0 or offset: - print("Requesting a batch of records from Airtable with " + (offset if offset else "empty") + " offset" + (" (retry " + str(retry) + ")" if retry else "")) - query = "&".join(["fields%5B%5D=" + AIRTABLE_FIELD, ("offset=" + offset) if offset else ""]) + print( + "Requesting a batch of records from Airtable with " + + (offset if offset else "empty") + + " offset" + + (" (retry " + str(retry) + ")" if retry else "") + ) + query = "&".join( + ["fields%5B%5D=" + AIRTABLE_FIELD, ("offset=" + offset) if offset else ""] + ) response = requests.get( - "https://api.airtable.com/v0/" + AIRTABLE_BASE + "/" + AIRTABLE_TABLE + "?" + query, + "https://api.airtable.com/v0/" + + AIRTABLE_BASE + + "/" + + AIRTABLE_TABLE + + "?" + + query, headers=headers, ) @@ -44,40 +63,62 @@ async def block_skylinks_from_airtable(): if response.status_code == 429: if retry < 100: retry = retry + 1 - sleep(randint(1,10)) + sleep(randint(1, 10)) continue else: - return await send_msg("Airtable: too many retries, aborting!", force_notify=True) + return await send_msg( + "Airtable: too many retries, aborting!", force_notify=True + ) retry = 0 # reset retry counter if response.status_code != 200: status_code = str(response.status_code) response_text = response.text or "empty response" - message = "Airtable blocklist integration responded with code " + status_code + ": " + response_text + message = ( + "Airtable blocklist integration responded with code " + + status_code + + ": " + + response_text + ) return await send_msg(message, force_notify=False) data = response.json() if len(data["records"]) == 0: - return print("Airtable returned 0 records - make sure your configuration is correct") + return print( + "Airtable returned 0 records - make sure your configuration is correct" + ) - skylinks = skylinks + [entry["fields"].get(AIRTABLE_FIELD, "") for entry in data["records"]] - skylinks = [skylink for skylink in skylinks if skylink] # filter empty skylinks, most likely empty rows + skylinks = skylinks + [ + entry["fields"].get(AIRTABLE_FIELD, "") for entry in data["records"] + ] + skylinks = [ + skylink for skylink in skylinks if skylink + ] # filter empty skylinks, most likely empty rows offset = data.get("offset") print("Airtable returned total " + str(len(skylinks)) + " skylinks to block") skylinks_returned = skylinks - skylinks = [skylink for skylink in skylinks if re.search("^[a-zA-Z0-9_-]{46}$", skylink)] + skylinks = [ + skylink for skylink in skylinks if re.search("^[a-zA-Z0-9_-]{46}$", skylink) + ] if len(skylinks_returned) != len(skylinks): - invalid_skylinks = [str(skylink) for skylink in list(set(skylinks_returned) - set(skylinks))] - message = str(len(invalid_skylinks)) + " of the skylinks returned from Airtable are not valid" + invalid_skylinks = [ + str(skylink) for skylink in list(set(skylinks_returned) - set(skylinks)) + ] + message = ( + str(len(invalid_skylinks)) + + " of the skylinks returned from Airtable are not valid" + ) await send_msg(message, file=("\n".join(invalid_skylinks))) apipassword = exec("docker exec sia cat /sia-data/apipassword") - ipaddress = exec("docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sia") + ipaddress = exec( + "docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sia" + ) print("Sending blocklist request to siad") response = requests.post( @@ -92,7 +133,12 @@ async def block_skylinks_from_airtable(): else: status_code = str(response.status_code) response_text = response.text or "empty response" - message = "Siad blocklist endpoint responded with code " + status_code + ": " + response_text + message = ( + "Siad blocklist endpoint responded with code " + + status_code + + ": " + + response_text + ) return await send_msg(message, force_notify=False) print("Searching nginx cache for blocked files") @@ -101,15 +147,23 @@ async def block_skylinks_from_airtable(): for i in range(0, len(skylinks), batch_size): cached_files_command = ( "find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: (" - + "|".join(skylinks[i:i+batch_size]) + + "|".join(skylinks[i : i + batch_size]) + ")'" ) - cached_files_count+= int(exec('docker exec nginx bash -c "' + cached_files_command + ' | xargs -r rm -v | wc -l"')) + cached_files_count += int( + exec( + 'docker exec nginx bash -c "' + + cached_files_command + + ' | xargs -r rm -v | wc -l"' + ) + ) if cached_files_count == 0: return print("No nginx cached files matching blocked skylinks were found") - message = "Purged " + str(cached_files_count) + " blocklisted files from nginx cache" + message = ( + "Purged " + str(cached_files_count) + " blocklisted files from nginx cache" + ) return await send_msg(message) diff --git a/setup-scripts/bot_utils.py b/setup-scripts/bot_utils.py index a015400f..69b6c98f 100644 --- a/setup-scripts/bot_utils.py +++ b/setup-scripts/bot_utils.py @@ -1,12 +1,19 @@ #!/usr/bin/env python3 -from urllib.request import urlopen, Request from dotenv import load_dotenv from pathlib import Path from datetime import datetime from discord_webhook import DiscordWebhook -import urllib, json, os, traceback, sys, re, subprocess, requests, io +import urllib +import json +import os +import traceback +import sys +import re +import subprocess +import requests +import io # Load dotenv file if possible. # TODO: change all scripts to use named flags/params @@ -25,6 +32,7 @@ sc_precision = 10 ** 24 # Environment variable globals setup_done = False + # find out local siad ip by inspecting its docker container def get_docker_container_ip(container_name): ip_regex = re.compile(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$") @@ -41,6 +49,7 @@ api_endpoint = "http://{}:{}".format( get_docker_container_ip(CONTAINER_NAME), os.getenv("API_PORT", "9980") ) + # find siad api password by getting it out of the docker container def get_api_password(): api_password_regex = re.compile(r"^\w+$") @@ -56,7 +65,8 @@ def setup(): setup_done = True -# send_msg sends the msg to the specified discord channel. If force_notify is set to true it adds "@here". +# send_msg sends the msg to the specified discord channel. +# If force_notify is set to true it adds "@here". async def send_msg(msg, force_notify=False, file=None): try: webhook_url = os.getenv("DISCORD_WEBHOOK_URL") diff --git a/setup-scripts/funds-checker.py b/setup-scripts/funds-checker.py index ebe1ece3..fa98e55b 100755 --- a/setup-scripts/funds-checker.py +++ b/setup-scripts/funds-checker.py @@ -5,9 +5,11 @@ funds-checker runs simple checks on a portal node using the siad API and dispatches messages to a Discord channel. """ -import traceback, asyncio, os from bot_utils import setup, send_msg, siad, sc_precision +import traceback +import asyncio + setup() diff --git a/setup-scripts/health-checker.py b/setup-scripts/health-checker.py index e88460df..7c5e9d94 100755 --- a/setup-scripts/health-checker.py +++ b/setup-scripts/health-checker.py @@ -105,7 +105,7 @@ async def check_disk(): ) inspect = os.popen("docker inspect sia").read().strip() inspect_json = json.loads(inspect) - if inspect_json[0]["State"]["Running"] == True: + if inspect_json[0]["State"]["Running"] is True: # mark portal as unhealthy os.popen("docker exec health-check cli/disable") time.sleep(300) # wait 5 minutes to propagate dns changes @@ -133,7 +133,10 @@ async def check_health(): res = requests.get(endpoint + "/health-check", verify=False) json_check = res.json() - server_failure = res.status_code is not requests.codes["ok"] and json_check["disabled"] == False: + server_failure = ( + res.status_code is not requests.codes["ok"] + and json_check["disabled"] is False + ) res = requests.get(endpoint + "/health-check/critical", verify=False) json_critical = res.json() @@ -171,12 +174,12 @@ async def check_health(): bad = False for check in critical["checks"]: critical_checks_total += 1 - if check["up"] == False: + if check["up"] is False: critical_checks_failed += 1 bad = True if bad: critical["checks"] = [ - check for check in critical["checks"] if check["up"] == False + check for check in critical["checks"] if check["up"] is False ] failed_records.append(critical) @@ -187,12 +190,12 @@ async def check_health(): bad = False for check in extended["checks"]: extended_checks_total += 1 - if check["up"] == False: + if check["up"] is False: extended_checks_failed += 1 bad = True if bad: extended["checks"] = [ - check for check in extended["checks"] if check["up"] == False + check for check in extended["checks"] if check["up"] is False ] failed_records.append(extended) @@ -227,11 +230,7 @@ async def check_health(): failed_records_file = json.dumps(failed_records, indent=2) # send a message if we force notification, there is a failures dump or just once daily (heartbeat) on 1 AM - if ( - force_notify - or failed_records_file - or datetime.utcnow().hour == 1 - ): + if force_notify or failed_records_file or datetime.utcnow().hour == 1: return await send_msg( message, file=failed_records_file, force_notify=force_notify ) diff --git a/setup-scripts/log-checker.py b/setup-scripts/log-checker.py index e5f21f4e..90c242df 100755 --- a/setup-scripts/log-checker.py +++ b/setup-scripts/log-checker.py @@ -1,9 +1,12 @@ #!/usr/bin/env python3 -import sys, traceback, io, os, asyncio -from bot_utils import setup, send_msg, upload_to_skynet +from bot_utils import setup, send_msg from subprocess import Popen, PIPE +import sys +import traceback +import asyncio + """ log-checker checks the docker logs for siad. From 9ebaddc47686c1595c46b68540474163ac7bd255 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 6 Oct 2021 14:36:46 +0200 Subject: [PATCH 017/564] Merge pull request #1260 from SkynetLabs/fix-health-check-script fix health check script invalid syntax --- .github/workflows/python-lint.yml | 37 +++++++++ scripts/es_cleaner.py | 119 +++++++++++++++++++--------- setup-scripts/blocklist-airtable.py | 90 ++++++++++++++++----- setup-scripts/bot_utils.py | 16 +++- setup-scripts/funds-checker.py | 4 +- setup-scripts/health-checker.py | 21 +++-- setup-scripts/log-checker.py | 7 +- 7 files changed, 223 insertions(+), 71 deletions(-) create mode 100644 .github/workflows/python-lint.yml diff --git a/.github/workflows/python-lint.yml b/.github/workflows/python-lint.yml new file mode 100644 index 00000000..71cb6938 --- /dev/null +++ b/.github/workflows/python-lint.yml @@ -0,0 +1,37 @@ +name: Python Lint + +on: + push: + paths: + - "**.py" + +jobs: + black: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: x64 + + - run: pip install black + - run: black --check . + + flake8: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: x64 + + - run: pip install flake8 + + # E203: https://www.flake8rules.com/rules/E203.html - Whitespace before ':' + # E501: https://www.flake8rules.com/rules/E501.html - Line too long + # W503: https://www.flake8rules.com/rules/W503.html - Line break occurred before a binary operator + # W605: https://www.flake8rules.com/rules/W605.html - Invalid escape sequence + # E722: https://www.flake8rules.com/rules/E722.html - Do not use bare except, specify exception instead + - run: flake8 --max-line-length 88 --ignore E203,E501,W503,W605,E722 diff --git a/scripts/es_cleaner.py b/scripts/es_cleaner.py index 336704cf..48f2a0f3 100755 --- a/scripts/es_cleaner.py +++ b/scripts/es_cleaner.py @@ -6,45 +6,72 @@ import os import ssl import sys -TIMEOUT=120 +TIMEOUT = 120 + def main(): if len(sys.argv) != 3: - print('USAGE: [INDEX_PREFIX=(default "")] [ARCHIVE=(default false)] ... {} NUM_OF_DAYS http://HOSTNAME[:PORT]'.format(sys.argv[0])) - print('NUM_OF_DAYS ... delete indices that are older than the given number of days.') - print('HOSTNAME ... specifies which Elasticsearch hosts URL to search and delete indices from.') - print('TIMEOUT ... number of seconds to wait for master node response.'.format(TIMEOUT)) - print('INDEX_PREFIX ... specifies index prefix.') - print('INDEX_DATE_SEPARATOR ... specifies index date separator.') - print('ARCHIVE ... specifies whether to remove archive indices (only works for rollover) (default false).') - print('ROLLOVER ... specifies whether to remove indices created by rollover (default false).') - print('ES_USERNAME ... The username required by Elasticsearch.') - print('ES_PASSWORD ... The password required by Elasticsearch.') - print('ES_TLS ... enable TLS (default false).') - print('ES_TLS_CA ... Path to TLS CA file.') - print('ES_TLS_CERT ... Path to TLS certificate file.') - print('ES_TLS_KEY ... Path to TLS key file.') - print('ES_TLS_SKIP_HOST_VERIFY ... (insecure) Skip server\'s certificate chain and host name verification.') + print( + 'USAGE: [INDEX_PREFIX=(default "")] [ARCHIVE=(default false)] ... {} NUM_OF_DAYS http://HOSTNAME[:PORT]'.format( + sys.argv[0] + ) + ) + print( + "NUM_OF_DAYS ... delete indices that are older than the given number of days." + ) + print( + "HOSTNAME ... specifies which Elasticsearch hosts URL to search and delete indices from." + ) + print( + "TIMEOUT ... number of seconds to wait for master node response, default: {}".format( + TIMEOUT + ) + ) + print("INDEX_PREFIX ... specifies index prefix.") + print("INDEX_DATE_SEPARATOR ... specifies index date separator.") + print( + "ARCHIVE ... specifies whether to remove archive indices (only works for rollover) (default false)." + ) + print( + "ROLLOVER ... specifies whether to remove indices created by rollover (default false)." + ) + print("ES_USERNAME ... The username required by Elasticsearch.") + print("ES_PASSWORD ... The password required by Elasticsearch.") + print("ES_TLS ... enable TLS (default false).") + print("ES_TLS_CA ... Path to TLS CA file.") + print("ES_TLS_CERT ... Path to TLS certificate file.") + print("ES_TLS_KEY ... Path to TLS key file.") + print( + "ES_TLS_SKIP_HOST_VERIFY ... (insecure) Skip server's certificate chain and host name verification." + ) sys.exit(1) - client = create_client(os.getenv("ES_USERNAME"), os.getenv("ES_PASSWORD"), str2bool(os.getenv("ES_TLS", 'false')), os.getenv("ES_TLS_CA"), os.getenv("ES_TLS_CERT"), os.getenv("ES_TLS_KEY"), str2bool(os.getenv("ES_TLS_SKIP_HOST_VERIFY", 'false'))) + client = create_client( + os.getenv("ES_USERNAME"), + os.getenv("ES_PASSWORD"), + str2bool(os.getenv("ES_TLS", "false")), + os.getenv("ES_TLS_CA"), + os.getenv("ES_TLS_CERT"), + os.getenv("ES_TLS_KEY"), + str2bool(os.getenv("ES_TLS_SKIP_HOST_VERIFY", "false")), + ) ilo = curator.IndexList(client) - empty_list(ilo, 'Elasticsearch has no indices') + empty_list(ilo, "Elasticsearch has no indices") - prefix = os.getenv("INDEX_PREFIX", '') - if prefix != '': - prefix += '-' - separator = os.getenv("INDEX_DATE_SEPARATOR", '-') + prefix = os.getenv("INDEX_PREFIX", "") + if prefix != "": + prefix += "-" + separator = os.getenv("INDEX_DATE_SEPARATOR", "-") - if str2bool(os.getenv("ARCHIVE", 'false')): + if str2bool(os.getenv("ARCHIVE", "false")): filter_archive_indices_rollover(ilo, prefix) else: - if str2bool(os.getenv("ROLLOVER", 'false')): + if str2bool(os.getenv("ROLLOVER", "false")): filter_main_indices_rollover(ilo, prefix) else: filter_main_indices(ilo, prefix, separator) - empty_list(ilo, 'No indices to delete') + empty_list(ilo, "No indices to delete") for index in ilo.working_list(): print("Removing", index) @@ -57,32 +84,50 @@ def filter_main_indices(ilo, prefix, separator): date_regex = "\d{4}" + separator + "\d{2}" + separator + "\d{2}" time_string = "%Y" + separator + "%m" + separator + "%d" - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-(span|service|dependencies)-" + date_regex) + ilo.filter_by_regex( + kind="regex", value=prefix + "jaeger-(span|service|dependencies)-" + date_regex + ) empty_list(ilo, "No indices to delete") # This excludes archive index as we use source='name' # source `creation_date` would include archive index - ilo.filter_by_age(source='name', direction='older', timestring=time_string, unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="name", + direction="older", + timestring=time_string, + unit="days", + unit_count=int(sys.argv[1]), + ) def filter_main_indices_rollover(ilo, prefix): - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-(span|service)-\d{6}") + ilo.filter_by_regex(kind="regex", value=prefix + "jaeger-(span|service)-\d{6}") empty_list(ilo, "No indices to delete") # do not remove active write indices - ilo.filter_by_alias(aliases=[prefix + 'jaeger-span-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-span-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_alias(aliases=[prefix + 'jaeger-service-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-service-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_age(source='creation_date', direction='older', unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="creation_date", + direction="older", + unit="days", + unit_count=int(sys.argv[1]), + ) def filter_archive_indices_rollover(ilo, prefix): # Remove only rollover archive indices # Do not remove active write archive index - ilo.filter_by_regex(kind='regex', value=prefix + "jaeger-span-archive-\d{6}") + ilo.filter_by_regex(kind="regex", value=prefix + "jaeger-span-archive-\d{6}") empty_list(ilo, "No indices to delete") - ilo.filter_by_alias(aliases=[prefix + 'jaeger-span-archive-write'], exclude=True) + ilo.filter_by_alias(aliases=[prefix + "jaeger-span-archive-write"], exclude=True) empty_list(ilo, "No indices to delete") - ilo.filter_by_age(source='creation_date', direction='older', unit='days', unit_count=int(sys.argv[1])) + ilo.filter_by_age( + source="creation_date", + direction="older", + unit="days", + unit_count=int(sys.argv[1]), + ) def empty_list(ilo, error_msg): @@ -94,7 +139,7 @@ def empty_list(ilo, error_msg): def str2bool(v): - return v.lower() in ('true', '1') + return v.lower() in ("true", "1") def create_client(username, password, tls, ca, cert, key, skipHostVerify): @@ -105,7 +150,9 @@ def create_client(username, password, tls, ca, cert, key, skipHostVerify): context.check_hostname = False context.verify_mode = ssl.CERT_NONE if username is not None and password is not None: - return elasticsearch.Elasticsearch(sys.argv[2:], http_auth=(username, password), ssl_context=context) + return elasticsearch.Elasticsearch( + sys.argv[2:], http_auth=(username, password), ssl_context=context + ) elif tls: context.load_cert_chain(certfile=cert, keyfile=key) return elasticsearch.Elasticsearch(sys.argv[2:], ssl_context=context) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index ba8df897..1d4c28ce 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -1,10 +1,16 @@ #!/usr/bin/env python3 -import traceback, os, re, asyncio, requests, json from bot_utils import setup, send_msg from random import randint from time import sleep +import traceback +import os +import re +import asyncio +import requests +import json + setup() AIRTABLE_API_KEY = os.getenv("AIRTABLE_API_KEY") @@ -12,6 +18,7 @@ AIRTABLE_BASE = os.getenv("AIRTABLE_BASE", "app89plJvA9EqTJEc") AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE", "Table%201") AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD", "Link") + async def run_checks(): try: await block_skylinks_from_airtable() @@ -31,10 +38,22 @@ async def block_skylinks_from_airtable(): offset = None retry = 0 while len(skylinks) == 0 or offset: - print("Requesting a batch of records from Airtable with " + (offset if offset else "empty") + " offset" + (" (retry " + str(retry) + ")" if retry else "")) - query = "&".join(["fields%5B%5D=" + AIRTABLE_FIELD, ("offset=" + offset) if offset else ""]) + print( + "Requesting a batch of records from Airtable with " + + (offset if offset else "empty") + + " offset" + + (" (retry " + str(retry) + ")" if retry else "") + ) + query = "&".join( + ["fields%5B%5D=" + AIRTABLE_FIELD, ("offset=" + offset) if offset else ""] + ) response = requests.get( - "https://api.airtable.com/v0/" + AIRTABLE_BASE + "/" + AIRTABLE_TABLE + "?" + query, + "https://api.airtable.com/v0/" + + AIRTABLE_BASE + + "/" + + AIRTABLE_TABLE + + "?" + + query, headers=headers, ) @@ -44,40 +63,62 @@ async def block_skylinks_from_airtable(): if response.status_code == 429: if retry < 100: retry = retry + 1 - sleep(randint(1,10)) + sleep(randint(1, 10)) continue else: - return await send_msg("Airtable: too many retries, aborting!", force_notify=True) + return await send_msg( + "Airtable: too many retries, aborting!", force_notify=True + ) retry = 0 # reset retry counter if response.status_code != 200: status_code = str(response.status_code) response_text = response.text or "empty response" - message = "Airtable blocklist integration responded with code " + status_code + ": " + response_text + message = ( + "Airtable blocklist integration responded with code " + + status_code + + ": " + + response_text + ) return await send_msg(message, force_notify=False) data = response.json() if len(data["records"]) == 0: - return print("Airtable returned 0 records - make sure your configuration is correct") + return print( + "Airtable returned 0 records - make sure your configuration is correct" + ) - skylinks = skylinks + [entry["fields"].get(AIRTABLE_FIELD, "") for entry in data["records"]] - skylinks = [skylink for skylink in skylinks if skylink] # filter empty skylinks, most likely empty rows + skylinks = skylinks + [ + entry["fields"].get(AIRTABLE_FIELD, "") for entry in data["records"] + ] + skylinks = [ + skylink for skylink in skylinks if skylink + ] # filter empty skylinks, most likely empty rows offset = data.get("offset") print("Airtable returned total " + str(len(skylinks)) + " skylinks to block") skylinks_returned = skylinks - skylinks = [skylink for skylink in skylinks if re.search("^[a-zA-Z0-9_-]{46}$", skylink)] + skylinks = [ + skylink for skylink in skylinks if re.search("^[a-zA-Z0-9_-]{46}$", skylink) + ] if len(skylinks_returned) != len(skylinks): - invalid_skylinks = [str(skylink) for skylink in list(set(skylinks_returned) - set(skylinks))] - message = str(len(invalid_skylinks)) + " of the skylinks returned from Airtable are not valid" + invalid_skylinks = [ + str(skylink) for skylink in list(set(skylinks_returned) - set(skylinks)) + ] + message = ( + str(len(invalid_skylinks)) + + " of the skylinks returned from Airtable are not valid" + ) await send_msg(message, file=("\n".join(invalid_skylinks))) apipassword = exec("docker exec sia cat /sia-data/apipassword") - ipaddress = exec("docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sia") + ipaddress = exec( + "docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sia" + ) print("Sending blocklist request to siad") response = requests.post( @@ -92,7 +133,12 @@ async def block_skylinks_from_airtable(): else: status_code = str(response.status_code) response_text = response.text or "empty response" - message = "Siad blocklist endpoint responded with code " + status_code + ": " + response_text + message = ( + "Siad blocklist endpoint responded with code " + + status_code + + ": " + + response_text + ) return await send_msg(message, force_notify=False) print("Searching nginx cache for blocked files") @@ -101,15 +147,23 @@ async def block_skylinks_from_airtable(): for i in range(0, len(skylinks), batch_size): cached_files_command = ( "find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: (" - + "|".join(skylinks[i:i+batch_size]) + + "|".join(skylinks[i : i + batch_size]) + ")'" ) - cached_files_count+= int(exec('docker exec nginx bash -c "' + cached_files_command + ' | xargs -r rm -v | wc -l"')) + cached_files_count += int( + exec( + 'docker exec nginx bash -c "' + + cached_files_command + + ' | xargs -r rm -v | wc -l"' + ) + ) if cached_files_count == 0: return print("No nginx cached files matching blocked skylinks were found") - message = "Purged " + str(cached_files_count) + " blocklisted files from nginx cache" + message = ( + "Purged " + str(cached_files_count) + " blocklisted files from nginx cache" + ) return await send_msg(message) diff --git a/setup-scripts/bot_utils.py b/setup-scripts/bot_utils.py index a015400f..69b6c98f 100644 --- a/setup-scripts/bot_utils.py +++ b/setup-scripts/bot_utils.py @@ -1,12 +1,19 @@ #!/usr/bin/env python3 -from urllib.request import urlopen, Request from dotenv import load_dotenv from pathlib import Path from datetime import datetime from discord_webhook import DiscordWebhook -import urllib, json, os, traceback, sys, re, subprocess, requests, io +import urllib +import json +import os +import traceback +import sys +import re +import subprocess +import requests +import io # Load dotenv file if possible. # TODO: change all scripts to use named flags/params @@ -25,6 +32,7 @@ sc_precision = 10 ** 24 # Environment variable globals setup_done = False + # find out local siad ip by inspecting its docker container def get_docker_container_ip(container_name): ip_regex = re.compile(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$") @@ -41,6 +49,7 @@ api_endpoint = "http://{}:{}".format( get_docker_container_ip(CONTAINER_NAME), os.getenv("API_PORT", "9980") ) + # find siad api password by getting it out of the docker container def get_api_password(): api_password_regex = re.compile(r"^\w+$") @@ -56,7 +65,8 @@ def setup(): setup_done = True -# send_msg sends the msg to the specified discord channel. If force_notify is set to true it adds "@here". +# send_msg sends the msg to the specified discord channel. +# If force_notify is set to true it adds "@here". async def send_msg(msg, force_notify=False, file=None): try: webhook_url = os.getenv("DISCORD_WEBHOOK_URL") diff --git a/setup-scripts/funds-checker.py b/setup-scripts/funds-checker.py index ebe1ece3..fa98e55b 100755 --- a/setup-scripts/funds-checker.py +++ b/setup-scripts/funds-checker.py @@ -5,9 +5,11 @@ funds-checker runs simple checks on a portal node using the siad API and dispatches messages to a Discord channel. """ -import traceback, asyncio, os from bot_utils import setup, send_msg, siad, sc_precision +import traceback +import asyncio + setup() diff --git a/setup-scripts/health-checker.py b/setup-scripts/health-checker.py index e88460df..7c5e9d94 100755 --- a/setup-scripts/health-checker.py +++ b/setup-scripts/health-checker.py @@ -105,7 +105,7 @@ async def check_disk(): ) inspect = os.popen("docker inspect sia").read().strip() inspect_json = json.loads(inspect) - if inspect_json[0]["State"]["Running"] == True: + if inspect_json[0]["State"]["Running"] is True: # mark portal as unhealthy os.popen("docker exec health-check cli/disable") time.sleep(300) # wait 5 minutes to propagate dns changes @@ -133,7 +133,10 @@ async def check_health(): res = requests.get(endpoint + "/health-check", verify=False) json_check = res.json() - server_failure = res.status_code is not requests.codes["ok"] and json_check["disabled"] == False: + server_failure = ( + res.status_code is not requests.codes["ok"] + and json_check["disabled"] is False + ) res = requests.get(endpoint + "/health-check/critical", verify=False) json_critical = res.json() @@ -171,12 +174,12 @@ async def check_health(): bad = False for check in critical["checks"]: critical_checks_total += 1 - if check["up"] == False: + if check["up"] is False: critical_checks_failed += 1 bad = True if bad: critical["checks"] = [ - check for check in critical["checks"] if check["up"] == False + check for check in critical["checks"] if check["up"] is False ] failed_records.append(critical) @@ -187,12 +190,12 @@ async def check_health(): bad = False for check in extended["checks"]: extended_checks_total += 1 - if check["up"] == False: + if check["up"] is False: extended_checks_failed += 1 bad = True if bad: extended["checks"] = [ - check for check in extended["checks"] if check["up"] == False + check for check in extended["checks"] if check["up"] is False ] failed_records.append(extended) @@ -227,11 +230,7 @@ async def check_health(): failed_records_file = json.dumps(failed_records, indent=2) # send a message if we force notification, there is a failures dump or just once daily (heartbeat) on 1 AM - if ( - force_notify - or failed_records_file - or datetime.utcnow().hour == 1 - ): + if force_notify or failed_records_file or datetime.utcnow().hour == 1: return await send_msg( message, file=failed_records_file, force_notify=force_notify ) diff --git a/setup-scripts/log-checker.py b/setup-scripts/log-checker.py index e5f21f4e..90c242df 100755 --- a/setup-scripts/log-checker.py +++ b/setup-scripts/log-checker.py @@ -1,9 +1,12 @@ #!/usr/bin/env python3 -import sys, traceback, io, os, asyncio -from bot_utils import setup, send_msg, upload_to_skynet +from bot_utils import setup, send_msg from subprocess import Popen, PIPE +import sys +import traceback +import asyncio + """ log-checker checks the docker logs for siad. From 08d02dfd6beb0ad4135f57d933123a419c117233 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 7 Oct 2021 11:43:09 +0200 Subject: [PATCH 018/564] Move MongoDB to a separate service. --- dc | 7 ++++++- docker-compose.accounts.yml | 15 --------------- docker-compose.mongodb.yml | 23 +++++++++++++++++++++++ 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 docker-compose.mongodb.yml diff --git a/dc b/dc index e703c4d3..60418cb8 100755 --- a/dc +++ b/dc @@ -10,13 +10,18 @@ COMPOSE_FILES="-f docker-compose.yml" for i in $(seq 1 ${#PORTAL_MODULES}); do # accounts module - alias "a" if [[ ${PORTAL_MODULES:i-1:1} == "a" ]]; then - COMPOSE_FILES+=" -f docker-compose.accounts.yml" + COMPOSE_FILES+=" -f docker-compose.mongodb.yml -f docker-compose.accounts.yml" fi # jaeger module - alias "j" if [[ ${PORTAL_MODULES:i-1:1} == "j" ]]; then COMPOSE_FILES+=" -f docker-compose.jaeger.yml" fi + + # mongodb module - alias "m". implied by "a" + if [[ ${PORTAL_MODULES:i-1:1} == "m" ]]; then + COMPOSE_FILES+=" -f docker-compose.mongodb.yml" + fi done # override file if exists diff --git a/docker-compose.accounts.yml b/docker-compose.accounts.yml index d0e1cc29..0ce21695 100644 --- a/docker-compose.accounts.yml +++ b/docker-compose.accounts.yml @@ -50,21 +50,6 @@ services: - mongo - oathkeeper - mongo: - image: mongo:4.4.1 - command: --keyFile=/data/mgkey --replSet=skynet - container_name: mongo - restart: unless-stopped - logging: *default-logging - volumes: - - ./docker/data/mongo/db:/data/db - - ./docker/data/mongo/mgkey:/data/mgkey:rw - networks: - shared: - ipv4_address: 10.10.10.71 - ports: - - "27017:27017" - kratos-migrate: image: oryd/kratos:v0.5.5-alpha.1 container_name: kratos-migrate diff --git a/docker-compose.mongodb.yml b/docker-compose.mongodb.yml new file mode 100644 index 00000000..53c1bb54 --- /dev/null +++ b/docker-compose.mongodb.yml @@ -0,0 +1,23 @@ +version: "3.7" + +x-logging: &default-logging + driver: json-file + options: + max-size: "10m" + max-file: "3" + +services: + mongo: + image: mongo:4.4.1 + command: --keyFile=/data/mgkey --replSet=skynet + container_name: mongo + restart: unless-stopped + logging: *default-logging + volumes: + - ./docker/data/mongo/db:/data/db + - ./docker/data/mongo/mgkey:/data/mgkey:rw + networks: + shared: + ipv4_address: 10.10.10.71 + ports: + - "27017:27017" From 6a435685bf08e6437396f30efb453f46c215bc35 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 7 Oct 2021 13:09:49 +0200 Subject: [PATCH 019/564] Add a changelog entry. --- changelog/items/key-updates/mongo-service.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/key-updates/mongo-service.md diff --git a/changelog/items/key-updates/mongo-service.md b/changelog/items/key-updates/mongo-service.md new file mode 100644 index 00000000..3ef3b13f --- /dev/null +++ b/changelog/items/key-updates/mongo-service.md @@ -0,0 +1 @@ +- Move MongoDB to a separate service (use `PORTAL_MODULES=m` to use it without accounts) From bad954303297a87fc4b60fef4a9dce8468b7424c Mon Sep 17 00:00:00 2001 From: Chris Schinnerl Date: Thu, 7 Oct 2021 17:35:06 +0200 Subject: [PATCH 020/564] Enable mongodb in docker-compose.yml for skyd --- docker-compose.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index b8af7933..024300ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,6 +25,10 @@ services: logging: *default-logging environment: - SIA_MODULES=gctwr + - MONGODB_URI=mongodb://${SKYNET_DB_HOST}:${SKYNET_DB_PORT} + - MONGODB_USER=${SKYNET_DB_USER} + - MONGODB_PASSWORD=${SKYNET_DB_PASS} + env_file: - .env volumes: From 0a7f175f61305974acff9547825e97872b4b63f5 Mon Sep 17 00:00:00 2001 From: Chris Schinnerl Date: Fri, 8 Oct 2021 09:10:46 +0200 Subject: [PATCH 021/564] changelog --- changelog/items/key-updates/enable-mongodb-for-skyd.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/key-updates/enable-mongodb-for-skyd.md diff --git a/changelog/items/key-updates/enable-mongodb-for-skyd.md b/changelog/items/key-updates/enable-mongodb-for-skyd.md new file mode 100644 index 00000000..cc1a399b --- /dev/null +++ b/changelog/items/key-updates/enable-mongodb-for-skyd.md @@ -0,0 +1 @@ +- Set skyd up to connect to the local mongodb cluster for storing TUS metadata \ No newline at end of file From afd61692d955db80cf63fd278b7a5ef3f6d1d833 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Fri, 8 Oct 2021 14:05:55 +0200 Subject: [PATCH 022/564] Make the `SKYNET_DB_PORT` env var control on which port we expose MongoDB. --- docker-compose.mongodb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.mongodb.yml b/docker-compose.mongodb.yml index 53c1bb54..ebc085ab 100644 --- a/docker-compose.mongodb.yml +++ b/docker-compose.mongodb.yml @@ -20,4 +20,4 @@ services: shared: ipv4_address: 10.10.10.71 ports: - - "27017:27017" + - "${SKYNET_DB_PORT}:27017" From ef038d8f7fb076d536bdddbec7e36f38b20d21b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 12:07:26 +0000 Subject: [PATCH 023/564] Bump @stripe/stripe-js from 1.19.0 to 1.19.1 in /packages/dashboard Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.19.0 to 1.19.1. - [Release notes](https://github.com/stripe/stripe-js/releases) - [Commits](https://github.com/stripe/stripe-js/compare/v1.19.0...v1.19.1) --- updated-dependencies: - dependency-name: "@stripe/stripe-js" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 38f3af97..2051a647 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -11,7 +11,7 @@ "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.5.0", - "@stripe/stripe-js": "1.19.0", + "@stripe/stripe-js": "1.19.1", "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.3.6", "classnames": "2.3.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 97c830c0..b8d9f353 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -188,10 +188,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.19.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.19.0.tgz#2704adeabcca4ac64d3a5168b2705b165b89e633" - integrity sha512-HycB9mnCCaontVCH9tnRoGVofp4H2c+m518e3g5vLVGmmHVI7qOSI71TGbJ0XoHdfFf2EN2HUAGMCNT5IiiuNQ== +"@stripe/stripe-js@1.19.1": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.19.1.tgz#51017bb1c6e12f0e74747534667e42e77b2c9978" + integrity sha512-gvaQ51FXHHKMypXMlSPZbpb7e5671oqySqEfU2MviAQCsikV/+vnvPPxOged4RvNwNM7v4ocsKadQwqIwPhgrQ== "@tailwindcss/forms@0.3.4": version "0.3.4" From b9d27a9e135180bc6507ced9ab578a62f3661437 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 12:07:47 +0000 Subject: [PATCH 024/564] Bump autoprefixer from 10.3.6 to 10.3.7 in /packages/dashboard Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.3.6 to 10.3.7. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.3.6...10.3.7) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 66 ++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 30 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 38f3af97..2e3da336 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -13,7 +13,7 @@ "@stripe/react-stripe-js": "1.5.0", "@stripe/stripe-js": "1.19.0", "@tailwindcss/forms": "0.3.4", - "autoprefixer": "10.3.6", + "autoprefixer": "10.3.7", "classnames": "2.3.1", "clipboardy": "2.3.0", "dayjs": "1.10.7", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 97c830c0..fe181a5f 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -319,16 +319,16 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -autoprefixer@10.3.6: - version "10.3.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.6.tgz#537c8a046e32ec46bfe528bcc9e2a5f2d87cd4c4" - integrity sha512-3bDjTfF0MfZntwVCSd18XAT2Zndufh3Mep+mafbzdIQEeWbncVRUVDjH8/EPANV9Hq40seJ24QcYAyhUsFz7gQ== +autoprefixer@10.3.7: + version "10.3.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.7.tgz#cef2562058406bd378c94aacda36bb46a97b3186" + integrity sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg== dependencies: - browserslist "^4.17.1" - caniuse-lite "^1.0.30001260" + browserslist "^4.17.3" + caniuse-lite "^1.0.30001264" fraction.js "^4.1.1" - nanocolors "^0.2.8" normalize-range "^0.1.2" + picocolors "^0.2.1" postcss-value-parser "^4.1.0" available-typed-arrays@^1.0.5: @@ -477,16 +477,16 @@ browserslist@4.16.6: escalade "^3.1.1" node-releases "^1.1.71" -browserslist@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" - integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== +browserslist@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" + integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== dependencies: - caniuse-lite "^1.0.30001259" - electron-to-chromium "^1.3.846" + caniuse-lite "^1.0.30001264" + electron-to-chromium "^1.3.857" escalade "^3.1.1" - nanocolors "^0.1.5" - node-releases "^1.1.76" + node-releases "^1.1.77" + picocolors "^0.2.1" buffer-equal-constant-time@1.0.1: version "1.0.1" @@ -551,12 +551,10 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001259, caniuse-lite@^1.0.30001260: - version "1.0.30001260" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz#e3be3f34ddad735ca4a2736fa9e768ef34316270" - integrity sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg== - dependencies: - nanocolors "^0.1.0" +caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001264: + version "1.0.30001265" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" + integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== chalk@2.4.2, chalk@^2.0.0: version "2.4.2" @@ -957,11 +955,16 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -electron-to-chromium@^1.3.723, electron-to-chromium@^1.3.846: +electron-to-chromium@^1.3.723: version "1.3.850" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.850.tgz#c56c72abfeab051b4b328beb894461c5912d0456" integrity sha512-ZzkDcdzePeF4dhoGZQT77V2CyJOpwfTZEOg4h0x6R/jQhGt/rIRpbRyVreWLtD7B/WsVxo91URm2WxMKR9JQZA== +electron-to-chromium@^1.3.857: + version "1.3.864" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.864.tgz#6a993bcc196a2b8b3df84d28d5d4dd912393885f" + integrity sha512-v4rbad8GO6/yVI92WOeU9Wgxc4NA0n4f6P1FvZTY+jyY7JHEhw3bduYu60v3Q1h81Cg6eo4ApZrFPuycwd5hGw== + elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -1944,12 +1947,7 @@ nanoclone@^0.2.1: resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== -nanocolors@^0.1.0, nanocolors@^0.1.5: - version "0.1.12" - resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" - integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== - -nanocolors@^0.2.2, nanocolors@^0.2.8: +nanocolors@^0.2.2: version "0.2.10" resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== @@ -2080,11 +2078,16 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-releases@^1.1.71, node-releases@^1.1.76: +node-releases@^1.1.71: version "1.1.76" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== +node-releases@^1.1.77: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -2267,6 +2270,11 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" From f3bf05e93fb51af6320042c0c0758a7629aaad98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 12:58:48 +0000 Subject: [PATCH 025/564] Bump gatsby from 3.14.1 to 3.14.2 in /packages/website Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.14.1 to 3.14.2. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.1...gatsby@3.14.2) --- updated-dependencies: - dependency-name: gatsby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 21c10cd8..87ff3655 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.1", + "gatsby": "^3.14.2", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c7767a10..9e762b89 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -5958,10 +5958,10 @@ gatsby-background-image@^1.5.3: short-uuid "^4.1.0" sort-media-queries "^0.2.2" -gatsby-cli@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.0.tgz#98fc989062d9956e26304b1c3eac33cd4b5fda70" - integrity sha512-1Az1EEQu0txRE8eZmOo9GOxRSjhJtFseinraiIEtSeHkYuM0/gjuoKVSrtmbBFNWdOZll6QYCO3sRl6sOrwb+g== +gatsby-cli@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.1.tgz#508515760d708b36cd8491f30f062cc451dd2252" + integrity sha512-0k8fJU2oE35U1D3sj4qFHMmKj32LJRmXeUSsDtJWdvNZ8+xhBNyIh+YGcqfqbCNicLXiPyfzvt6UwBIbOOTCRQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" @@ -6461,10 +6461,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.1.tgz#0b0edde45bedd18845ec338ca65b1e88d4de3384" - integrity sha512-6wt1MDMOfm6Zm8yiS8zDwjkth5spX7RorKKnYNNfZFyD0lztdql9jgAXFCxO0FxRDagDKxxfxj3cYyHHzPlalg== +gatsby@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.2.tgz#684a49ed9521abe5e72ff36b1fc3a4ed96fee0fb" + integrity sha512-1cjyfGkQ9zXtou+RhtYBprv8nYXTPuRIs4IFzBP373vBD1CdwabAC/R8kjqHfdvyNrorzg3sqRjLjActtfU8NA== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -6533,7 +6533,7 @@ gatsby@^3.14.1: find-cache-dir "^3.3.1" fs-exists-cached "1.0.0" fs-extra "^10.0.0" - gatsby-cli "^3.14.0" + gatsby-cli "^3.14.1" gatsby-core-utils "^2.14.0" gatsby-graphiql-explorer "^1.14.0" gatsby-legacy-polyfills "^1.14.0" From ba213b0538db6411d33380bccffeaf931be1e610 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 13:00:41 +0000 Subject: [PATCH 026/564] Bump nanoid from 3.1.28 to 3.1.29 in /packages/website Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.28 to 3.1.29. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.1.28...3.1.29) --- updated-dependencies: - dependency-name: nanoid dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 21c10cd8..69b733f6 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -43,7 +43,7 @@ "http-status-codes": "^2.1.4", "jsonp": "^0.2.1", "ms": "^2.1.2", - "nanoid": "^3.1.28", + "nanoid": "^3.1.29", "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c7767a10..764f46c8 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -9403,10 +9403,10 @@ nanocolors@^0.2.2, nanocolors@^0.2.8: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.25, nanoid@^3.1.28: - version "3.1.28" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" - integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== +nanoid@^3.1.25, nanoid@^3.1.29: + version "3.1.29" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" + integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== nanomatch@^1.2.9: version "1.2.13" From b001e953ccb51b06630cc2adc78eec37b67f1671 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Tue, 12 Oct 2021 09:42:30 -0400 Subject: [PATCH 027/564] Remove duplicated documentation and point to developer docs --- README.md | 156 +--------------------------------------- setup-scripts/README.md | 147 ------------------------------------- 2 files changed, 2 insertions(+), 301 deletions(-) delete mode 100644 setup-scripts/README.md diff --git a/README.md b/README.md index b7bfd02d..0dcb943d 100644 --- a/README.md +++ b/README.md @@ -26,157 +26,8 @@ For the purposes of complying with our code license, you can use the following S `fb6c9320bc7e01fbb9cd8d8c3caaa371386928793c736837832e634aaaa484650a3177d6714a` -### MongoDB Setup - -Mongo needs a couple of extra steps in order to start a secure cluster. - -- Open port 27017 on all nodes that will take part in the cluster. Ideally, you would only open the port for the other - nodes in the cluster. -- Manually add a `mgkey` file under `./docker/data/mongo` with the respective secret ( - see [Mongo's keyfile access control](https://docs.mongodb.com/manual/tutorial/enforce-keyfile-access-control-in-existing-replica-set/) - for details). -- Manually run an initialisation `docker run` with extra environment variables that will initialise the admin user with - a password (example below). -- During the initialisation run mentioned above, we need to make two extra steps within the container: - - Change the ownership of `mgkey` to `mongodb:mongodb` - - Change its permissions to 400 -- After these steps are done we can open a mongo shell on the primary node and run `rs.add()` in order to add the new - node to the cluster. If you don't know which node is primary, log onto any server and jump into the Mongo's container - (`docker exec -it mongo mongo -u admin -p`) and then get the status of the replica set (`rs.status()`). - -Example initialisation docker run command: - -``` -docker run \ - --rm \ - --name mg \ - -p 27017:27017 \ - -e MONGO_INITDB_ROOT_USERNAME= \ - -e MONGO_INITDB_ROOT_PASSWORD= \ - -v /home/user/skynet-webportal/docker/data/mongo/db:/data/db \ - -v /home/user/skynet-webportal/docker/data/mongo/mgkey:/data/mgkey \ - mongo --keyFile=/data/mgkey --replSet=skynet -``` - -Regular docker run command: - -``` -docker run \ - --rm \ - --name mg \ - -p 27017:27017 \ - -v /home/user/skynet-webportal/docker/data/mongo/db:/data/db \ - -v /home/user/skynet-webportal/docker/data/mongo/mgkey:/data/mgkey \ - mongo --keyFile=/data/mgkey --replSet=skynet -``` - -Cluster initialisation mongo command: - -``` -rs.initiate( - { - _id : "skynet", - members: [ - { _id : 0, host : "mongo:27017" } - ] - } -) -``` - -Add more nodes when they are ready: - -``` -rs.add("second.node.net:27017") -``` - -### Kratos & Oathkeeper Setup - -[Kratos](https://www.ory.sh/kratos) is our user management system of choice and -[Oathkeeper](https://www.ory.sh/oathkeeper) is the identity and access proxy. - -Most of the needed config is already under `docker/kratos`. The only two things that need to be changed are the config -for Kratos that might contain you email server password, and the JWKS Oathkeeper uses to sign its JWT tokens. - -Make sure to create your own`docker/kratos/config/kratos.yml` by copying the `kratos.yml.sample` in the same directory. -Also make sure to never add that file to source control because it will most probably contain your email password in -plain text! - -To override the JWKS you will need to directly edit -`docker/kratos/oathkeeper/id_token.jwks.json` and replace it with your generated key set. If you don't know how to -generate a key set you can use this code: - -```go -package main - -import ( - "encoding/json" - "log" - "os" - - "github.com/ory/hydra/jwk" -) - -func main() { - gen := jwk.RS256Generator{ - KeyLength: 2048, - } - jwks, err := gen.Generate("", "sig") - if err != nil { - log.Fatal(err) - } - jsonbuf, err := json.MarshalIndent(jwks, "", " ") - if err != nil { - log.Fatal("failed to generate JSON: %s", err) - } - os.Stdout.Write(jsonbuf) -} -``` - -While you can directly put the output of this programme into the file mentioned above, you can also remove the public -key from the set and change the `kid` of the private key to not include the prefix `private:`. - -### CockroachDB Setup - -Kratos uses CockroachDB to store its data. For that data to be shared across all nodes that comprise your portal cluster -setup, we need to set up a CockroachDB cluster, complete with secure communication. - -#### Generate the certificates for secure communication - -For a detailed walk-through, please check [this guide](https://www.cockroachlabs.com/docs/v20.2/secure-a-cluster.html) -out. - -Steps: - -1. Start a local cockroach docker instance: - `docker run -d -v ":/cockroach/cockroach-secure" --name=crdb cockroachdb/cockroach start --insecure` -1. Get a shall into that instance: `docker exec -it crdb /bin/bash` -1. Go to the directory we which we mapped to a local dir: `cd /cockroach/cockroach-secure` -1. Create the subdirectories in which to create certificates and keys: `mkdir certs my-safe-directory` -1. Create the CA (Certificate Authority) certificate and key - pair: `cockroach cert create-ca --certs-dir=certs --ca-key=my-safe-directory/ca.key` -1. Create a client certificate and key pair for the root - user: `cockroach cert create-client root --certs-dir=certs --ca-key=my-safe-directory/ca.key` -1. Create the certificate and key pair for your - nodes: `cockroach cert create-node cockroach mynode.siasky.net --certs-dir=certs --ca-key=my-safe-directory/ca.key`. - Don't forget the `cockroach` node name - it's needed by our docker-compose setup. If you want to create certificates - for more nodes, just delete the `node.*` files (after you've finished the next steps for this node!) and re-run the - above command with the new node name. -1. Put the contents of the `certs` folder under `docker/cockroach/certs/*` under your portal's root dir and store the - content of `my-safe-directory` somewhere safe. -1. Put _another copy_ of those certificates under `docker/kratos/cr_certs` and change permissions of the `*.key` files, - so they can be read by anyone (644). - -#### Configure your CockroachDB node - -Open port 26257 on all nodes that will take part in the cluster. Ideally, you would only open the port for the other -nodes in the cluster. - -There is some configuration that needs to be added to your `.env`file, namely: - -1. CR_IP - the public IP of your node -1. CR_CLUSTER_NODES - a list of IPs and ports which make up your cluster, e.g. - `95.216.13.185:26257,147.135.37.21:26257,144.76.136.122:26257`. This will be the list of nodes that will make up your - cluster, so make sure those are accurate. +## Running a Portal +For those interested in running a Webportal, head over to our developer docs [here](https://docs.siasky.net/developer-guides/operating-a-skynet-webportal) to learn more. ## Contributing @@ -190,6 +41,3 @@ Verify the Cypress test suite by doing the following: 1. In one terminal screen run `GATSBY_API_URL=https://siasky.net website serve` 1. In a second terminal screen run `yarn cypress run` -## Setting up complete skynet server - -A setup guide with installation scripts can be found in [setup-scripts/README.md](./setup-scripts/README.md). diff --git a/setup-scripts/README.md b/setup-scripts/README.md deleted file mode 100644 index 4d8fc8b5..00000000 --- a/setup-scripts/README.md +++ /dev/null @@ -1,147 +0,0 @@ -# Skynet Portal Setup Scripts - -This directory contains a setup guide and scripts that will install and -configure some basic requirements for running a Skynet Portal. The assumption is -that we are working with a Debian Buster Minimal system or similar. - -## Initial Setup - -You may want to fork this repository and replace ssh keys in -`setup-scripts/support/authorized_keys` and optionally edit the `setup-scripts/support/tmux.conf` and `setup-scripts/support/bashrc` configurations to fit your needs. - -### Step 0: stack overview - -- dockerized services inside `docker-compose.yml` - - [sia](https://sia.tech) ([docker hub](https://hub.docker.com/r/nebulouslabs/sia)): storage provider, heart of the portal setup - - [caddy](https://caddyserver.com) ([docker hub](https://hub.docker.com/r/caddy/caddy)): reverse proxy (similar to nginx) that handles ssl out of a box and acts as a transparent entry point - - [openresty](https://openresty.org) ([docker hub](https://hub.docker.com/r/openresty/openresty)): nginx custom build, acts as a cached proxy to siad and exposes all api endpoints - - [health-check](https://github.com/SkynetLabs/skynet-webportal/tree/master/packages/health-check): simple service that runs periodically and collects health data about the server (status and response times) - [read more](https://github.com/SkynetLabs/skynet-webportal/blob/master/packages/health-check/README.md) - - [handshake](https://handshake.org) ([github](https://github.com/handshake-org/hsd)): full handshake node - - [handshake-api](https://github.com/SkynetLabs/skynet-webportal/tree/master/packages/handshake-api): simple API talking to the handshake node - [read more](https://github.com/SkynetLabs/skynet-webportal/blob/master/packages/handshake-api/README.md) - - [website](https://github.com/SkynetLabs/skynet-webportal/tree/master/packages/website): portal frontend application - [read more](https://github.com/SkynetLabs/skynet-webportal/blob/master/packages/website/README.md) - - [kratos](https://www.ory.sh/kratos/): user account management system - - [oathkeeper](https://www.ory.sh/oathkeeper/): identity and access proxy -- discord integration - - [funds-checker](funds-checker.py): script that checks wallet balance and sends status messages to discord periodically - - [health-checker](health-checker.py): script that monitors health-check service for server health issues and reports them to discord periodically - - [log-checker](log-checker.py): script that scans siad logs for critical errors and reports them to discord periodically -- [blocklist-skylink](../scripts/blocklist-skylink.sh): script that can be run locally from a machine that has access to all your skynet portal servers that blocklists provided skylink and prunes nginx cache to ensure it's not available any more (that is a bit much but that's the best we can do right now without paid nginx version) - if you want to use it, make sure to adjust the server addresses - -### Step 1: setting up server user - -1. SSH in a freshly installed Debian machine on a user with sudo access (can be root) -1. `apt-get update && apt-get install sudo libnss3-tools -y` to make sure `sudo` is available -1. `adduser user` to create user called `user` (creates `/home/user` directory) -1. `usermod -aG sudo user` to add this new user to sudo group -1. `sudo groupadd docker` to create a group for docker (it might already exist) -1. `sudo usermod -aG docker user` to add your user to that group -1. Quit the ssh session with `exit` command - -You can now ssh into your machine as the user `user`. - -### Step 2: setting up environment - -1. On your local machine: `ssh-copy-id user@ip-addr` to copy over your ssh key to server -1. On your local machine: `ssh user@ip-addr` to log in to server as user `user` -1. You are now logged in as `user` - -**Following step will be executed on remote host logged in as a `user`:** - -1. `sudo apt-get install git -y` to install git -1. `git clone https://github.com/SkynetLabs/skynet-webportal` -1. `cd skynet-webportal` -1. run setup scripts in the exact order and provide sudo password when asked (if one of them fails, you can retry just this one before proceeding further) - 1. `/home/user/skynet-webportal/setup-scripts/setup-server.sh` - 1. `/home/user/skynet-webportal/setup-scripts/setup-docker-services.sh` - 1. `/home/user/skynet-webportal/setup-scripts/setup-health-check-scripts.sh` (optional) - -### Step 3: configuring siad - -At this point we have almost everything running, we just need to set up your wallet and allowance: - -1. Create a new wallet (remember to save the seed) - > `docker exec -it sia siac wallet init` -1. Unlock the wallet (use the seed as password) - > `docker exec -it sia siac wallet unlock` -1. Generate a new wallet address (save it for later to transfer the funds) - > `docker exec -it sia siac wallet address` -1. Set up allowance - > `docker exec -it sia siac renter setallowance` - 1. 10 KS (keep 25 KS in your wallet) - 1. default period - 1. default number of hosts - 1. 4 week renewal time - 1. 500 GB expected storage - 1. 500 GB expected upload - 1. 5 TB expected download - 1. default redundancy -1. Set a maximum storage price - > `docker exec -it sia siac renter setallowance --max-storage-price 100SC` -1. Instruct siad to start making 10 contracts per block with many hosts to potentially view the whole network's files - > `docker exec -it sia siac renter setallowance --payment-contract-initial-funding 10SC` - -### Step 4: configuring docker services - -1. edit `/home/user/skynet-webportal/.env` and configure following environment variables - - - `PORTAL_DOMAIN` (required) is a skynet portal domain (ex. siasky.net) - - `SERVER_DOMAIN` (optional) is an optional direct server domain (ex. eu-ger-1.siasky.net) - leave blank unless it is different than PORTAL_DOMAIN - - `EMAIL_ADDRESS` is your email address used for communication regarding SSL certification (required if you're using http-01 challenge) - - `SIA_WALLET_PASSWORD` is your wallet password (or seed if you did not set a password) - - `HSD_API_KEY` this is a random security key for a handshake integration that gets generated automatically - - `CLOUDFLARE_AUTH_TOKEN` (optional) if using cloudflare as dns loadbalancer (need to change it in Caddyfile too) - - `AWS_ACCESS_KEY_ID` (optional) if using route53 as a dns loadbalancer - - `AWS_SECRET_ACCESS_KEY` (optional) if using route53 as a dns loadbalancer - - `PORTAL_NAME` a string representing name of your portal e.g. `siasky.xyz` or `my skynet portal` - - `DISCORD_WEBHOOK_URL` (required if using Discord notifications) discord webhook url (generate from discord app) - - `DISCORD_MENTION_USER_ID` (optional) add `/cc @user` mention to important messages from webhook (has to be id not user name) - - `DISCORD_MENTION_ROLE_ID` (optional) add `/cc @role` mention to important messages from webhook (has to be id not role name) - - `SKYNET_DB_USER` (optional) if using `accounts` this is the MongoDB username - - `SKYNET_DB_PASS` (optional) if using `accounts` this is the MongoDB password - - `SKYNET_DB_HOST` (optional) if using `accounts` this is the MongoDB address or container name - - `SKYNET_DB_PORT` (optional) if using `accounts` this is the MongoDB port - - `COOKIE_DOMAIN` (optional) if using `accounts` this is the domain to which your cookies will be issued - - `COOKIE_HASH_KEY` (optional) if using `accounts` hashing secret, at least 32 bytes - - `COOKIE_ENC_KEY` (optional) if using `accounts` encryption key, at least 32 bytes - - `S3_BACKUP_PATH` (optional) is using `accounts` and backing up the databases to S3. This path should be an S3 bucket - with path to the location in the bucket where we want to store the daily backups. - -1. `docker-compose up -d` to restart the services so they pick up new env variables -1. add your custom Kratos configuration to `/home/user/skynet-webportal/docker/kratos/config/kratos.yml` (in particular, the credentials for your mail server should be here, rather than in your source control). For a starting point you can take `docker/kratos/config/kratos.yml.sample`. - -## Subdomains - -It might prove useful for certain skapps to be accessible through a custom subdomain. So instead of being accessed through `https://portal.com/[skylink]`, it would be accessible through `https://[skylink_base32].portal.com`. We call this "subdomain access" and it is made possible by encoding Skylinks using a base32 encoding. We have to use a base32 encoding scheme because subdomains have to be all lower case and the base64 encoded Skylink is case sensitive and thus might contain uppercase characters. - -You can convert Skylinks using this [converter skapp](https://convert-skylink.hns.siasky.net). To see how the encoding and decoding works, please follow the link to the repo in the application itself. - -There is also an option to access handshake domain through the subdomain using `https://[domain_name].hns.portal.com`. - -To configure this on your portal, you have to make sure to configure the following: - -## Useful Commands - -- Starting the whole stack - > `docker-compose up -d` -- Stopping the whole stack - > `docker-compose down` -- Accessing siac - > `docker exec -it sia siac` -- Portal maintenance - - Pulling portal out for maintenance - > `scripts/portal-down.sh` - - Putting portal back into place after maintenance - > `scripts/portal-up.sh` - - Upgrading portal containers (takes care of pulling it and putting it back) - > `scripts/portal-upgrade.sh` -- Restarting caddy gracefully after making changes to Caddyfile (no downtime) - > `docker exec caddy caddy reload --config /etc/caddy/Caddyfile` -- Restarting nginx gracefully after making changes to nginx configs (no downtime) - > `docker exec nginx openresty -s reload` -- Checking siad service logs (since last hour) - > `docker logs --since 1h $(docker ps -q --filter "name=^sia$")` -- Checking caddy logs (for example in case ssl certificate fails) - > `docker logs caddy -f` -- Checking nginx logs (nginx handles all communication to siad instances) - > `tail -n 50 docker/data/nginx/logs/access.log` to follow last 50 lines of access log - > `tail -n 50 docker/data/nginx/logs/error.log` to follow last 50 lines of error log From fcc1cf046c927ddea7036b7fe58e59de06ede8e5 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Tue, 12 Oct 2021 09:48:08 -0400 Subject: [PATCH 028/564] Add changelog file --- changelog/items/other/remove-outdated-documentation.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/other/remove-outdated-documentation.md diff --git a/changelog/items/other/remove-outdated-documentation.md b/changelog/items/other/remove-outdated-documentation.md new file mode 100644 index 00000000..0f221327 --- /dev/null +++ b/changelog/items/other/remove-outdated-documentation.md @@ -0,0 +1 @@ +- Remove outdated portal setup documentation and point to developer docs. From 9bd5edb7da19b783ea98ace6a62c4a2349fd476c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:15:17 +0000 Subject: [PATCH 029/564] Bump stripe from 8.178.0 to 8.181.0 in /packages/dashboard Bumps [stripe](https://github.com/stripe/stripe-node) from 8.178.0 to 8.181.0. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v8.178.0...v8.181.0) --- updated-dependencies: - dependency-name: stripe dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 2e3da336..a8ba6644 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -31,7 +31,7 @@ "react-dom": "17.0.2", "react-toastify": "8.0.3", "skynet-js": "3.0.2", - "stripe": "8.178.0", + "stripe": "8.181.0", "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.16", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index fe181a5f..a0ee14f6 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2910,10 +2910,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -stripe@8.178.0: - version "8.178.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.178.0.tgz#89506b27501174eef12cb8ad57cc7d21c98b086a" - integrity sha512-Yk31NdIKf+MKTOdS2CTUIAHzUHOQwayoJFHBkrKGo7bJAlkPFzrIeOORH8SpduoXPZF8mq0JA7qNcFuFPBqabA== +stripe@8.181.0: + version "8.181.0" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.181.0.tgz#e49514b10c54d146cc5306204410658c2d689386" + integrity sha512-yEKT+/a/5OMYqGPhI/4jy/kiKHKeew1n9BvNtHbOA9lQDM8yVIYDx0nbQMj5rMowivAMqY67mejDJeSBlcPASA== dependencies: "@types/node" ">=8.1.0" qs "^6.6.0" From d3768faa3f37407f6cb1532b502360c9ca18fe64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:16:00 +0000 Subject: [PATCH 030/564] Bump postcss from 8.3.8 to 8.3.9 in /packages/dashboard Bumps [postcss](https://github.com/postcss/postcss) from 8.3.8 to 8.3.9. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.3.8...8.3.9) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 25 ++++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index bb9c4162..de8471b0 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -24,7 +24,7 @@ "ky": "0.25.1", "next": "11.1.2", "normalize.css": "8.0.1", - "postcss": "8.3.8", + "postcss": "8.3.9", "prettier": "2.4.1", "pretty-bytes": "5.6.0", "react": "17.0.2", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index c2c855b3..1922ef3a 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -1947,15 +1947,10 @@ nanoclone@^0.2.1: resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== -nanocolors@^0.2.2: - version "0.2.10" - resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" - integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== - -nanoid@^3.1.23, nanoid@^3.1.25: - version "3.1.28" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" - integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== +nanoid@^3.1.23, nanoid@^3.1.28: + version "3.1.29" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" + integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== native-url@0.3.4: version "0.3.4" @@ -2350,13 +2345,13 @@ postcss@8.2.15: nanoid "^3.1.23" source-map "^0.6.1" -postcss@8.3.8, postcss@^8.1.6, postcss@^8.2.1: - version "8.3.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.8.tgz#9ebe2a127396b4b4570ae9f7770e7fb83db2bac1" - integrity sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA== +postcss@8.3.9, postcss@^8.1.6, postcss@^8.2.1: + version "8.3.9" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.9.tgz#98754caa06c4ee9eb59cc48bd073bb6bd3437c31" + integrity sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw== dependencies: - nanocolors "^0.2.2" - nanoid "^3.1.25" + nanoid "^3.1.28" + picocolors "^0.2.1" source-map-js "^0.6.2" prettier@2.4.1: From 431e8d41166f36da181fabdf0fa8ad4f0201fb56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:17:47 +0000 Subject: [PATCH 031/564] Bump cypress from 8.5.0 to 8.6.0 in /packages/website Bumps [cypress](https://github.com/cypress-io/cypress) from 8.5.0 to 8.6.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js) - [Commits](https://github.com/cypress-io/cypress/compare/v8.5.0...v8.6.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 6 +++--- packages/website/yarn.lock | 34 +++++++++++++++++----------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 21c10cd8..749e5877 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.1", + "gatsby": "^3.14.2", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.0", @@ -43,7 +43,7 @@ "http-status-codes": "^2.1.4", "jsonp": "^0.2.1", "ms": "^2.1.2", - "nanoid": "^3.1.28", + "nanoid": "^3.1.29", "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", @@ -66,7 +66,7 @@ }, "devDependencies": { "cross-env": "^7.0.3", - "cypress": "^8.5.0", + "cypress": "^8.6.0", "cypress-file-upload": "^5.0.8", "prettier": "^2.4.1" }, diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c7767a10..cf84f44a 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -4360,10 +4360,10 @@ cypress-file-upload@^5.0.8: resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== -cypress@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.5.0.tgz#5712ca170913f8344bf167301205c4217c1eb9bd" - integrity sha512-MMkXIS+Ro2KETn4gAlG3tIc/7FiljuuCZP0zpd9QsRG6MZSyZW/l1J3D4iQM6WHsVxuX4rFChn5jPFlC2tNSvQ== +cypress@^8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.6.0.tgz#8d02fa58878b37cfc45bbfce393aa974fa8a8e22" + integrity sha512-F7qEK/6Go5FsqTueR+0wEw2vOVKNgk5847Mys8vsWkzPoEKdxs+7N9Y1dit+zhaZCLtMPyrMwjfA53ZFy+lSww== dependencies: "@cypress/request" "^2.88.6" "@cypress/xvfb" "^1.2.4" @@ -5958,10 +5958,10 @@ gatsby-background-image@^1.5.3: short-uuid "^4.1.0" sort-media-queries "^0.2.2" -gatsby-cli@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.0.tgz#98fc989062d9956e26304b1c3eac33cd4b5fda70" - integrity sha512-1Az1EEQu0txRE8eZmOo9GOxRSjhJtFseinraiIEtSeHkYuM0/gjuoKVSrtmbBFNWdOZll6QYCO3sRl6sOrwb+g== +gatsby-cli@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.1.tgz#508515760d708b36cd8491f30f062cc451dd2252" + integrity sha512-0k8fJU2oE35U1D3sj4qFHMmKj32LJRmXeUSsDtJWdvNZ8+xhBNyIh+YGcqfqbCNicLXiPyfzvt6UwBIbOOTCRQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" @@ -6461,10 +6461,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.1.tgz#0b0edde45bedd18845ec338ca65b1e88d4de3384" - integrity sha512-6wt1MDMOfm6Zm8yiS8zDwjkth5spX7RorKKnYNNfZFyD0lztdql9jgAXFCxO0FxRDagDKxxfxj3cYyHHzPlalg== +gatsby@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.2.tgz#684a49ed9521abe5e72ff36b1fc3a4ed96fee0fb" + integrity sha512-1cjyfGkQ9zXtou+RhtYBprv8nYXTPuRIs4IFzBP373vBD1CdwabAC/R8kjqHfdvyNrorzg3sqRjLjActtfU8NA== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -6533,7 +6533,7 @@ gatsby@^3.14.1: find-cache-dir "^3.3.1" fs-exists-cached "1.0.0" fs-extra "^10.0.0" - gatsby-cli "^3.14.0" + gatsby-cli "^3.14.1" gatsby-core-utils "^2.14.0" gatsby-graphiql-explorer "^1.14.0" gatsby-legacy-polyfills "^1.14.0" @@ -9403,10 +9403,10 @@ nanocolors@^0.2.2, nanocolors@^0.2.8: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.25, nanoid@^3.1.28: - version "3.1.28" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" - integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== +nanoid@^3.1.25, nanoid@^3.1.29: + version "3.1.29" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" + integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== nanomatch@^1.2.9: version "1.2.13" From b55b0801b641ede6a71adda3c4d05b238d6c6d48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:18:49 +0000 Subject: [PATCH 032/564] Bump gatsby-plugin-sharp from 3.14.0 to 3.14.1 in /packages/website Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 3.14.0 to 3.14.1. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sharp/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@3.14.1/packages/gatsby-plugin-sharp) --- updated-dependencies: - dependency-name: gatsby-plugin-sharp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 6 +++--- packages/website/yarn.lock | 34 +++++++++++++++++----------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 21c10cd8..fca18a07 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.1", + "gatsby": "^3.14.2", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.0", @@ -26,7 +26,7 @@ "gatsby-plugin-purgecss": "^6.0.2", "gatsby-plugin-react-helmet": "^4.14.0", "gatsby-plugin-robots-txt": "^1.6.10", - "gatsby-plugin-sharp": "^3.14.0", + "gatsby-plugin-sharp": "^3.14.1", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", "gatsby-remark-copy-linked-files": "^4.11.0", @@ -43,7 +43,7 @@ "http-status-codes": "^2.1.4", "jsonp": "^0.2.1", "ms": "^2.1.2", - "nanoid": "^3.1.28", + "nanoid": "^3.1.29", "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index c7767a10..47519d60 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -5958,10 +5958,10 @@ gatsby-background-image@^1.5.3: short-uuid "^4.1.0" sort-media-queries "^0.2.2" -gatsby-cli@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.0.tgz#98fc989062d9956e26304b1c3eac33cd4b5fda70" - integrity sha512-1Az1EEQu0txRE8eZmOo9GOxRSjhJtFseinraiIEtSeHkYuM0/gjuoKVSrtmbBFNWdOZll6QYCO3sRl6sOrwb+g== +gatsby-cli@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.1.tgz#508515760d708b36cd8491f30f062cc451dd2252" + integrity sha512-0k8fJU2oE35U1D3sj4qFHMmKj32LJRmXeUSsDtJWdvNZ8+xhBNyIh+YGcqfqbCNicLXiPyfzvt6UwBIbOOTCRQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" @@ -6164,10 +6164,10 @@ gatsby-plugin-robots-txt@^1.6.10: "@babel/runtime" "^7.14.0" generate-robotstxt "^8.0.3" -gatsby-plugin-sharp@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.0.tgz#e087b37d03704e019803439adfb7696339b2262d" - integrity sha512-i4jrmOElr0mB2tWlpfxzX72zimiheGny0GF+jPPYY77Uoie43AH7GGZm6wyhdtqKlphYDhgatOMU7xeiWQar6g== +gatsby-plugin-sharp@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.1.tgz#4521d1ca7fe643eae743cae71621a8bb170a57dd" + integrity sha512-eLRoxLTrn5QCerIl/zaUTzJCBfPaaOZdVPhO6QUOd1o2qni6AR9QkeAw3He2e/1mnkB9wWGwJUdPiCfvUSE/pQ== dependencies: "@babel/runtime" "^7.15.4" async "^3.2.1" @@ -6461,10 +6461,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.1.tgz#0b0edde45bedd18845ec338ca65b1e88d4de3384" - integrity sha512-6wt1MDMOfm6Zm8yiS8zDwjkth5spX7RorKKnYNNfZFyD0lztdql9jgAXFCxO0FxRDagDKxxfxj3cYyHHzPlalg== +gatsby@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.2.tgz#684a49ed9521abe5e72ff36b1fc3a4ed96fee0fb" + integrity sha512-1cjyfGkQ9zXtou+RhtYBprv8nYXTPuRIs4IFzBP373vBD1CdwabAC/R8kjqHfdvyNrorzg3sqRjLjActtfU8NA== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -6533,7 +6533,7 @@ gatsby@^3.14.1: find-cache-dir "^3.3.1" fs-exists-cached "1.0.0" fs-extra "^10.0.0" - gatsby-cli "^3.14.0" + gatsby-cli "^3.14.1" gatsby-core-utils "^2.14.0" gatsby-graphiql-explorer "^1.14.0" gatsby-legacy-polyfills "^1.14.0" @@ -9403,10 +9403,10 @@ nanocolors@^0.2.2, nanocolors@^0.2.8: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.25, nanoid@^3.1.28: - version "3.1.28" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" - integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== +nanoid@^3.1.25, nanoid@^3.1.29: + version "3.1.29" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" + integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== nanomatch@^1.2.9: version "1.2.13" From b352ddd08fb56dca74668d5eaf9ae4a8478434e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:23:24 +0000 Subject: [PATCH 033/564] Bump gatsby-plugin-image from 1.14.0 to 1.14.1 in /packages/website Bumps [gatsby-plugin-image](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-image) from 1.14.0 to 1.14.1. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-image/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-image@1.14.1/packages/gatsby-plugin-image) --- updated-dependencies: - dependency-name: gatsby-plugin-image dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 9c80e5cc..df0f98a7 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -18,7 +18,7 @@ "gatsby": "^3.14.2", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", - "gatsby-plugin-image": "^1.14.0", + "gatsby-plugin-image": "^1.14.1", "gatsby-plugin-manifest": "^3.14.0", "gatsby-plugin-matomo": "^0.10.0", "gatsby-plugin-offline": "^4.14.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f8ea722c..776f12a8 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6066,10 +6066,10 @@ gatsby-page-utils@^1.14.0: lodash "^4.17.21" micromatch "^4.0.4" -gatsby-plugin-image@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-image/-/gatsby-plugin-image-1.14.0.tgz#b6d3c14b280b150ad32b3975e90e685b50365bf4" - integrity sha512-o5D4k4OQDdzXQu1VUWM4TLmi86D2fnGNxLKc/SgvGiqCr8e/opNJcWHELU52XQ11zqSU0jzOkDRQGu9tWesRlg== +gatsby-plugin-image@^1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/gatsby-plugin-image/-/gatsby-plugin-image-1.14.1.tgz#5d40dd35be4bab41e8dd5b9207e9b2485c734f6e" + integrity sha512-3ZiCFyIVjWxlpral04HlFZbeWC4Eoo7DYGA/Eh3qNMZ3tPKxySk4xXUdrnhIt967KBGATFuuYnPR9kKEHatCuQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/parser" "^7.15.5" From e4f4dc862791fd8e118cd38eb552f65db82efe12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:24:38 +0000 Subject: [PATCH 034/564] Bump postcss from 8.3.8 to 8.3.9 in /packages/website Bumps [postcss](https://github.com/postcss/postcss) from 8.3.8 to 8.3.9. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.3.8...8.3.9) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 9c80e5cc..781012f3 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -48,7 +48,7 @@ "path-browserify": "^1.0.1", "polished": "^4.1.3", "popmotion": "^10.0.1", - "postcss": "^8.3.8", + "postcss": "^8.3.9", "preact-svg-loader": "^0.2.1", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f8ea722c..7005e1f3 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -9403,7 +9403,7 @@ nanocolors@^0.2.2, nanocolors@^0.2.8: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.25, nanoid@^3.1.29: +nanoid@^3.1.28, nanoid@^3.1.29: version "3.1.29" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== @@ -10191,6 +10191,11 @@ physical-cpu-count@^2.0.0: resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" @@ -10604,13 +10609,13 @@ postcss@^7.0.27: nanocolors "^0.2.2" source-map "^0.6.1" -postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.5, postcss@^8.3.8: - version "8.3.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.8.tgz#9ebe2a127396b4b4570ae9f7770e7fb83db2bac1" - integrity sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA== +postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.5, postcss@^8.3.9: + version "8.3.9" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.9.tgz#98754caa06c4ee9eb59cc48bd073bb6bd3437c31" + integrity sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw== dependencies: - nanocolors "^0.2.2" - nanoid "^3.1.25" + nanoid "^3.1.28" + picocolors "^0.2.1" source-map-js "^0.6.2" potrace@^2.1.8: From 1b169eec8425ef774d1941c5258bed45f6d3b457 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:25:17 +0000 Subject: [PATCH 035/564] Bump autoprefixer from 10.3.6 to 10.3.7 in /packages/website Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.3.6 to 10.3.7. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.3.6...10.3.7) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 63 +++++++++++++++++++++-------------- 2 files changed, 39 insertions(+), 26 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 9c80e5cc..f477b9c0 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -9,7 +9,7 @@ "@fontsource/source-sans-pro": "^4.5.0", "@svgr/webpack": "^5.5.0", "@tailwindcss/typography": "^0.4.1", - "autoprefixer": "^10.3.6", + "autoprefixer": "^10.3.7", "bytes": "^3.1.0", "classnames": "^2.3.1", "copy-text-to-clipboard": "^3.0.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f8ea722c..fae55e82 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -2817,16 +2817,16 @@ attr-accept@^2.2.1: resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== -autoprefixer@^10.2.4, autoprefixer@^10.3.6: - version "10.3.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.6.tgz#537c8a046e32ec46bfe528bcc9e2a5f2d87cd4c4" - integrity sha512-3bDjTfF0MfZntwVCSd18XAT2Zndufh3Mep+mafbzdIQEeWbncVRUVDjH8/EPANV9Hq40seJ24QcYAyhUsFz7gQ== +autoprefixer@^10.2.4, autoprefixer@^10.3.7: + version "10.3.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.7.tgz#cef2562058406bd378c94aacda36bb46a97b3186" + integrity sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg== dependencies: - browserslist "^4.17.1" - caniuse-lite "^1.0.30001260" + browserslist "^4.17.3" + caniuse-lite "^1.0.30001264" fraction.js "^4.1.1" - nanocolors "^0.2.8" normalize-range "^0.1.2" + picocolors "^0.2.1" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -3280,16 +3280,16 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" - integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== +browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.17.1, browserslist@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" + integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== dependencies: - caniuse-lite "^1.0.30001259" - electron-to-chromium "^1.3.846" + caniuse-lite "^1.0.30001264" + electron-to-chromium "^1.3.857" escalade "^3.1.1" - nanocolors "^0.1.5" - node-releases "^1.1.76" + node-releases "^1.1.77" + picocolors "^0.2.1" buffer-crc32@~0.2.3: version "0.2.13" @@ -3465,12 +3465,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001259, caniuse-lite@^1.0.30001260: - version "1.0.30001260" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz#e3be3f34ddad735ca4a2736fa9e768ef34316270" - integrity sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg== - dependencies: - nanocolors "^0.1.0" +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001264: + version "1.0.30001265" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" + integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== caseless@~0.12.0: version "0.12.0" @@ -4838,11 +4836,16 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.846: +electron-to-chromium@^1.3.564: version "1.3.850" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.850.tgz#c56c72abfeab051b4b328beb894461c5912d0456" integrity sha512-ZzkDcdzePeF4dhoGZQT77V2CyJOpwfTZEOg4h0x6R/jQhGt/rIRpbRyVreWLtD7B/WsVxo91URm2WxMKR9JQZA== +electron-to-chromium@^1.3.857: + version "1.3.867" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz#7cb484db4b57c28da0b65c51e434c3a1f3f9aa0d" + integrity sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw== + elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -9393,12 +9396,12 @@ nano-css@^5.3.1: stacktrace-js "^2.0.2" stylis "^4.0.6" -nanocolors@^0.1.0, nanocolors@^0.1.12, nanocolors@^0.1.5: +nanocolors@^0.1.12: version "0.1.12" resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== -nanocolors@^0.2.2, nanocolors@^0.2.8: +nanocolors@^0.2.2: version "0.2.10" resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== @@ -9530,11 +9533,16 @@ node-object-hash@^2.3.9: resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.10.tgz#4b0c1a3a8239e955f0db71f8e00b38b5c0b33992" integrity sha512-jY5dPJzw6NHd/KPSfPKJ+IHoFS81/tJ43r34ZeNMXGzCOM8jwQDCD12HYayKIB6MuznrnqIYy2e891NA2g0ibA== -node-releases@^1.1.61, node-releases@^1.1.76: +node-releases@^1.1.61: version "1.1.76" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== +node-releases@^1.1.77: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -10191,6 +10199,11 @@ physical-cpu-count@^2.0.0: resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" From f04a2d89d12a5227d0e12e02b97f4d490f2c155d Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Mon, 18 Oct 2021 10:37:29 +0200 Subject: [PATCH 036/564] Set MongoDB replicaset from .env file --- changelog/items/other/mongo-replicaset-env.md | 2 ++ docker-compose.mongodb.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog/items/other/mongo-replicaset-env.md diff --git a/changelog/items/other/mongo-replicaset-env.md b/changelog/items/other/mongo-replicaset-env.md new file mode 100644 index 00000000..0dcbb402 --- /dev/null +++ b/changelog/items/other/mongo-replicaset-env.md @@ -0,0 +1,2 @@ +- Parameterize MongoDB replicaset in `docker-compose.mongodb.yml` via + `SKYNET_DB_REPLICASET` from `.env` file. \ No newline at end of file diff --git a/docker-compose.mongodb.yml b/docker-compose.mongodb.yml index ebc085ab..92e687cf 100644 --- a/docker-compose.mongodb.yml +++ b/docker-compose.mongodb.yml @@ -9,7 +9,7 @@ x-logging: &default-logging services: mongo: image: mongo:4.4.1 - command: --keyFile=/data/mgkey --replSet=skynet + command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET} container_name: mongo restart: unless-stopped logging: *default-logging From ece38315adf9f1de840363f594218335295a2e22 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:12:58 +0200 Subject: [PATCH 037/564] Add default value to skynet replicaset --- docker-compose.mongodb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.mongodb.yml b/docker-compose.mongodb.yml index 92e687cf..41b07a86 100644 --- a/docker-compose.mongodb.yml +++ b/docker-compose.mongodb.yml @@ -9,7 +9,7 @@ x-logging: &default-logging services: mongo: image: mongo:4.4.1 - command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET} + command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET:-skynet} container_name: mongo restart: unless-stopped logging: *default-logging From b4be0ff733953a7c0aeb2b0ac65c1b5604d1b40a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:08:06 +0000 Subject: [PATCH 038/564] Bump stripe from 8.181.0 to 8.183.0 in /packages/dashboard Bumps [stripe](https://github.com/stripe/stripe-node) from 8.181.0 to 8.183.0. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v8.181.0...v8.183.0) --- updated-dependencies: - dependency-name: stripe dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index e1b0016d..50cb9081 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -31,7 +31,7 @@ "react-dom": "17.0.2", "react-toastify": "8.0.3", "skynet-js": "3.0.2", - "stripe": "8.181.0", + "stripe": "8.183.0", "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.16", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 62b8da1c..90bba4dc 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2905,10 +2905,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -stripe@8.181.0: - version "8.181.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.181.0.tgz#e49514b10c54d146cc5306204410658c2d689386" - integrity sha512-yEKT+/a/5OMYqGPhI/4jy/kiKHKeew1n9BvNtHbOA9lQDM8yVIYDx0nbQMj5rMowivAMqY67mejDJeSBlcPASA== +stripe@8.183.0: + version "8.183.0" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.183.0.tgz#3dc183fafff618526a576a0d9972483b08075e06" + integrity sha512-QcM3nimH1CuP49VPPRt36Wgfu4QoS+Wm0eyGMis7Ej+seWFKqMffMdx7TE2gn8dVsJIOA1kDuIbAQGqpZHozGA== dependencies: "@types/node" ">=8.1.0" qs "^6.6.0" From d3475133eb2a185cb75da347eb109a876a2234a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:08:19 +0000 Subject: [PATCH 039/564] Bump @stripe/stripe-js from 1.19.1 to 1.20.2 in /packages/dashboard Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.19.1 to 1.20.2. - [Release notes](https://github.com/stripe/stripe-js/releases) - [Commits](https://github.com/stripe/stripe-js/compare/v1.19.1...v1.20.2) --- updated-dependencies: - dependency-name: "@stripe/stripe-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index e1b0016d..9c05e438 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -11,7 +11,7 @@ "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.5.0", - "@stripe/stripe-js": "1.19.1", + "@stripe/stripe-js": "1.20.2", "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.3.7", "classnames": "2.3.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 62b8da1c..2c4bf248 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -188,10 +188,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.19.1": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.19.1.tgz#51017bb1c6e12f0e74747534667e42e77b2c9978" - integrity sha512-gvaQ51FXHHKMypXMlSPZbpb7e5671oqySqEfU2MviAQCsikV/+vnvPPxOged4RvNwNM7v4ocsKadQwqIwPhgrQ== +"@stripe/stripe-js@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.20.2.tgz#5bb8deff1ba6cdc83d0bfac58e4d61fe2e4a53e7" + integrity sha512-gTPpXQgAgKrAAvV2R5WO4NCuozALD4n3xaDLhPv+nAomIdPLtgEwI2xIGY7WMSKp9KfkKmlcjoPO4pkz8f/bpw== "@tailwindcss/forms@0.3.4": version "0.3.4" From 0e9116786b78249fb6a05ca37bc90403a2c2cf59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:08:21 +0000 Subject: [PATCH 040/564] Bump nanoid from 3.1.29 to 3.1.30 in /packages/website Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.29 to 3.1.30. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.1.29...3.1.30) --- updated-dependencies: - dependency-name: nanoid dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 801e6fa6..ca0bd4c6 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -43,7 +43,7 @@ "http-status-codes": "^2.1.4", "jsonp": "^0.2.1", "ms": "^2.1.2", - "nanoid": "^3.1.29", + "nanoid": "^3.1.30", "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 389385b7..77c3752a 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -9406,10 +9406,10 @@ nanocolors@^0.2.2: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.28, nanoid@^3.1.29: - version "3.1.29" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" - integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== +nanoid@^3.1.28, nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== nanomatch@^1.2.9: version "1.2.13" From fe04ea1a6a7c7bbce3c85d5da7726b2725bd58b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:08:34 +0000 Subject: [PATCH 041/564] Bump yup from 0.32.9 to 0.32.11 in /packages/dashboard Bumps [yup](https://github.com/jquense/yup) from 0.32.9 to 0.32.11. - [Release notes](https://github.com/jquense/yup/releases) - [Changelog](https://github.com/jquense/yup/blob/master/CHANGELOG.md) - [Commits](https://github.com/jquense/yup/compare/v0.32.9...v0.32.11) --- updated-dependencies: - dependency-name: yup dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index e1b0016d..b1b86d21 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -35,7 +35,7 @@ "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.16", - "yup": "0.32.9" + "yup": "0.32.11" }, "resolutions": { "axios": "0.21.4" diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 62b8da1c..98efe835 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -49,7 +49,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2": +"@babel/runtime@^7.11.2", "@babel/runtime@^7.15.4": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== @@ -200,10 +200,10 @@ dependencies: mini-svg-data-uri "^1.2.3" -"@types/lodash@^4.14.165": - version "4.14.174" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.174.tgz#b4b06b6eced9850eed6b6a8f1abdd0f5192803c1" - integrity sha512-KMBLT6+g9qrGXpDt7ohjWPUD34WA/jasrtjTEHStF0NPdEwJ1N9SZ+4GaMVDeuk/y0+X5j9xFm6mNiXS7UoaLQ== +"@types/lodash@^4.14.175": + version "4.14.175" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.175.tgz#b78dfa959192b01fae0ad90e166478769b215f45" + integrity sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw== "@types/node@*", "@types/node@>=8.1.0": version "16.10.1" @@ -1757,7 +1757,7 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash-es@^4.17.15, lodash-es@^4.17.21: +lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -1812,7 +1812,7 @@ lodash.topath@^4.5.2: resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= -lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3269,15 +3269,15 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yup@0.32.9: - version "0.32.9" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.9.tgz#9367bec6b1b0e39211ecbca598702e106019d872" - integrity sha512-Ci1qN+i2H0XpY7syDQ0k5zKQ/DoxO0LzPg8PAR/X4Mpj6DqaeCoIYEEjDJwhArh3Fa7GWbQQVDZKeXYlSH4JMg== +yup@0.32.11: + version "0.32.11" + resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" + integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== dependencies: - "@babel/runtime" "^7.10.5" - "@types/lodash" "^4.14.165" - lodash "^4.17.20" - lodash-es "^4.17.15" + "@babel/runtime" "^7.15.4" + "@types/lodash" "^4.14.175" + lodash "^4.17.21" + lodash-es "^4.17.21" nanoclone "^0.2.1" property-expr "^2.0.4" toposort "^2.0.2" From 36c0cba6b40ce7cd41ce238cb8cec149df5b019c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:11 +0000 Subject: [PATCH 042/564] Bump gatsby from 3.14.2 to 3.14.3 in /packages/website Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.14.2 to 3.14.3. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.2...gatsby@3.14.3) --- updated-dependencies: - dependency-name: gatsby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 801e6fa6..03b6cb21 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.2", + "gatsby": "^3.14.3", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 389385b7..57113142 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -5961,10 +5961,10 @@ gatsby-background-image@^1.5.3: short-uuid "^4.1.0" sort-media-queries "^0.2.2" -gatsby-cli@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.1.tgz#508515760d708b36cd8491f30f062cc451dd2252" - integrity sha512-0k8fJU2oE35U1D3sj4qFHMmKj32LJRmXeUSsDtJWdvNZ8+xhBNyIh+YGcqfqbCNicLXiPyfzvt6UwBIbOOTCRQ== +gatsby-cli@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-3.14.2.tgz#1d4ebeb199c3a910d80abc13f458888c8cd7f2f8" + integrity sha512-p3E6XyzwVPGpHd0AYVkvnPkZoEElWLWjAG10173k5aGtpoM6dIuJuSlgBPrjeev9PQ7y3oCoCO3zBjnGdB1/WQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" @@ -6464,10 +6464,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.2.tgz#684a49ed9521abe5e72ff36b1fc3a4ed96fee0fb" - integrity sha512-1cjyfGkQ9zXtou+RhtYBprv8nYXTPuRIs4IFzBP373vBD1CdwabAC/R8kjqHfdvyNrorzg3sqRjLjActtfU8NA== +gatsby@^3.14.3: + version "3.14.3" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.3.tgz#62bc020d0997f4b30e419abe644f60483f99e8b5" + integrity sha512-B6NmmIvGGVNktky0YGugxMJlZAbKEzGMMBA8ojbaDhfEzfNXxsyHYd0aHKL0fNwPEqMKUsllaACdXrw6CWRk2g== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -6536,7 +6536,7 @@ gatsby@^3.14.2: find-cache-dir "^3.3.1" fs-exists-cached "1.0.0" fs-extra "^10.0.0" - gatsby-cli "^3.14.1" + gatsby-cli "^3.14.2" gatsby-core-utils "^2.14.0" gatsby-graphiql-explorer "^1.14.0" gatsby-legacy-polyfills "^1.14.0" @@ -6575,7 +6575,6 @@ gatsby@^3.14.2: opentracing "^0.14.4" p-defer "^3.0.0" parseurl "^1.3.3" - path-to-regexp "0.1.7" physical-cpu-count "^2.0.0" platform "^1.3.6" postcss "^8.3.5" From 304e970e93662ed3fcb5c6e576325949f69859ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:30 +0000 Subject: [PATCH 043/564] Bump tailwindcss from 2.2.16 to 2.2.17 in /packages/website Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 2.2.16 to 2.2.17. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v2.2.17/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v2.2.16...v2.2.17) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 801e6fa6..8e3d7d73 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -62,7 +62,7 @@ "skynet-js": "^4.0.11-beta", "stream-browserify": "^3.0.0", "swr": "^1.0.1", - "tailwindcss": "^2.2.16" + "tailwindcss": "^2.2.17" }, "devDependencies": { "cross-env": "^7.0.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 389385b7..bbfa5814 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -12739,10 +12739,10 @@ table@^6.0.9: string-width "^4.2.0" strip-ansi "^6.0.0" -tailwindcss@^2.2.16: - version "2.2.16" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.16.tgz#32f81bdf1758b639cb83b9d30bf7cbecdda49e5e" - integrity sha512-EireCtpQyyJ4Xz8NYzHafBoy4baCOO96flM0+HgtsFcIQ9KFy/YBK3GEtlnD+rXen0e4xm8t3WiUcKBJmN6yjg== +tailwindcss@^2.2.17: + version "2.2.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.17.tgz#c6332731f9ff1b6628ff589c95c38685347775e3" + integrity sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA== dependencies: arg "^5.0.1" bytes "^3.0.0" From d725fb5c29125bdc7ad41be3f78cafed6be386e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:43 +0000 Subject: [PATCH 044/564] Bump node from 16.10.0-alpine to 16.11.1-alpine in /packages/website Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/Dockerfile b/packages/website/Dockerfile index 057b5430..d67627e1 100644 --- a/packages/website/Dockerfile +++ b/packages/website/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine RUN apk update && apk add autoconf automake build-base libtool nasm pkgconfig From f3f5e65a2138f3058ccd34f78012e11185fc6f00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:44 +0000 Subject: [PATCH 045/564] Bump node from 16.10.0-alpine to 16.11.1-alpine in /packages/dnslink-api Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dnslink-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dnslink-api/Dockerfile b/packages/dnslink-api/Dockerfile index b908680c..903c6757 100644 --- a/packages/dnslink-api/Dockerfile +++ b/packages/dnslink-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine WORKDIR /usr/app From 8255cc05a9eb19236b8108a12897111b3d02196c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:47 +0000 Subject: [PATCH 046/564] Bump node from 16.10.0-alpine to 16.11.1-alpine in /packages/dashboard Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dashboard/Dockerfile b/packages/dashboard/Dockerfile index 8d93a036..8b2cfc32 100644 --- a/packages/dashboard/Dockerfile +++ b/packages/dashboard/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine WORKDIR /usr/app From 2ff7a05c0952789e90638574f9270aef494a839f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:47 +0000 Subject: [PATCH 047/564] Bump node in /packages/health-check Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/health-check/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/Dockerfile b/packages/health-check/Dockerfile index 524885d1..dbf0a774 100644 --- a/packages/health-check/Dockerfile +++ b/packages/health-check/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine RUN apk update && apk add dnsmasq From adc971f0b802b6080118e74377cb7a03791a49e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:48 +0000 Subject: [PATCH 048/564] Bump node from 16.10.0-alpine to 16.11.1-alpine in /docker/handshake Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docker/handshake/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/handshake/Dockerfile b/docker/handshake/Dockerfile index 1f068d97..4a3d8bd7 100644 --- a/docker/handshake/Dockerfile +++ b/docker/handshake/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine WORKDIR /opt/hsd From d04e45663843b96e8412160e52caaa5ac7d6de71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:09:54 +0000 Subject: [PATCH 049/564] Bump node in /packages/handshake-api Bumps node from 16.10.0-alpine to 16.11.1-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/handshake-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/handshake-api/Dockerfile b/packages/handshake-api/Dockerfile index 6af633bd..2ed56e43 100644 --- a/packages/handshake-api/Dockerfile +++ b/packages/handshake-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.10.0-alpine +FROM node:16.11.1-alpine WORKDIR /usr/app From 23ae8f22421aa34fe4ff26bfe8852515fc1b9254 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Oct 2021 13:31:05 +0000 Subject: [PATCH 050/564] Bump @stripe/react-stripe-js from 1.5.0 to 1.6.0 in /packages/dashboard Bumps [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/stripe/react-stripe-js/releases) - [Changelog](https://github.com/stripe/react-stripe-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/react-stripe-js/compare/v1.5.0...v1.6.0) --- updated-dependencies: - dependency-name: "@stripe/react-stripe-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 3930cb28..ed4adefd 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -10,7 +10,7 @@ "dependencies": { "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", - "@stripe/react-stripe-js": "1.5.0", + "@stripe/react-stripe-js": "1.6.0", "@stripe/stripe-js": "1.20.2", "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.3.7", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index fc5b5bdd..329476e4 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -181,10 +181,10 @@ dependencies: axios "^0.19.2" -"@stripe/react-stripe-js@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.5.0.tgz#7e4d80077e88e1f2c1f10ac255f2838d7c9488c2" - integrity sha512-A7+bNeb0O/kw3JdtMeiB6frokPcks5obi+TIjuFRXUMZ5o/o1Qe7eLgLnsb0KOO/g3KJqNCpHiYcKCLESZJJbQ== +"@stripe/react-stripe-js@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.6.0.tgz#e3adf6a6ea6d839193164fa3cfe73cf52db3a080" + integrity sha512-tMmsPD+wkpiiVJZgQ1E06tklG5MZHG462s6OWja9abpxq76kerAxMFN+KdhUg0LIEY79THbzvH3s/WGHasnV3w== dependencies: prop-types "^15.7.2" From f78bc22b5beff799ed0e4c2a6060f0dcd433012e Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 18 Oct 2021 15:02:30 +0100 Subject: [PATCH 051/564] use skynetlabs deploy-to-skynet --- .github/workflows/deploy-website.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-website.yml b/.github/workflows/deploy-website.yml index c5f4aed2..dc6058ac 100644 --- a/.github/workflows/deploy-website.yml +++ b/.github/workflows/deploy-website.yml @@ -40,7 +40,7 @@ jobs: wait-on: "http://127.0.0.1:9000" - name: "Deploy to Skynet" - uses: kwypchlo/deploy-to-skynet-action@main + uses: skynetlabs/deploy-to-skynet-action@v2 with: upload-dir: packages/website/public github-token: ${{ secrets.GITHUB_TOKEN }} From ffb1e499b9c996dd1075c2b4778384f39f49101e Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 18 Oct 2021 15:25:59 +0100 Subject: [PATCH 052/564] use skynet to load our homepage --- docker/nginx/conf.d/server/server.api | 10 ++++++++++ packages/health-check/src/checks/critical.js | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 183f9794..9f966d0d 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -26,6 +26,16 @@ rewrite ^/skynet/blacklist /skynet/blocklist permanent; location / { include /etc/nginx/conf.d/include/cors; + set $skylink "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; + set $path $uri; + + include /etc/nginx/conf.d/include/location-skylink; + + proxy_intercept_errors on; + error_page 400 404 490 500 502 503 504 =200 @fallback; +} + +location @fallback { proxy_pass http://website:9000; } diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 1344c5b3..daa261f3 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -58,6 +58,13 @@ async function handshakeSubdomainCheck(done) { return done(await genericAccessCheck("hns_via_subdomain", url)); } +// websiteSkylinkCheck returns the result of accessing siasky.net website through skylink +async function websiteSkylinkCheck(done) { + const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; + + return done(await genericAccessCheck("website_skylink", websiteSkylink)); +} + // accountWebsiteCheck returns the result of accessing account dashboard website async function accountWebsiteCheck(done) { const url = `${process.env.SKYNET_DASHBOARD_URL}/auth/login`; @@ -159,6 +166,7 @@ async function genericAccessCheck(name, url) { const checks = [ uploadCheck, websiteCheck, + websiteSkylinkCheck, downloadCheck, skylinkSubdomainCheck, handshakeSubdomainCheck, From 9e78082a438b65c7b150911337db94c22502ce5b Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Mon, 18 Oct 2021 15:46:54 -0400 Subject: [PATCH 053/564] Update changelog for v0.1.3 --- CHANGELOG.md | 10 ++++++++-- changelog/changelog-tail.md | 20 +++++++++++++++++++ .../items/bugs-fixed/expose-upload-concat.md | 1 - changelog/items/bugs-fixed/fix-caddy.md | 1 - .../fix-external-links-on-news-header.md | 1 - .../bugs-fixed/round-reporting-datetime.md | 1 - .../items/key-updates/308-redirect-code.md | 1 - .../items/key-updates/caddy-dns-ttl-limit.md | 1 - .../key-updates/enable-mongodb-for-skyd.md | 1 - .../health-check-disable-reason.md | 1 - changelog/items/key-updates/mongo-service.md | 1 - .../items/key-updates/tus-options-response.md | 1 - changelog/items/key-updates/unpin-skylink.md | 1 - changelog/items/other/remove-nebulous-labs.md | 1 - 14 files changed, 28 insertions(+), 14 deletions(-) delete mode 100644 changelog/items/bugs-fixed/expose-upload-concat.md delete mode 100644 changelog/items/bugs-fixed/fix-caddy.md delete mode 100644 changelog/items/bugs-fixed/fix-external-links-on-news-header.md delete mode 100644 changelog/items/bugs-fixed/round-reporting-datetime.md delete mode 100644 changelog/items/key-updates/308-redirect-code.md delete mode 100644 changelog/items/key-updates/caddy-dns-ttl-limit.md delete mode 100644 changelog/items/key-updates/enable-mongodb-for-skyd.md delete mode 100644 changelog/items/key-updates/health-check-disable-reason.md delete mode 100644 changelog/items/key-updates/mongo-service.md delete mode 100644 changelog/items/key-updates/tus-options-response.md delete mode 100644 changelog/items/key-updates/unpin-skylink.md delete mode 100644 changelog/items/other/remove-nebulous-labs.md diff --git a/CHANGELOG.md b/CHANGELOG.md index b0759da5..6f5dda75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,15 +10,21 @@ Version History Latest: -## Sep 21, 2021: -### deploy-2021-09-21 +## Oct 18, 2021: +### v0.1.3 **Key Updates** - Change skyd 307 redirect code to 308 - Set caddy dns entry ttl limit to 15 minutes to remove stranded entries. +- Set skyd up to connect to the local mongodb cluster for storing TUS metadata - Update health check disable command to require reason. +- Move MongoDB to a separate service (use `PORTAL_MODULES=m` to use it without accounts) - Add proper handling for options response on /skynet/tus endpoint +- added unpinning skylinks from account dashboard **Bugs Fixed** +- include tus header upload-concat in cors requests +- fixed issue with caddy requesting new certificates instead of using existing ones from file storage +- fixed the latest news link redirect in the news header - Fix extended checks error by rounding the reported datetime. **Other** diff --git a/changelog/changelog-tail.md b/changelog/changelog-tail.md index 5bf35a67..c42922df 100644 --- a/changelog/changelog-tail.md +++ b/changelog/changelog-tail.md @@ -1,3 +1,23 @@ +## Oct 18, 2021: +### v0.1.3 +**Key Updates** +- Change skyd 307 redirect code to 308 +- Set caddy dns entry ttl limit to 15 minutes to remove stranded entries. +- Set skyd up to connect to the local mongodb cluster for storing TUS metadata +- Update health check disable command to require reason. +- Move MongoDB to a separate service (use `PORTAL_MODULES=m` to use it without accounts) +- Add proper handling for options response on /skynet/tus endpoint +- added unpinning skylinks from account dashboard + +**Bugs Fixed** +- include tus header upload-concat in cors requests +- fixed issue with caddy requesting new certificates instead of using existing ones from file storage +- fixed the latest news link redirect in the news header +- Fix extended checks error by rounding the reported datetime. + +**Other** +- Remove outdated references to NebulousLabs + ## August 9th, 2021: diff --git a/changelog/items/bugs-fixed/expose-upload-concat.md b/changelog/items/bugs-fixed/expose-upload-concat.md deleted file mode 100644 index b6466060..00000000 --- a/changelog/items/bugs-fixed/expose-upload-concat.md +++ /dev/null @@ -1 +0,0 @@ -- include tus header upload-concat in cors requests diff --git a/changelog/items/bugs-fixed/fix-caddy.md b/changelog/items/bugs-fixed/fix-caddy.md deleted file mode 100644 index 83a92989..00000000 --- a/changelog/items/bugs-fixed/fix-caddy.md +++ /dev/null @@ -1 +0,0 @@ -- fixed issue with caddy requesting new certificates instead of using existing ones from file storage diff --git a/changelog/items/bugs-fixed/fix-external-links-on-news-header.md b/changelog/items/bugs-fixed/fix-external-links-on-news-header.md deleted file mode 100644 index aa7c8c54..00000000 --- a/changelog/items/bugs-fixed/fix-external-links-on-news-header.md +++ /dev/null @@ -1 +0,0 @@ -- fixed the latest news link redirect in the news header diff --git a/changelog/items/bugs-fixed/round-reporting-datetime.md b/changelog/items/bugs-fixed/round-reporting-datetime.md deleted file mode 100644 index 731a20bc..00000000 --- a/changelog/items/bugs-fixed/round-reporting-datetime.md +++ /dev/null @@ -1 +0,0 @@ -- Fix extended checks error by rounding the reported datetime. diff --git a/changelog/items/key-updates/308-redirect-code.md b/changelog/items/key-updates/308-redirect-code.md deleted file mode 100644 index d07f0566..00000000 --- a/changelog/items/key-updates/308-redirect-code.md +++ /dev/null @@ -1 +0,0 @@ -- Change skyd 307 redirect code to 308 diff --git a/changelog/items/key-updates/caddy-dns-ttl-limit.md b/changelog/items/key-updates/caddy-dns-ttl-limit.md deleted file mode 100644 index c5d1929f..00000000 --- a/changelog/items/key-updates/caddy-dns-ttl-limit.md +++ /dev/null @@ -1 +0,0 @@ -- Set caddy dns entry ttl limit to 15 minutes to remove stranded entries. diff --git a/changelog/items/key-updates/enable-mongodb-for-skyd.md b/changelog/items/key-updates/enable-mongodb-for-skyd.md deleted file mode 100644 index cc1a399b..00000000 --- a/changelog/items/key-updates/enable-mongodb-for-skyd.md +++ /dev/null @@ -1 +0,0 @@ -- Set skyd up to connect to the local mongodb cluster for storing TUS metadata \ No newline at end of file diff --git a/changelog/items/key-updates/health-check-disable-reason.md b/changelog/items/key-updates/health-check-disable-reason.md deleted file mode 100644 index c943fb11..00000000 --- a/changelog/items/key-updates/health-check-disable-reason.md +++ /dev/null @@ -1 +0,0 @@ -- Update health check disable command to require reason. diff --git a/changelog/items/key-updates/mongo-service.md b/changelog/items/key-updates/mongo-service.md deleted file mode 100644 index 3ef3b13f..00000000 --- a/changelog/items/key-updates/mongo-service.md +++ /dev/null @@ -1 +0,0 @@ -- Move MongoDB to a separate service (use `PORTAL_MODULES=m` to use it without accounts) diff --git a/changelog/items/key-updates/tus-options-response.md b/changelog/items/key-updates/tus-options-response.md deleted file mode 100644 index f5144d81..00000000 --- a/changelog/items/key-updates/tus-options-response.md +++ /dev/null @@ -1 +0,0 @@ -- Add proper handling for options response on /skynet/tus endpoint diff --git a/changelog/items/key-updates/unpin-skylink.md b/changelog/items/key-updates/unpin-skylink.md deleted file mode 100644 index ab403ff9..00000000 --- a/changelog/items/key-updates/unpin-skylink.md +++ /dev/null @@ -1 +0,0 @@ -- added unpinning skylinks from account dashboard diff --git a/changelog/items/other/remove-nebulous-labs.md b/changelog/items/other/remove-nebulous-labs.md deleted file mode 100644 index 0e7bf671..00000000 --- a/changelog/items/other/remove-nebulous-labs.md +++ /dev/null @@ -1 +0,0 @@ -- Remove outdated references to NebulousLabs From b6a165cb281e384f758b87119733254d8fbbff15 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Tue, 19 Oct 2021 16:10:41 +0200 Subject: [PATCH 054/564] Make sure db restore works reliably and overwrites backup collections. --- scripts/db_restore.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/db_restore.sh b/scripts/db_restore.sh index 79e6e0f7..7ae0e6b0 100755 --- a/scripts/db_restore.sh +++ b/scripts/db_restore.sh @@ -85,20 +85,22 @@ if [ "$totalFoundObjects" -eq "0" ]; then echo "This backup doesn't exist!" exit 1 fi +cd $csd/.. # Get the backup from S3: aws s3 cp $S3_BACKUP_PATH/$BACKUP/mongo.tgz mongo.tgz # Prepare a clean `to_restore` dir: -rm -rf $csd/../docker/data/mongo/db/backups/to_restore -mkdir -p $csd/../docker/data/mongo/db/backups/to_restore +rm -rf docker/data/mongo/db/backups/to_restore +mkdir -p docker/data/mongo/db/backups/to_restore # Decompress the backup: -tar -xzf mongo.tgz -C $csd/../docker/data/mongo/db/backups/to_restore +tar -xzf mongo.tgz -C docker/data/mongo/db/backups/to_restore rm mongo.tgz # Restore the backup: # The name of the backup is not `mongo` due to the way we're creating it, # it's $BACKUP. docker exec mongo \ - mongorestore \ + mongorestore --drop \ mongodb://$SKYNET_DB_USER:$SKYNET_DB_PASS@$SKYNET_DB_HOST:$SKYNET_DB_PORT \ /data/db/backups/to_restore/$BACKUP # Clean up: -rm -rf $csd/../docker/data/mongo/db/backups/to_restore +rm -rf docker/data/mongo/db/backups/to_restore +cd - From 97b192040959a6ca8bb2d4314bc653c30f940f0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Wypch=C5=82o?= Date: Tue, 19 Oct 2021 15:59:23 +0100 Subject: [PATCH 055/564] fix registry tracking method (#1299) --- docker/nginx/conf.d/include/track-registry | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/nginx/conf.d/include/track-registry b/docker/nginx/conf.d/include/track-registry index ccab959b..7811ce07 100644 --- a/docker/nginx/conf.d/include/track-registry +++ b/docker/nginx/conf.d/include/track-registry @@ -7,7 +7,7 @@ log_by_lua_block { if premature then return end local httpc = require("resty.http").new() - local method = request_method == ngx.HTTP_GET and "read" or "write" + local method = request_method == "GET" and "read" or "write" -- 10.10.10.70 points to accounts service (alias not available when using resty-http) local res, err = httpc:request_uri("http://10.10.10.70:3000/track/registry/" .. method, { From 96a85e3ec47c8039c22fe5aa0d67bdf1806cba69 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Tue, 19 Oct 2021 17:10:31 +0200 Subject: [PATCH 056/564] Add an update for awscli. Restore the backtracking paths. --- scripts/db_restore.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/db_restore.sh b/scripts/db_restore.sh index 7ae0e6b0..bcd6b24c 100755 --- a/scripts/db_restore.sh +++ b/scripts/db_restore.sh @@ -1,5 +1,8 @@ #!/bin/bash +# First of all, let's pamper awscli because Python is so special: +pip3 install --upgrade awscli + BACKUP=$1 if [[ $BACKUP == "" ]]; then echo "No backup name given. It should look like '2020-01-29'." @@ -89,18 +92,17 @@ cd $csd/.. # Get the backup from S3: aws s3 cp $S3_BACKUP_PATH/$BACKUP/mongo.tgz mongo.tgz # Prepare a clean `to_restore` dir: -rm -rf docker/data/mongo/db/backups/to_restore -mkdir -p docker/data/mongo/db/backups/to_restore +rm -rf $csd/../docker/data/mongo/db/backups/to_restore +mkdir -p $csd/../docker/data/mongo/db/backups/to_restore # Decompress the backup: -tar -xzf mongo.tgz -C docker/data/mongo/db/backups/to_restore +tar -xzf mongo.tgz -C $csd/../docker/data/mongo/db/backups/to_restore rm mongo.tgz # Restore the backup: # The name of the backup is not `mongo` due to the way we're creating it, # it's $BACKUP. docker exec mongo \ - mongorestore --drop \ + mongorestore -- drop\ mongodb://$SKYNET_DB_USER:$SKYNET_DB_PASS@$SKYNET_DB_HOST:$SKYNET_DB_PORT \ /data/db/backups/to_restore/$BACKUP # Clean up: -rm -rf docker/data/mongo/db/backups/to_restore -cd - +rm -rf $csd/../docker/data/mongo/db/backups/to_restore From 8bb5e24e24a364edbcb0e32cf0657063bc0b0ae4 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Tue, 19 Oct 2021 17:12:00 +0200 Subject: [PATCH 057/564] Fix fingers-faster-than-brain bug. --- scripts/db_restore.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/db_restore.sh b/scripts/db_restore.sh index bcd6b24c..6e64671e 100755 --- a/scripts/db_restore.sh +++ b/scripts/db_restore.sh @@ -101,7 +101,7 @@ rm mongo.tgz # The name of the backup is not `mongo` due to the way we're creating it, # it's $BACKUP. docker exec mongo \ - mongorestore -- drop\ + mongorestore --drop \ mongodb://$SKYNET_DB_USER:$SKYNET_DB_PASS@$SKYNET_DB_HOST:$SKYNET_DB_PORT \ /data/db/backups/to_restore/$BACKUP # Clean up: From e541669a652b298f62f9b47a9c14978d7291f873 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Tue, 19 Oct 2021 17:13:05 +0200 Subject: [PATCH 058/564] Remove merge leftovers. --- scripts/db_restore.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/db_restore.sh b/scripts/db_restore.sh index 6e64671e..f19def85 100755 --- a/scripts/db_restore.sh +++ b/scripts/db_restore.sh @@ -88,7 +88,6 @@ if [ "$totalFoundObjects" -eq "0" ]; then echo "This backup doesn't exist!" exit 1 fi -cd $csd/.. # Get the backup from S3: aws s3 cp $S3_BACKUP_PATH/$BACKUP/mongo.tgz mongo.tgz # Prepare a clean `to_restore` dir: From 96c634b6e776079ae692a87d0849a569c80237a8 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 21 Oct 2021 10:40:33 +0200 Subject: [PATCH 059/564] Backup MongoDB before CockroachDB because we can backfill user registrations in MongoDB but not in CockroachDB. --- scripts/db_backup.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/scripts/db_backup.sh b/scripts/db_backup.sh index 14f7abb1..32e042ce 100755 --- a/scripts/db_backup.sh +++ b/scripts/db_backup.sh @@ -27,26 +27,6 @@ fi # Take the current datetime: DT=$(date +%Y-%m-%d) -### COCKROACH DB ### -echo "Creating a backup of CockroachDB:" -# Check if a backup already exists: -totalFoundObjects=$(aws s3 ls $S3_BACKUP_PATH/$DT --recursive --summarize | grep "cockroach" | wc -l) -if [ "$totalFoundObjects" -ge "1" ]; then - echo "Backup already exists for today. Skipping." -else - # Create a cockroachdb backup: - docker exec cockroach \ - cockroach sql \ - --host cockroach:26257 \ - --certs-dir=/certs \ - --execute="BACKUP TO '$S3_BACKUP_PATH/$DT/cockroach/?AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID&AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY';" - if [[ $? > 0 ]]; then - echo "Creating a CockroachDB backup failed. Skipping." - else - echo "Successfully backed up CockroachDB." - fi -fi - ### MONGO DB ### echo "Creating a backup of MongoDB:" # Check if a backup already exists: @@ -73,3 +53,23 @@ else fi docker exec mongo rm -rf /data/db/backups/$DT fi + +### COCKROACH DB ### +echo "Creating a backup of CockroachDB:" +# Check if a backup already exists: +totalFoundObjects=$(aws s3 ls $S3_BACKUP_PATH/$DT --recursive --summarize | grep "cockroach" | wc -l) +if [ "$totalFoundObjects" -ge "1" ]; then + echo "Backup already exists for today. Skipping." +else + # Create a cockroachdb backup: + docker exec cockroach \ + cockroach sql \ + --host cockroach:26257 \ + --certs-dir=/certs \ + --execute="BACKUP TO '$S3_BACKUP_PATH/$DT/cockroach/?AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID&AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY';" + if [[ $? > 0 ]]; then + echo "Creating a CockroachDB backup failed. Skipping." + else + echo "Successfully backed up CockroachDB." + fi +fi From 9e4ac0eb38609d799e1b8cc34cf95a0eb1ddc449 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Thu, 21 Oct 2021 14:41:24 -0400 Subject: [PATCH 060/564] add missing servers and missing blocklist command to script --- scripts/blocklist-skylink.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index 80885b14..528779ca 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -38,20 +38,30 @@ fi # iterate through all servers, block the skylinks and purge it from cache ######################################################################### declare -a servers=( "eu-ger-1.siasky.net" "eu-ger-2.siasky.net" "eu-ger-3.siasky.net" "eu-ger-4.siasky.net" "eu-ger-5.siasky.net" "eu-ger-6.siasky.net" "eu-ger-7.siasky.net" "eu-ger-8.siasky.net" - "eu-fin-1.siasky.net" "eu-fin-2.siasky.net" "eu-fin-3.siasky.net" "eu-fin-4.siasky.net" - "eu-pol-1.siasky.net" "eu-pol-2.siasky.net" "eu-pol-3.siasky.net" + "eu-ger-9.siasky.net" "eu-ger-10.siasky.net" "eu-ger-11.siasky.net" "eu-ger-12.siasky.net" + "eu-fin-1.siasky.net" "eu-fin-2.siasky.net" "eu-fin-3.siasky.net" "eu-fin-4.siasky.net" "eu-fin-5.siasky.net" "eu-fin-6.siasky.net" "eu-fin-7-siasky.net" "eu-fin-8.siasky.net" + "eu-fin-9.siasky.net" "eu-fin-10.siasky.net" "eu-fin-11.siasky.net" "eu-fin-12.siasky.net" "eu-fin-13.siasky.net" "eu-fin-14.siasky.net" "eu-fin-15.siasky.net" + "eu-pol-1.siasky.net" "eu-pol-2.siasky.net" "eu-pol-3.siasky.net" "eu-pol-4.siasky.net" "eu-pol-5.siasky.net" + "us-ny-1.siasky.net" "us-ny-2.siasky.net" "us-or-1.siasky.net" "us-or-2.siasky.net" + "us-la-1.siasky.net" "us-la-2.siasky.net" "us-la-3.siasky.net" "us-pa-1.siasky.net" "us-pa-2.siasky.net" - "us-va-1.siasky.net" "us-va-2.siasky.net" "us-va-3.siasky.net" - "as-hk-1.siasky.net" + "us-va-1.siasky.net" "us-va-2.siasky.net" "us-va-3.siasky.net" "us-va-4.siasky.net" "us-va-5.siasky.net" "us-va-6.siasky.net" + "as-hk-1.siasky.net" "as-sp-1.siasky.net" "as-sp-2.siasky.net" "siasky.xyz" "dev1.siasky.dev" "dev2.siasky.dev" "dev3.siasky.dev") for server in "${servers[@]}"; do for skylink in "${skylinks[@]}"; do echo ".. ⌁ Blocking skylink ${skylink} on ${server}" + + # Add to blocklist + ssh -q -t user@${server} "docker exec sia siac skynet blocklist add ${skylink}" + + # Remove from NGINX cache cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Elsq '^Skynet-Skylink: ${skylink}'" ssh -q -t user@${server} "docker exec -it nginx bash -c ${cached_files_command} | xargs -r rm" + echo ".. ⌁ Skylink ${skylink} Blocked on ${server}" echo "--------------------------------------------" done From bd8b2bdc0aac63b0d48b1eb1d530bdf7c5a243cd Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Thu, 21 Oct 2021 14:44:45 -0400 Subject: [PATCH 061/564] Changelog file --- changelog/items/bugs-fixed/add-missing-blocklist-cmd.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/bugs-fixed/add-missing-blocklist-cmd.md diff --git a/changelog/items/bugs-fixed/add-missing-blocklist-cmd.md b/changelog/items/bugs-fixed/add-missing-blocklist-cmd.md new file mode 100644 index 00000000..3d72b402 --- /dev/null +++ b/changelog/items/bugs-fixed/add-missing-blocklist-cmd.md @@ -0,0 +1 @@ +- Add missing servers and blocklist command to the manual blocklist script. From 3e8c8a5d016b381e749ab3d00a36d7e6e35137b4 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Fri, 22 Oct 2021 10:23:06 +0200 Subject: [PATCH 062/564] Fix blocklist skylink script --- changelog/items/bugs-fixed/fix-blocklist-skylink.md | 2 ++ scripts/blocklist-skylink.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog/items/bugs-fixed/fix-blocklist-skylink.md diff --git a/changelog/items/bugs-fixed/fix-blocklist-skylink.md b/changelog/items/bugs-fixed/fix-blocklist-skylink.md new file mode 100644 index 00000000..b7b6d38d --- /dev/null +++ b/changelog/items/bugs-fixed/fix-blocklist-skylink.md @@ -0,0 +1,2 @@ +- Fix `blocklist-skylink.sh` script that didn't removed blocked skylink from + nginx cache. \ No newline at end of file diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index 80885b14..25b4df29 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -50,7 +50,7 @@ do for skylink in "${skylinks[@]}"; do echo ".. ⌁ Blocking skylink ${skylink} on ${server}" - cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Elsq '^Skynet-Skylink: ${skylink}'" + cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" ssh -q -t user@${server} "docker exec -it nginx bash -c ${cached_files_command} | xargs -r rm" echo ".. ⌁ Skylink ${skylink} Blocked on ${server}" echo "--------------------------------------------" From a673a7cb9a1d16bc387a5777edeb53a1dea91b9c Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Fri, 22 Oct 2021 12:06:01 -0400 Subject: [PATCH 063/564] Enabling account module --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 024300ba..3f94c3ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,7 +24,7 @@ services: restart: unless-stopped logging: *default-logging environment: - - SIA_MODULES=gctwr + - SIA_MODULES=gctwra - MONGODB_URI=mongodb://${SKYNET_DB_HOST}:${SKYNET_DB_PORT} - MONGODB_USER=${SKYNET_DB_USER} - MONGODB_PASSWORD=${SKYNET_DB_PASS} From a0077827935121860f916cad584cba7da686f1bb Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Fri, 22 Oct 2021 12:07:41 -0400 Subject: [PATCH 064/564] Add changelog file --- changelog/items/other/enable-accounting.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/other/enable-accounting.md diff --git a/changelog/items/other/enable-accounting.md b/changelog/items/other/enable-accounting.md new file mode 100644 index 00000000..4771bbe0 --- /dev/null +++ b/changelog/items/other/enable-accounting.md @@ -0,0 +1 @@ +- Enable the accounting module for skyd From efc70a49f018a12ec8fe64309af5bfcd387e5ffc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:06:49 +0000 Subject: [PATCH 065/564] Bump tailwindcss from 2.2.16 to 2.2.17 in /packages/dashboard Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 2.2.16 to 2.2.17. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v2.2.17/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v2.2.16...v2.2.17) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ed4adefd..24703df8 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -34,7 +34,7 @@ "stripe": "8.183.0", "superagent": "6.1.0", "swr": "1.0.1", - "tailwindcss": "2.2.16", + "tailwindcss": "2.2.17", "yup": "0.32.11" }, "resolutions": { diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 329476e4..b2c85043 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2982,10 +2982,10 @@ swr@1.0.1: dependencies: dequal "2.0.2" -tailwindcss@2.2.16: - version "2.2.16" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.16.tgz#32f81bdf1758b639cb83b9d30bf7cbecdda49e5e" - integrity sha512-EireCtpQyyJ4Xz8NYzHafBoy4baCOO96flM0+HgtsFcIQ9KFy/YBK3GEtlnD+rXen0e4xm8t3WiUcKBJmN6yjg== +tailwindcss@2.2.17: + version "2.2.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.17.tgz#c6332731f9ff1b6628ff589c95c38685347775e3" + integrity sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA== dependencies: arg "^5.0.1" bytes "^3.0.0" From 0584f45336da1f7c6f79729807bb8b01dfe92082 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:06:59 +0000 Subject: [PATCH 066/564] Bump stripe from 8.183.0 to 8.184.0 in /packages/dashboard Bumps [stripe](https://github.com/stripe/stripe-node) from 8.183.0 to 8.184.0. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v8.183.0...v8.184.0) --- updated-dependencies: - dependency-name: stripe dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ed4adefd..fbd5e554 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -31,7 +31,7 @@ "react-dom": "17.0.2", "react-toastify": "8.0.3", "skynet-js": "3.0.2", - "stripe": "8.183.0", + "stripe": "8.184.0", "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.16", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 329476e4..ccaf296b 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2905,10 +2905,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -stripe@8.183.0: - version "8.183.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.183.0.tgz#3dc183fafff618526a576a0d9972483b08075e06" - integrity sha512-QcM3nimH1CuP49VPPRt36Wgfu4QoS+Wm0eyGMis7Ej+seWFKqMffMdx7TE2gn8dVsJIOA1kDuIbAQGqpZHozGA== +stripe@8.184.0: + version "8.184.0" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.184.0.tgz#ea68470ca6045bb47516c4fea3b775fd6ce15a36" + integrity sha512-ZUdvyX+sizTxXLEbUjgTShrulSWSkMIt7hIKdAkhnajYrHdzVtdmhBJl8sQbR9chMVox3Ig5ohilyeIrvcCE2g== dependencies: "@types/node" ">=8.1.0" qs "^6.6.0" From a6d6182ed28bc2ef86363a572c56ed0275505305 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:07:28 +0000 Subject: [PATCH 067/564] Bump @stripe/stripe-js from 1.20.2 to 1.20.3 in /packages/dashboard Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.20.2 to 1.20.3. - [Release notes](https://github.com/stripe/stripe-js/releases) - [Commits](https://github.com/stripe/stripe-js/compare/v1.20.2...v1.20.3) --- updated-dependencies: - dependency-name: "@stripe/stripe-js" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ed4adefd..5cf83767 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -11,7 +11,7 @@ "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.6.0", - "@stripe/stripe-js": "1.20.2", + "@stripe/stripe-js": "1.20.3", "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.3.7", "classnames": "2.3.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 329476e4..f8a54b75 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -188,10 +188,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.20.2": - version "1.20.2" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.20.2.tgz#5bb8deff1ba6cdc83d0bfac58e4d61fe2e4a53e7" - integrity sha512-gTPpXQgAgKrAAvV2R5WO4NCuozALD4n3xaDLhPv+nAomIdPLtgEwI2xIGY7WMSKp9KfkKmlcjoPO4pkz8f/bpw== +"@stripe/stripe-js@1.20.3": + version "1.20.3" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.20.3.tgz#6f479d53ad933b8b17b6c708bbc2840b7512d80e" + integrity sha512-pFhPvajrZJUzoOZDC3/2YsOeL5VD63CVlbOXs+AriIchmy6Kb2CQqrcHPCuK72FM726lwo4neF0wPRBtsLYXuw== "@tailwindcss/forms@0.3.4": version "0.3.4" From f8736088a327907b2ee044898b98979078bcf063 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:08:35 +0000 Subject: [PATCH 068/564] Bump node in /packages/health-check Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/health-check/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/Dockerfile b/packages/health-check/Dockerfile index dbf0a774..db117f1b 100644 --- a/packages/health-check/Dockerfile +++ b/packages/health-check/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine RUN apk update && apk add dnsmasq From 6fbe0fff8e5dad2ac6f40e01657140a2aad2047a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:08:39 +0000 Subject: [PATCH 069/564] Bump node from 16.11.1-alpine to 16.12.0-alpine in /packages/website Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/Dockerfile b/packages/website/Dockerfile index d67627e1..ae025cb2 100644 --- a/packages/website/Dockerfile +++ b/packages/website/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine RUN apk update && apk add autoconf automake build-base libtool nasm pkgconfig From 9d773685a8d03c49b45f337779b01cca05fea0db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:12:43 +0000 Subject: [PATCH 070/564] Bump gatsby-plugin-robots-txt from 1.6.10 to 1.6.13 in /packages/website Bumps [gatsby-plugin-robots-txt](https://github.com/mdreizin/gatsby-plugin-robots-txt) from 1.6.10 to 1.6.13. - [Release notes](https://github.com/mdreizin/gatsby-plugin-robots-txt/releases) - [Commits](https://github.com/mdreizin/gatsby-plugin-robots-txt/compare/v1.6.10...v1.6.13) --- updated-dependencies: - dependency-name: gatsby-plugin-robots-txt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index d147dadd..5a62b9c2 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -25,7 +25,7 @@ "gatsby-plugin-postcss": "^4.14.0", "gatsby-plugin-purgecss": "^6.0.2", "gatsby-plugin-react-helmet": "^4.14.0", - "gatsby-plugin-robots-txt": "^1.6.10", + "gatsby-plugin-robots-txt": "^1.6.13", "gatsby-plugin-sharp": "^3.14.1", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f5f36f91..d6e96200 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6159,10 +6159,10 @@ gatsby-plugin-react-helmet@^4.14.0: dependencies: "@babel/runtime" "^7.15.4" -gatsby-plugin-robots-txt@^1.6.10: - version "1.6.10" - resolved "https://registry.yarnpkg.com/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.10.tgz#b178efe3da65718a39d1acd2e5768f687b205cf0" - integrity sha512-soQT765LF0J8/dfrZGFuA/ZB/JUyvt2nVyHEFLUMd/qxgiem9x0EOZquJPId78xDHYePMkxNCPk9UsLcTZdFZw== +gatsby-plugin-robots-txt@^1.6.13: + version "1.6.13" + resolved "https://registry.yarnpkg.com/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.13.tgz#01e1ce68e3f4e07f957ac9a20cd2a9e12fdd3f79" + integrity sha512-MUPJsvkALwSmfRb1L3IVNmzIqwV35fol1RVot425ZYXvtD+s0OtZli5VnhLNxsX0beodyavzFl0SRJCCQZz0/g== dependencies: "@babel/runtime" "^7.14.0" generate-robotstxt "^8.0.3" From 83fcea5f98bb57f74ab022751809bde3fa84dffa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:14:40 +0000 Subject: [PATCH 071/564] Bump gatsby from 3.14.3 to 3.14.4 in /packages/website Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.14.3 to 3.14.4. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.3...gatsby@3.14.4) --- updated-dependencies: - dependency-name: gatsby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index d147dadd..3d5e85e3 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.3", + "gatsby": "^3.14.4", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f5f36f91..3786dddb 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6464,10 +6464,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.3: - version "3.14.3" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.3.tgz#62bc020d0997f4b30e419abe644f60483f99e8b5" - integrity sha512-B6NmmIvGGVNktky0YGugxMJlZAbKEzGMMBA8ojbaDhfEzfNXxsyHYd0aHKL0fNwPEqMKUsllaACdXrw6CWRk2g== +gatsby@^3.14.4: + version "3.14.4" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.4.tgz#e7ef5c3c1eda45ea3ad0bc1273f014fbc46b316c" + integrity sha512-cpsMhl2qkE0+TL0znwflVfycy143fFucGtFDkNxu8dbY0GRjA9MiDwlS/aSqg5U2HhhF39IcBvwuntiaP6vQ0g== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" From d0b01c8932634f779d8737602596045bba841637 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Oct 2021 12:15:18 +0000 Subject: [PATCH 072/564] Bump postcss from 8.3.9 to 8.3.11 in /packages/website Bumps [postcss](https://github.com/postcss/postcss) from 8.3.9 to 8.3.11. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.3.9...8.3.11) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index d147dadd..22e20960 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -48,7 +48,7 @@ "path-browserify": "^1.0.1", "polished": "^4.1.3", "popmotion": "^10.0.1", - "postcss": "^8.3.9", + "postcss": "^8.3.11", "preact-svg-loader": "^0.2.1", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index f5f36f91..b32d276b 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -9405,7 +9405,7 @@ nanocolors@^0.2.2: resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.10.tgz#a712df4d3c1bf12d9b4fb8b5aa61b5ba31337503" integrity sha512-i+EDWGsJClQwR/bhLIG/CObZZwaYaS5qt+yjxZbfV+77QiNHNzE9nj4d9Ut1TGZ0R0eSwPcQWzReASzXuw/7oA== -nanoid@^3.1.28, nanoid@^3.1.30: +nanoid@^3.1.30: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== @@ -10203,6 +10203,11 @@ picocolors@^0.2.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" @@ -10616,13 +10621,13 @@ postcss@^7.0.27: nanocolors "^0.2.2" source-map "^0.6.1" -postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.5, postcss@^8.3.9: - version "8.3.9" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.9.tgz#98754caa06c4ee9eb59cc48bd073bb6bd3437c31" - integrity sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw== +postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.2.9, postcss@^8.3.11, postcss@^8.3.5: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== dependencies: - nanoid "^3.1.28" - picocolors "^0.2.1" + nanoid "^3.1.30" + picocolors "^1.0.0" source-map-js "^0.6.2" potrace@^2.1.8: From 80373bb73f2543d11381df5e366582822323499d Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Mon, 25 Oct 2021 16:51:27 +0200 Subject: [PATCH 073/564] Update blocklist skylink script --- changelog/items/other/refactor-blocklist.md | 2 + scripts/blocklist-skylink.sh | 62 ++++++++------------- 2 files changed, 24 insertions(+), 40 deletions(-) create mode 100644 changelog/items/other/refactor-blocklist.md diff --git a/changelog/items/other/refactor-blocklist.md b/changelog/items/other/refactor-blocklist.md new file mode 100644 index 00000000..28629dab --- /dev/null +++ b/changelog/items/other/refactor-blocklist.md @@ -0,0 +1,2 @@ +- Remove hardcoded server list from `blocklist-skylink.sh` so it removes server + list duplication and can also be called from Ansible. \ No newline at end of file diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index e9d7f778..e5beeb3d 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -1,9 +1,10 @@ #! /usr/bin/env bash -# This script is meant to be used when manually adding a skylink to the -# blocklist on all the skynet web portals. The automatic script that is used to -# continuously sync a google sheets list with the blocklist on the web portals -# is /setup-scripts/blocklist-airtable.py +# This script adds a skylink to the sia blocklist and removes the skylink from +# nginx cache. The script should be run locally on each skynet webportal +# server. The automatic script that is used to continuously sync an Airtable +# sheet list with the blocklist on the web portals is +# /setup-scripts/blocklist-airtable.py set -e # exit on first error @@ -17,54 +18,35 @@ fi ######################################################### skylinks=() if test -f "$1"; then - OLDIFS=$IFS - IFS=',' line_number=1 - while read line + + # Read file including the last line even when it doesn't end with newline + while IFS="" read -r line || [ -n "$line" ]; do - if [[ $line =~ ([a-zA-Z0-9_-]{46}) ]]; then - skylinks+=("$BASH_REMATCH") + if [[ $line =~ (^[a-zA-Z0-9_-]{46}$) ]]; then + skylinks+=("$line") else echo "Incorrect skylink at line ${line_number}: $line" && exit 1 fi let line_number+=1 done < $1; - IFS=$OLDIFS else skylinks=("$1") # just single skylink passed as input argument fi -######################################################################### -# iterate through all servers, block the skylinks and purge it from cache -######################################################################### -declare -a servers=( "eu-ger-1.siasky.net" "eu-ger-2.siasky.net" "eu-ger-3.siasky.net" "eu-ger-4.siasky.net" "eu-ger-5.siasky.net" "eu-ger-6.siasky.net" "eu-ger-7.siasky.net" "eu-ger-8.siasky.net" - "eu-ger-9.siasky.net" "eu-ger-10.siasky.net" "eu-ger-11.siasky.net" "eu-ger-12.siasky.net" - "eu-fin-1.siasky.net" "eu-fin-2.siasky.net" "eu-fin-3.siasky.net" "eu-fin-4.siasky.net" "eu-fin-5.siasky.net" "eu-fin-6.siasky.net" "eu-fin-7-siasky.net" "eu-fin-8.siasky.net" - "eu-fin-9.siasky.net" "eu-fin-10.siasky.net" "eu-fin-11.siasky.net" "eu-fin-12.siasky.net" "eu-fin-13.siasky.net" "eu-fin-14.siasky.net" "eu-fin-15.siasky.net" - "eu-pol-1.siasky.net" "eu-pol-2.siasky.net" "eu-pol-3.siasky.net" "eu-pol-4.siasky.net" "eu-pol-5.siasky.net" - "us-ny-1.siasky.net" "us-ny-2.siasky.net" - "us-or-1.siasky.net" "us-or-2.siasky.net" - "us-la-1.siasky.net" "us-la-2.siasky.net" "us-la-3.siasky.net" - "us-pa-1.siasky.net" "us-pa-2.siasky.net" - "us-va-1.siasky.net" "us-va-2.siasky.net" "us-va-3.siasky.net" "us-va-4.siasky.net" "us-va-5.siasky.net" "us-va-6.siasky.net" - "as-hk-1.siasky.net" "as-sp-1.siasky.net" "as-sp-2.siasky.net" - "siasky.xyz" "dev1.siasky.dev" "dev2.siasky.dev" "dev3.siasky.dev") -for server in "${servers[@]}"; +for skylink in "${skylinks[@]}"; do - for skylink in "${skylinks[@]}"; - do - echo ".. ⌁ Blocking skylink ${skylink} on ${server}" - - # Add to blocklist - ssh -q -t user@${server} "docker exec sia siac skynet blocklist add ${skylink}" - - # Remove from NGINX cache - cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" - ssh -q -t user@${server} "docker exec -it nginx bash -c ${cached_files_command} | xargs -r rm" - - echo ".. ⌁ Skylink ${skylink} Blocked on ${server}" - echo "--------------------------------------------" - done + echo ".. ⌁ Blocking skylink ${skylink}" + + # Add to Sia blocklist + docker exec sia siac skynet blocklist add "${skylink}" + + # Remove from NGINX cache + cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" + docker exec -it nginx bash -c "${cached_files_command}" | xargs -r rm + + echo ".. ⌁ Skylink ${skylink} Blocked" + echo "--------------------------------------------" done echo "✓ All done !" From ec02e9afa2c97525338065f1532ff315d36c54c8 Mon Sep 17 00:00:00 2001 From: firyx <29089732+firyx@users.noreply.github.com> Date: Tue, 26 Oct 2021 09:43:21 +0200 Subject: [PATCH 074/564] Update scripts/blocklist-skylink.sh Co-authored-by: Matthew Sevey --- scripts/blocklist-skylink.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index e5beeb3d..8116263a 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -42,6 +42,7 @@ do docker exec sia siac skynet blocklist add "${skylink}" # Remove from NGINX cache + # NOTE: If there are changes to how the NGINX cache is being cleared, the same changes need to be applied to the /setup-scripts/blocklist-airtable.py script. cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" docker exec -it nginx bash -c "${cached_files_command}" | xargs -r rm From 838c2084a936a5084daf526b089853387b1be19e Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Tue, 26 Oct 2021 09:49:03 +0200 Subject: [PATCH 075/564] Add note to sync changes in blocklist scripts --- scripts/blocklist-skylink.sh | 5 ++++- setup-scripts/blocklist-airtable.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index 8116263a..8b81e09f 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -42,7 +42,10 @@ do docker exec sia siac skynet blocklist add "${skylink}" # Remove from NGINX cache - # NOTE: If there are changes to how the NGINX cache is being cleared, the same changes need to be applied to the /setup-scripts/blocklist-airtable.py script. + # NOTE: + # If there are changes to how the NGINX cache is being cleared, the same + # changes need to be applied to the /setup-scripts/blocklist-airtable.py + # script. cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" docker exec -it nginx bash -c "${cached_files_command}" | xargs -r rm diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index 1d4c28ce..3dbce3ed 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -141,6 +141,10 @@ async def block_skylinks_from_airtable(): ) return await send_msg(message, force_notify=False) + # Remove from NGINX cache + # NOTE: + # If there are changes to how the NGINX cache is being cleared, the same + # changes need to be applied to the /scripts/blocklist-skylink.sh script. print("Searching nginx cache for blocked files") cached_files_count = 0 batch_size = 1000 From 2b758df522b6bf6bdfb1519a5afdee90922f481b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:42:15 +0000 Subject: [PATCH 076/564] Bump node from 16.11.1-alpine to 16.12.0-alpine in /packages/dnslink-api Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dnslink-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dnslink-api/Dockerfile b/packages/dnslink-api/Dockerfile index 903c6757..85c00b9f 100644 --- a/packages/dnslink-api/Dockerfile +++ b/packages/dnslink-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine WORKDIR /usr/app From 9f1050fbb8fcd203f5755ac9fcff5d7fdc37e493 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:42:34 +0000 Subject: [PATCH 077/564] Bump node from 16.11.1-alpine to 16.12.0-alpine in /docker/handshake Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docker/handshake/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/handshake/Dockerfile b/docker/handshake/Dockerfile index 4a3d8bd7..ae640f1b 100644 --- a/docker/handshake/Dockerfile +++ b/docker/handshake/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine WORKDIR /opt/hsd From 05a08dccdaaca7a33ea3e312acca4f0635f142a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:42:34 +0000 Subject: [PATCH 078/564] Bump node from 16.11.1-alpine to 16.12.0-alpine in /packages/dashboard Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dashboard/Dockerfile b/packages/dashboard/Dockerfile index 8b2cfc32..03cbb74f 100644 --- a/packages/dashboard/Dockerfile +++ b/packages/dashboard/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine WORKDIR /usr/app From 11dfe94e2c13dbcc9ded1dd8ac4c2e4d4c54151c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:43:02 +0000 Subject: [PATCH 079/564] Bump node in /packages/handshake-api Bumps node from 16.11.1-alpine to 16.12.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/handshake-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/handshake-api/Dockerfile b/packages/handshake-api/Dockerfile index 2ed56e43..bceb1804 100644 --- a/packages/handshake-api/Dockerfile +++ b/packages/handshake-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.11.1-alpine +FROM node:16.12.0-alpine WORKDIR /usr/app From 6604f9228351f93485bbbcb54e2b795997dffb7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:44:28 +0000 Subject: [PATCH 080/564] Bump postcss from 8.3.9 to 8.3.11 in /packages/dashboard Bumps [postcss](https://github.com/postcss/postcss) from 8.3.9 to 8.3.11. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.3.9...8.3.11) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index ed4adefd..f2b0991f 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -24,7 +24,7 @@ "ky": "0.25.1", "next": "11.1.2", "normalize.css": "8.0.1", - "postcss": "8.3.9", + "postcss": "8.3.11", "prettier": "2.4.1", "pretty-bytes": "5.6.0", "react": "17.0.2", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 329476e4..0a452557 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -1947,10 +1947,10 @@ nanoclone@^0.2.1: resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== -nanoid@^3.1.23, nanoid@^3.1.28: - version "3.1.29" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" - integrity sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg== +nanoid@^3.1.23, nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== native-url@0.3.4: version "0.3.4" @@ -2270,6 +2270,11 @@ picocolors@^0.2.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" @@ -2345,13 +2350,13 @@ postcss@8.2.15: nanoid "^3.1.23" source-map "^0.6.1" -postcss@8.3.9, postcss@^8.1.6, postcss@^8.2.1: - version "8.3.9" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.9.tgz#98754caa06c4ee9eb59cc48bd073bb6bd3437c31" - integrity sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw== +postcss@8.3.11, postcss@^8.1.6, postcss@^8.2.1: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== dependencies: - nanoid "^3.1.28" - picocolors "^0.2.1" + nanoid "^3.1.30" + picocolors "^1.0.0" source-map-js "^0.6.2" prettier@2.4.1: From 4d5051fdf8a438137c6a7856648b2f7b046cb0f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Oct 2021 08:45:39 +0000 Subject: [PATCH 081/564] Bump popmotion from 10.0.1 to 10.0.2 in /packages/website Bumps [popmotion](https://github.com/Popmotion/popmotion) from 10.0.1 to 10.0.2. - [Release notes](https://github.com/Popmotion/popmotion/releases) - [Commits](https://github.com/Popmotion/popmotion/commits) --- updated-dependencies: - dependency-name: popmotion dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index c10aa3ca..1c053de4 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -47,7 +47,7 @@ "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", - "popmotion": "^10.0.1", + "popmotion": "^10.0.2", "postcss": "^8.3.11", "preact-svg-loader": "^0.2.1", "prop-types": "^15.7.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 7f0560b2..70c96371 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -5875,10 +5875,10 @@ framesync@5.3.0: dependencies: tslib "^2.1.0" -framesync@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.0.tgz#e6ad8ec128d33291a03cc34e58365c41265a1dae" - integrity sha512-9iBw/uZ/5fDURdpLrgc/eoFXiX9HC3DeOSLtTL5lZSyX/vQb+kjEz9CPNTiTObfK5PKyGgIUTstU8PK9W6EvoA== +framesync@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" + integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== dependencies: tslib "^2.1.0" @@ -10290,12 +10290,12 @@ popmotion@9.3.6: style-value-types "4.1.4" tslib "^2.1.0" -popmotion@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-10.0.1.tgz#5be5b80112a1386b7f2a11d081a1ea3ca7508d8e" - integrity sha512-jmVmbXMAl/qrrogQXCMGFR8+F290J6gl9kKHSYzAKBRTHm7B1unadmEeLSXX7rGtzPxOfKVnWHA3t3m3CVnxqw== +popmotion@^10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-10.0.2.tgz#edb87efb2ba39505d07f79d3ca8cc4b1cbe101bf" + integrity sha512-8vgx02LL7Odk/kwSGigAnlPRLJK+Dfked571ZAHGzkxPNWThkU5mQX0xPmibIMAULZehWBV7hGN7LSCpaV3cfw== dependencies: - framesync "6.0.0" + framesync "^6.0.1" hey-listen "^1.0.8" style-value-types "5.0.0" tslib "^2.1.0" From 9737f22fed079b80f6083d9e1f0196defc012c56 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 12:50:35 +0200 Subject: [PATCH 082/564] changelog --- changelog/items/key-updates/1223-wildcard-api.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/key-updates/1223-wildcard-api.md diff --git a/changelog/items/key-updates/1223-wildcard-api.md b/changelog/items/key-updates/1223-wildcard-api.md new file mode 100644 index 00000000..88ca91d9 --- /dev/null +++ b/changelog/items/key-updates/1223-wildcard-api.md @@ -0,0 +1 @@ +- expose generic skylink serving endpoint on domain aliases From 81a1338f00827108210eaa0a5af6a750842dabd9 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 13:01:15 +0200 Subject: [PATCH 083/564] move cache to lua to minimise number of requests --- docker/nginx/conf.d/server.dnslink.conf | 2 ++ docker/nginx/conf.d/server/server.dnslink | 40 ++++++++++++++--------- packages/dnslink-api/package.json | 3 +- packages/dnslink-api/src/index.js | 9 ----- packages/dnslink-api/yarn.lock | 12 ------- 5 files changed, 28 insertions(+), 38 deletions(-) diff --git a/docker/nginx/conf.d/server.dnslink.conf b/docker/nginx/conf.d/server.dnslink.conf index 8a051d3f..491bc389 100644 --- a/docker/nginx/conf.d/server.dnslink.conf +++ b/docker/nginx/conf.d/server.dnslink.conf @@ -1,3 +1,5 @@ +lua_shared_dict dnslink 10m; + server { listen 80 default_server; listen [::]:80 default_server; diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index 06e3e3ca..f8c7b49d 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -5,28 +5,38 @@ location / { set $path $uri; rewrite_by_lua_block { - local httpc = require("resty.http").new() + local cache = ngx.shared.dnslink + local cache_value = cache:get(ngx.var.host) - -- 10.10.10.55 points to dnslink-api service (alias not available when using resty-http) - local res, err = httpc:request_uri("http://10.10.10.55:3100/dnslink/" .. ngx.var.host) + if cache_value == nil then + local httpc = require("resty.http").new() - if err or (res and res.status ~= ngx.HTTP_OK) then - -- check whether we can fallback to regular skylink request - local match_skylink = ngx.re.match(ngx.var.uri, "^/([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?") + -- 10.10.10.55 points to dnslink-api service (alias not available when using resty-http) + local res, err = httpc:request_uri("http://10.10.10.55:3100/dnslink/" .. ngx.var.host) - if match_skylink then - ngx.var.skylink = match_skylink[1] - ngx.var.path = match_skylink[2] or "/" + if err or (res and res.status ~= ngx.HTTP_OK) then + -- check whether we can fallback to regular skylink request + local match_skylink = ngx.re.match(ngx.var.uri, "^/([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?") + + if match_skylink then + ngx.var.skylink = match_skylink[1] + ngx.var.path = match_skylink[2] or "/" + else + ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status + ngx.header["content-type"] = "text/plain" + ngx.say(err or res.body) + ngx.exit(ngx.status) + end else - ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status - ngx.header["content-type"] = "text/plain" - ngx.say(err or res.body) - ngx.exit(ngx.status) + ngx.var.skylink = res.body end + + local cache_ttl = 300 -- 5 minutes cache expire time + cache:set(ngx.var.host, ngx.var.skylink, cache_ttl) else - ngx.var.skylink = res.body + ngx.var.skylink = cache_value end - + ngx.var.skylink_v1 = ngx.var.skylink ngx.var.skylink_v2 = ngx.var.skylink } diff --git a/packages/dnslink-api/package.json b/packages/dnslink-api/package.json index a29295e1..7f833ed2 100644 --- a/packages/dnslink-api/package.json +++ b/packages/dnslink-api/package.json @@ -5,8 +5,7 @@ "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "express": "^4.17.1", - "is-valid-domain": "^0.1.2", - "node-cache": "^5.1.2" + "is-valid-domain": "^0.1.2" }, "devDependencies": { "prettier": "^2.4.1" diff --git a/packages/dnslink-api/src/index.js b/packages/dnslink-api/src/index.js index fdddf9aa..300277c2 100644 --- a/packages/dnslink-api/src/index.js +++ b/packages/dnslink-api/src/index.js @@ -1,14 +1,11 @@ const dns = require("dns"); const express = require("express"); -const NodeCache = require("node-cache"); const isValidDomain = require("is-valid-domain"); const host = process.env.DNSLINK_API_HOSTNAME || "0.0.0.0"; const port = Number(process.env.DNSLINK_API_PORT) || 3100; -const cacheTTL = Number(process.env.DNSLINK_API_CACHE_TTL) || 300; // default to 5 minutes const server = express(); -const cache = new NodeCache({ stdTTL: cacheTTL }); const dnslinkNamespace = "skynet-ns"; const dnslinkRegExp = new RegExp(`^dnslink=/${dnslinkNamespace}/.+$`); @@ -23,10 +20,6 @@ server.get("/dnslink/:name", async (req, res) => { return failure(`"${req.params.name}" is not a valid domain`); } - if (cache.has(req.params.name)) { - return success(cache.get(req.params.name)); - } - const lookup = `_dnslink.${req.params.name}`; dns.resolveTxt(lookup, (error, records) => { @@ -65,8 +58,6 @@ server.get("/dnslink/:name", async (req, res) => { const skylink = matchSkylink[1]; - cache.set(req.params.name, skylink); - console.log(`${req.params.name} => ${skylink}`); return success(skylink); diff --git a/packages/dnslink-api/yarn.lock b/packages/dnslink-api/yarn.lock index 4a359f7a..5cff1dda 100644 --- a/packages/dnslink-api/yarn.lock +++ b/packages/dnslink-api/yarn.lock @@ -36,11 +36,6 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -clone@2.x: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -257,13 +252,6 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -node-cache@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" - integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== - dependencies: - clone "2.x" - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" From 019b5b76318e6df57f8598e44c18670950c257e0 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:32:59 +0200 Subject: [PATCH 084/564] add skyd config checks to health checks --- packages/health-check/src/checks/critical.js | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index daa261f3..94aef448 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -7,6 +7,31 @@ const { SkynetClient, genKeyPairAndSeed } = require("skynet-js"); const skynetClient = new SkynetClient(process.env.SKYNET_PORTAL_API); const exampleSkylink = "AACogzrAimYPG42tDOKhS3lXZD8YvlF8Q8R17afe95iV2Q"; +// check that any relevant configuration is properly set in skyd +async function skydConfigCheck(done) { + const time = process.hrtime(); + const data = { up: false }; + + try { + const response = await got(`http://10.10.10.10:9980/renter`, { headers: { "User-Agent": "Sia-Agent" } }).json(); + + // make sure initial funding is set to a non zero value + if (BigInt(response.settings.allowance.paymentcontractinitialfunding) > 0) { + throw new Error("Skynet Portal Per-Contract Budget is not set!"); + } + + data.up = true; + data.ip = response.ip; + } catch (error) { + data.statusCode = error.response?.statusCode || error.statusCode || error.status; + data.errorMessage = error.message; + data.errorResponseContent = getResponseContent(error.response); + data.ip = error?.response?.ip ?? null; + } + + done({ name: "skyd_config", time: calculateElapsedTime(time), ...data }); +} + // uploadCheck returns the result of uploading a sample file async function uploadCheck(done) { const time = process.hrtime(); @@ -164,6 +189,7 @@ async function genericAccessCheck(name, url) { } const checks = [ + skydConfigCheck, uploadCheck, websiteCheck, websiteSkylinkCheck, From cd95dc2f4ba3a2eae41513d242717f0451ca4691 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:34:49 +0200 Subject: [PATCH 085/564] changelog for feature --- changelog/items/other/1332-skyd-config-health-check.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/items/other/1332-skyd-config-health-check.md diff --git a/changelog/items/other/1332-skyd-config-health-check.md b/changelog/items/other/1332-skyd-config-health-check.md new file mode 100644 index 00000000..534c7590 --- /dev/null +++ b/changelog/items/other/1332-skyd-config-health-check.md @@ -0,0 +1 @@ +- add new critical health check that scans config and makes sure that all relevant configurations are set From 7004ea0dfef10ba4ef6904622f103880557eff6f Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:39:19 +0200 Subject: [PATCH 086/564] fix condition --- packages/health-check/src/checks/critical.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 94aef448..c3fbf74d 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -16,7 +16,7 @@ async function skydConfigCheck(done) { const response = await got(`http://10.10.10.10:9980/renter`, { headers: { "User-Agent": "Sia-Agent" } }).json(); // make sure initial funding is set to a non zero value - if (BigInt(response.settings.allowance.paymentcontractinitialfunding) > 0) { + if (BigInt(response.settings.allowance.paymentcontractinitialfunding) === 0) { throw new Error("Skynet Portal Per-Contract Budget is not set!"); } From d13a68d8254e33fb3c355e5e073ba39897b7aebe Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:44:06 +0200 Subject: [PATCH 087/564] fix caching --- docker/nginx/conf.d/server/server.dnslink | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index f8c7b49d..efaf314d 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -27,12 +27,12 @@ location / { ngx.say(err or res.body) ngx.exit(ngx.status) end + + local cache_ttl = 300 -- 5 minutes cache expire time + cache:set(ngx.var.host, ngx.var.skylink, cache_ttl) else ngx.var.skylink = res.body end - - local cache_ttl = 300 -- 5 minutes cache expire time - cache:set(ngx.var.host, ngx.var.skylink, cache_ttl) else ngx.var.skylink = cache_value end From 40d0bb0e4d7c1bb185ace227bdbe9a2d5a95439d Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:47:06 +0200 Subject: [PATCH 088/564] fix caching --- docker/nginx/conf.d/server/server.dnslink | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index efaf314d..1dd3a489 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -27,11 +27,11 @@ location / { ngx.say(err or res.body) ngx.exit(ngx.status) end + else + ngx.var.skylink = res.body local cache_ttl = 300 -- 5 minutes cache expire time cache:set(ngx.var.host, ngx.var.skylink, cache_ttl) - else - ngx.var.skylink = res.body end else ngx.var.skylink = cache_value From b52f055175c96334b6a1377a183458adef05a46a Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:53:42 +0200 Subject: [PATCH 089/564] fix website skylink check --- packages/health-check/src/checks/critical.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index daa261f3..471e51e3 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -61,8 +61,9 @@ async function handshakeSubdomainCheck(done) { // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink async function websiteSkylinkCheck(done) { const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; + const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); - return done(await genericAccessCheck("website_skylink", websiteSkylink)); + return done(await genericAccessCheck("website_skylink", url)); } // accountWebsiteCheck returns the result of accessing account dashboard website From 313855a690092ea907cbd3f9bf9dad4de117be73 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:56:07 +0200 Subject: [PATCH 090/564] Revert "fix website skylink check" This reverts commit b52f055175c96334b6a1377a183458adef05a46a. --- packages/health-check/src/checks/critical.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 471e51e3..daa261f3 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -61,9 +61,8 @@ async function handshakeSubdomainCheck(done) { // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink async function websiteSkylinkCheck(done) { const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; - const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); - return done(await genericAccessCheck("website_skylink", url)); + return done(await genericAccessCheck("website_skylink", websiteSkylink)); } // accountWebsiteCheck returns the result of accessing account dashboard website From f9567a4aa126635c059e95ed2b3d2790a84914f3 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 16:56:48 +0200 Subject: [PATCH 091/564] fix website check --- packages/health-check/src/checks/critical.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index c3fbf74d..dfdfec21 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -86,8 +86,9 @@ async function handshakeSubdomainCheck(done) { // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink async function websiteSkylinkCheck(done) { const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; + const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); - return done(await genericAccessCheck("website_skylink", websiteSkylink)); + return done(await genericAccessCheck("website_skylink", url)); } // accountWebsiteCheck returns the result of accessing account dashboard website From 4fbbc144c87e0f3dc10b50122144cdd40b0d3ea9 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 17:01:10 +0200 Subject: [PATCH 092/564] remove website skylink check for now --- packages/health-check/src/checks/critical.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index dfdfec21..cdc9e9cb 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -84,12 +84,12 @@ async function handshakeSubdomainCheck(done) { } // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink -async function websiteSkylinkCheck(done) { - const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; - const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); +// async function websiteSkylinkCheck(done) { +// const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; +// const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); - return done(await genericAccessCheck("website_skylink", url)); -} +// return done(await genericAccessCheck("website_skylink", url)); +// } // accountWebsiteCheck returns the result of accessing account dashboard website async function accountWebsiteCheck(done) { @@ -193,7 +193,7 @@ const checks = [ skydConfigCheck, uploadCheck, websiteCheck, - websiteSkylinkCheck, + // websiteSkylinkCheck, downloadCheck, skylinkSubdomainCheck, handshakeSubdomainCheck, From 0a4e3b3f4505dae1ca3643478a251f343e2f949b Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 17:01:51 +0200 Subject: [PATCH 093/564] fix --- packages/health-check/src/checks/critical.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index cdc9e9cb..3e2c8552 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -84,12 +84,12 @@ async function handshakeSubdomainCheck(done) { } // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink -// async function websiteSkylinkCheck(done) { -// const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; -// const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); +async function websiteSkylinkCheck(done) { + const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; + const url = await skynetClient.getSkylinkUrl(websiteSkylink); -// return done(await genericAccessCheck("website_skylink", url)); -// } + return done(await genericAccessCheck("website_skylink", url)); +} // accountWebsiteCheck returns the result of accessing account dashboard website async function accountWebsiteCheck(done) { @@ -193,7 +193,7 @@ const checks = [ skydConfigCheck, uploadCheck, websiteCheck, - // websiteSkylinkCheck, + websiteSkylinkCheck, downloadCheck, skylinkSubdomainCheck, handshakeSubdomainCheck, From d4482e60258b6c8886e9622ebb9ec9bef4a1a77e Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 26 Oct 2021 17:03:59 +0200 Subject: [PATCH 094/564] fix --- packages/health-check/src/checks/critical.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 3e2c8552..e1ab808f 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -85,8 +85,8 @@ async function handshakeSubdomainCheck(done) { // websiteSkylinkCheck returns the result of accessing siasky.net website through skylink async function websiteSkylinkCheck(done) { - const websiteSkylink = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"; - const url = await skynetClient.getSkylinkUrl(websiteSkylink); + const websiteSkylink = "AQBG8n_sgEM_nlEp3G0w3vLjmdvSZ46ln8ZXHn-eObZNjA"; + const url = await skynetClient.getSkylinkUrl(websiteSkylink, { subdomain: true }); return done(await genericAccessCheck("website_skylink", url)); } From 5dc357b3d1c9ee2208b195ec4fd7c57fb06a135b Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Tue, 26 Oct 2021 12:17:44 -0400 Subject: [PATCH 095/564] Fix BigInt use --- packages/health-check/src/checks/critical.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index e1ab808f..0aac235d 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -16,7 +16,9 @@ async function skydConfigCheck(done) { const response = await got(`http://10.10.10.10:9980/renter`, { headers: { "User-Agent": "Sia-Agent" } }).json(); // make sure initial funding is set to a non zero value - if (BigInt(response.settings.allowance.paymentcontractinitialfunding) === 0) { + let actual = BigInt(response.settings.allowance.paymentcontractinitialfunding); + let expected = BigInt(10000000000000000000000000); // 10 SC + if (actual !== expected) { throw new Error("Skynet Portal Per-Contract Budget is not set!"); } From f6febd04b34aaa154dd88ba9266e1a0934e81b28 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Tue, 26 Oct 2021 12:18:56 -0400 Subject: [PATCH 096/564] Fix error message --- packages/health-check/src/checks/critical.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 0aac235d..b6d64772 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -19,7 +19,7 @@ async function skydConfigCheck(done) { let actual = BigInt(response.settings.allowance.paymentcontractinitialfunding); let expected = BigInt(10000000000000000000000000); // 10 SC if (actual !== expected) { - throw new Error("Skynet Portal Per-Contract Budget is not set!"); + throw new Error("Skynet Portal Per-Contract Budget is not set correctly!"); } data.up = true; From 400aca12bc10feba23e39a76a37e5e4fe22c6a3d Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 27 Oct 2021 10:55:09 +0200 Subject: [PATCH 097/564] Fix removing skylink from nginx --- scripts/blocklist-skylink.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/blocklist-skylink.sh b/scripts/blocklist-skylink.sh index 8b81e09f..cf14f138 100755 --- a/scripts/blocklist-skylink.sh +++ b/scripts/blocklist-skylink.sh @@ -47,7 +47,7 @@ do # changes need to be applied to the /setup-scripts/blocklist-airtable.py # script. cached_files_command="find /data/nginx/cache/ -type f | xargs -r grep -Els '^Skynet-Skylink: ${skylink}'" - docker exec -it nginx bash -c "${cached_files_command}" | xargs -r rm + docker exec -it nginx bash -c "${cached_files_command} | xargs -r rm" echo ".. ⌁ Skylink ${skylink} Blocked" echo "--------------------------------------------" From 2fc92fb3e2f6c475acebb95bee8f056916f2e852 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 27 Oct 2021 14:50:54 +0200 Subject: [PATCH 098/564] update skynet-js and fix critical checks --- packages/health-check/package.json | 2 +- packages/health-check/src/checks/critical.js | 6 +- packages/health-check/yarn.lock | 151 ++++++++++++++++--- 3 files changed, 132 insertions(+), 27 deletions(-) diff --git a/packages/health-check/package.json b/packages/health-check/package.json index 7657ae05..c7020969 100644 --- a/packages/health-check/package.json +++ b/packages/health-check/package.json @@ -13,7 +13,7 @@ "http-status-codes": "^2.1.2", "lodash": "^4.17.21", "lowdb": "^1.0.0", - "skynet-js": "^3.0.2", + "skynet-js": "^4.0.18-beta", "write-file-atomic": "^3.0.3", "yargs": "^17.2.1" }, diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index b6d64772..1e2e8a43 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -15,10 +15,8 @@ async function skydConfigCheck(done) { try { const response = await got(`http://10.10.10.10:9980/renter`, { headers: { "User-Agent": "Sia-Agent" } }).json(); - // make sure initial funding is set to a non zero value - let actual = BigInt(response.settings.allowance.paymentcontractinitialfunding); - let expected = BigInt(10000000000000000000000000); // 10 SC - if (actual !== expected) { + // make sure initial funding is set to 10SC + if (response.settings.allowance.paymentcontractinitialfunding !== "10000000000000000000000000") { throw new Error("Skynet Portal Per-Contract Budget is not set correctly!"); } diff --git a/packages/health-check/yarn.lock b/packages/health-check/yarn.lock index 3cd5fcc4..436dfa6e 100644 --- a/packages/health-check/yarn.lock +++ b/packages/health-check/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/runtime@^7.11.2": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446" - integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== - dependencies: - regenerator-runtime "^0.13.4" - "@sindresorhus/is@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" @@ -85,13 +78,18 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -axios@^0.21.0: +axios@^0.21.1: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" +base32-decode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base32-decode/-/base32-decode-1.0.0.tgz#2a821d6a664890c872f20aa9aca95a4b4b80e2a7" + integrity sha512-KNWUX/R7wKenwE/G/qFMzGScOgVntOmbE27vvc6GrniDGYb6a5+qWcuoXl8WIOQL7q0TpK7nZDm1Y04Yi3Yn5g== + base32-encode@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/base32-encode/-/base32-encode-1.2.0.tgz#e150573a5e431af0a998e32bdfde7045725ca453" @@ -125,6 +123,11 @@ body-parser@1.19.0: raw-body "2.4.0" type-is "~1.6.17" +buffer-from@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0" + integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg== + buffer@^6.0.1: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -184,6 +187,14 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combine-errors@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/combine-errors/-/combine-errors-3.0.3.tgz#f4df6740083e5703a3181110c2b10551f003da86" + integrity sha1-9N9nQAg+VwOjGBEQwrEFUfAD2oY= + dependencies: + custom-error-instance "2.1.1" + lodash.uniqby "4.5.0" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -213,6 +224,11 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +custom-error-instance@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/custom-error-instance/-/custom-error-instance-2.1.1.tgz#3cf6391487a6629a6247eb0ca0ce00081b7e361a" + integrity sha1-PPY5FIemYppiR+sMoM4ACBt+Nho= + debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -391,7 +407,7 @@ got@^11.8.2: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.3, graceful-fs@^4.2.8: +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.2.8: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -496,6 +512,11 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +js-base64@^2.6.1: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -508,6 +529,56 @@ keyv@^4.0.0: dependencies: json-buffer "3.0.1" +lodash._baseiteratee@~4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash._baseiteratee/-/lodash._baseiteratee-4.7.0.tgz#34a9b5543572727c3db2e78edae3c0e9e66bd102" + integrity sha1-NKm1VDVycnw9sueO2uPA6eZr0QI= + dependencies: + lodash._stringtopath "~4.8.0" + +lodash._basetostring@~4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz#9327c9dc5158866b7fa4b9d42f4638e5766dd9df" + integrity sha1-kyfJ3FFYhmt/pLnUL0Y45XZt2d8= + +lodash._baseuniq@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" + integrity sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg= + dependencies: + lodash._createset "~4.0.0" + lodash._root "~3.0.0" + +lodash._createset@~4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" + integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= + +lodash._root@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash._stringtopath@~4.8.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/lodash._stringtopath/-/lodash._stringtopath-4.8.0.tgz#941bcf0e64266e5fc1d66fed0a6959544c576824" + integrity sha1-lBvPDmQmbl/B1m/tCmlZVExXaCQ= + dependencies: + lodash._basetostring "~4.12.0" + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + +lodash.uniqby@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.5.0.tgz#a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21" + integrity sha1-o6F7v2LutiQPSRhG6XwcTipeHiE= + dependencies: + lodash._baseiteratee "~4.7.0" + lodash._baseuniq "~4.6.0" + lodash@4, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -635,11 +706,24 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +post-me@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/post-me/-/post-me-0.4.5.tgz#6171b721c7b86230c51cfbe48ddea047ef8831ce" + integrity sha512-XgPdktF/2M5jglgVDULr9NUb/QNv3bY3g6RG22iTb5MIMtB07/5FJB5fbVmu5Eaopowc6uZx7K3e7x1shPwnXw== + prettier@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== +proper-lockfile@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-2.0.1.tgz#159fb06193d32003f4b3691dd2ec1a634aa80d1d" + integrity sha1-FZ+wYZPTIAP0s2kd0uwaY0qoDR0= + dependencies: + graceful-fs "^4.1.2" + retry "^0.10.0" + proxy-addr@~2.0.5: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -693,11 +777,6 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -720,6 +799,11 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + safe-buffer@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -779,24 +863,34 @@ sjcl@^1.0.8: resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== -skynet-js@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-3.0.2.tgz#d08a33066ee85b86e4ffc7c31591239a88da6fbe" - integrity sha512-rbmpOGbDwg2FcsZ7HkmGhVaUwWO6kaysRFKTBC3yGiV+b6fbnpPPNCskvh8kWwbTsj+koWkSRUFYqG7cc+eTuA== +skynet-js@^4.0.18-beta: + version "4.0.18-beta" + resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.18-beta.tgz#4683f0837ae552802f39c0e7081a1b978b79ef4a" + integrity sha512-7mE9xrejTpRacZfhhCqx+dm7k1y6ITLZMWZnsPp13D2N9CNroyzB75Yi7033qwPtdo9i6BEzIDolZl66j+uALw== dependencies: - "@babel/runtime" "^7.11.2" - axios "^0.21.0" + axios "^0.21.1" + base32-decode "^1.0.0" base32-encode "^1.1.1" base64-js "^1.3.1" blakejs "^1.1.0" buffer "^6.0.1" mime "^2.5.2" path-browserify "^1.0.1" + post-me "^0.4.5" randombytes "^2.1.0" sjcl "^1.0.8" + skynet-mysky-utils "^0.3.0" + tus-js-client "^2.2.0" tweetnacl "^1.0.3" url-join "^4.0.1" - url-parse "^1.4.7" + url-parse "^1.5.1" + +skynet-mysky-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/skynet-mysky-utils/-/skynet-mysky-utils-0.3.0.tgz#87fdc0a5f8547cf660280ef86b7a762269919bad" + integrity sha512-X9L6SrVTdwTUFook/E6zUWCOpXHdyspLAu0elQbbPkZCWeFpr/XXTMbiyPV3m1liYsesngAKxzaSqylaTWOGUA== + dependencies: + post-me "^0.4.5" "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" @@ -836,6 +930,19 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +tus-js-client@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tus-js-client/-/tus-js-client-2.3.0.tgz#5d76145476cea46a4e7c045a0054637cddf8dc39" + integrity sha512-I4cSwm6N5qxqCmBqenvutwSHe9ntf81lLrtf6BmLpG2v4wTl89atCQKqGgqvkodE6Lx+iKIjMbaXmfvStTg01g== + dependencies: + buffer-from "^0.1.1" + combine-errors "^3.0.3" + is-stream "^2.0.0" + js-base64 "^2.6.1" + lodash.throttle "^4.1.1" + proper-lockfile "^2.0.1" + url-parse "^1.4.3" + tweetnacl@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" @@ -871,7 +978,7 @@ url-join@^4.0.1: resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== -url-parse@^1.4.7: +url-parse@^1.4.3, url-parse@^1.5.1: version "1.5.3" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== From 121dbee1c23a2b9e22941724e600be75a5ecca22 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 27 Oct 2021 14:59:08 +0200 Subject: [PATCH 099/564] change datakey to dataKey --- packages/health-check/src/checks/critical.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 1e2e8a43..2d95f210 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -103,7 +103,7 @@ async function registryWriteAndReadCheck(done) { const time = process.hrtime(); const data = { name: "registry_write_and_read", up: false }; const { privateKey, publicKey } = genKeyPairAndSeed(); - const expected = { datakey: "foo-key", data: "foo-data", revision: BigInt(0) }; + const expected = { dataKey: "foo-key", data: "foo-data", revision: BigInt(0) }; try { await skynetClient.registry.setEntry(privateKey, expected); From a5674c8d1fc6e4bb30b6123ece7472928bd04424 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 28 Oct 2021 15:12:14 +0200 Subject: [PATCH 100/564] adjust tests --- packages/health-check/src/checks/critical.js | 8 +-- packages/health-check/yarn.lock | 72 ++++++++++---------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/packages/health-check/src/checks/critical.js b/packages/health-check/src/checks/critical.js index 2d95f210..d5527b50 100644 --- a/packages/health-check/src/checks/critical.js +++ b/packages/health-check/src/checks/critical.js @@ -2,7 +2,7 @@ const got = require("got"); const FormData = require("form-data"); const { isEqual } = require("lodash"); const { calculateElapsedTime, getResponseContent } = require("../utils"); -const { SkynetClient, genKeyPairAndSeed } = require("skynet-js"); +const { SkynetClient, stringToUint8ArrayUtf8, genKeyPairAndSeed } = require("skynet-js"); const skynetClient = new SkynetClient(process.env.SKYNET_PORTAL_API); const exampleSkylink = "AACogzrAimYPG42tDOKhS3lXZD8YvlF8Q8R17afe95iV2Q"; @@ -103,11 +103,11 @@ async function registryWriteAndReadCheck(done) { const time = process.hrtime(); const data = { name: "registry_write_and_read", up: false }; const { privateKey, publicKey } = genKeyPairAndSeed(); - const expected = { dataKey: "foo-key", data: "foo-data", revision: BigInt(0) }; + const expected = { dataKey: "foo-key", data: stringToUint8ArrayUtf8("foo-data"), revision: BigInt(0) }; try { await skynetClient.registry.setEntry(privateKey, expected); - const { entry } = await skynetClient.registry.getEntry(publicKey, expected.datakey); + const { entry } = await skynetClient.registry.getEntry(publicKey, expected.dataKey); if (isEqual(expected, entry)) { data.up = true; @@ -115,7 +115,7 @@ async function registryWriteAndReadCheck(done) { data.errors = [{ message: "Data mismatch in registry (read after write)", entry, expected }]; } } catch (error) { - data.errors = [{ message: error.message }]; + data.errors = [{ message: error?.response?.data?.message ?? error.message }]; } return done({ ...data, time: calculateElapsedTime(time) }); diff --git a/packages/health-check/yarn.lock b/packages/health-check/yarn.lock index 436dfa6e..ca7aeabf 100644 --- a/packages/health-check/yarn.lock +++ b/packages/health-check/yarn.lock @@ -3,9 +3,9 @@ "@sindresorhus/is@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" - integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g== + version "4.2.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca" + integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw== "@szmarczak/http-timer@^4.0.5": version "4.0.6" @@ -30,16 +30,16 @@ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/keyv@*": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.2.tgz#5d97bb65526c20b6e0845f6b0d2ade4f28604ee5" - integrity sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" + integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== dependencies: "@types/node" "*" "@types/node@*": - version "16.4.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.3.tgz#c01c1a215721f6dec71b47d88b4687463601ba48" - integrity sha512-GKM4FLMkWDc0sfx7tXqPWkM6NBow1kge0fgQh0bOnlqo4iT1kvTvMEKE0c1RtUGnbLlGRXiAA8SumE//90uKAg== + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" @@ -56,7 +56,7 @@ accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -ansi-regex@^5.0.0: +ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -355,9 +355,9 @@ finalhandler@~1.1.2: unpipe "~1.0.0" follow-redirects@^1.14.0: - version "1.14.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e" - integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw== + version "1.14.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" + integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== form-data@^4.0.0: version "4.0.0" @@ -615,17 +615,17 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -mime-db@1.48.0: - version "1.48.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" - integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== mime-types@^2.1.12, mime-types@~2.1.24: - version "2.1.31" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" - integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== dependencies: - mime-db "1.48.0" + mime-db "1.50.0" mime@1.6.0: version "1.6.0" @@ -788,9 +788,9 @@ requires-port@^1.0.0: integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-alpn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.0.tgz#058bb0888d1cd4d12474e9a4b6eb17bdd5addc44" - integrity sha512-e4FNQs+9cINYMO5NMFc6kOUCdohjqFPSgMuwuZAOUWqrfWsen+Yjy5qZFkV5K7VO7tFSLKcUL97olkED7sCBHA== + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== responselike@^2.0.0: version "2.0.0" @@ -854,9 +854,9 @@ setprototypeof@1.1.1: integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== sjcl@^1.0.8: version "1.0.8" @@ -905,20 +905,20 @@ steno@^0.4.1: graceful-fs "^4.1.3" string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^5.0.0" + ansi-regex "^5.0.1" to-data-view@^1.1.0: version "1.1.0" From 044e160403eec873ee073ab20a6f763027afb93e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:11:03 +0000 Subject: [PATCH 101/564] Bump gatsby from 3.14.4 to 3.14.5 in /packages/website Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.14.4 to 3.14.5. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.4...gatsby@3.14.5) --- updated-dependencies: - dependency-name: gatsby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..36837b45 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.4", + "gatsby": "^3.14.5", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..05333dea 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6464,10 +6464,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.4: - version "3.14.4" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.4.tgz#e7ef5c3c1eda45ea3ad0bc1273f014fbc46b316c" - integrity sha512-cpsMhl2qkE0+TL0znwflVfycy143fFucGtFDkNxu8dbY0GRjA9MiDwlS/aSqg5U2HhhF39IcBvwuntiaP6vQ0g== +gatsby@^3.14.5: + version "3.14.5" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.5.tgz#917dfa512f83ec3feddca2f68b236ab70eeb8df7" + integrity sha512-j1Dvm6iIlUcfYXXNKZWULanOF7UI/01uRMbIBP10iqjJClv+ZbqnFnkwQKvFwLaC88h6jPcEIbR7kZFTqbfbZQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" From 7540b156e441269a5475a7620d75eb502ad49fc1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:13:03 +0000 Subject: [PATCH 102/564] Bump gatsby-plugin-sharp from 3.14.1 to 3.14.2 in /packages/website Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 3.14.1 to 3.14.2. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sharp/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@3.14.2/packages/gatsby-plugin-sharp) --- updated-dependencies: - dependency-name: gatsby-plugin-sharp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..1d7de72a 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -26,7 +26,7 @@ "gatsby-plugin-purgecss": "^6.0.2", "gatsby-plugin-react-helmet": "^4.14.0", "gatsby-plugin-robots-txt": "^1.6.13", - "gatsby-plugin-sharp": "^3.14.1", + "gatsby-plugin-sharp": "^3.14.2", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", "gatsby-remark-copy-linked-files": "^4.11.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..a18bfacc 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6167,10 +6167,10 @@ gatsby-plugin-robots-txt@^1.6.13: "@babel/runtime" "^7.14.0" generate-robotstxt "^8.0.3" -gatsby-plugin-sharp@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.1.tgz#4521d1ca7fe643eae743cae71621a8bb170a57dd" - integrity sha512-eLRoxLTrn5QCerIl/zaUTzJCBfPaaOZdVPhO6QUOd1o2qni6AR9QkeAw3He2e/1mnkB9wWGwJUdPiCfvUSE/pQ== +gatsby-plugin-sharp@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.2.tgz#46258e4b526b31b08cbcbb5a957040186898044a" + integrity sha512-BQ0PW2o5ACQXf8kjiG3c0KULVILwbikIO9sEecAKHstIXofc8i+WU0V4IJ8wZCo1JEea+IvkWPxE2NIz2bJ0LA== dependencies: "@babel/runtime" "^7.15.4" async "^3.2.1" From 3351263772b6ea48f35d61e6b344661c8f05ec05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:13:33 +0000 Subject: [PATCH 103/564] Bump autoprefixer from 10.3.7 to 10.4.0 in /packages/dashboard Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.3.7 to 10.4.0. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.3.7...10.4.0) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 59 +++++++++++++++------------------ 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 48fb2c50..5114665a 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -13,7 +13,7 @@ "@stripe/react-stripe-js": "1.6.0", "@stripe/stripe-js": "1.20.3", "@tailwindcss/forms": "0.3.4", - "autoprefixer": "10.3.7", + "autoprefixer": "10.4.0", "classnames": "2.3.1", "clipboardy": "2.3.0", "dayjs": "1.10.7", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 2cc26a35..b3bf9b1f 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -319,16 +319,16 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -autoprefixer@10.3.7: - version "10.3.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.7.tgz#cef2562058406bd378c94aacda36bb46a97b3186" - integrity sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg== +autoprefixer@10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8" + integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA== dependencies: - browserslist "^4.17.3" - caniuse-lite "^1.0.30001264" + browserslist "^4.17.5" + caniuse-lite "^1.0.30001272" fraction.js "^4.1.1" normalize-range "^0.1.2" - picocolors "^0.2.1" + picocolors "^1.0.0" postcss-value-parser "^4.1.0" available-typed-arrays@^1.0.5: @@ -477,16 +477,16 @@ browserslist@4.16.6: escalade "^3.1.1" node-releases "^1.1.71" -browserslist@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" - integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== +browserslist@^4.17.5: + version "4.17.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.5.tgz#c827bbe172a4c22b123f5e337533ceebadfdd559" + integrity sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA== dependencies: - caniuse-lite "^1.0.30001264" - electron-to-chromium "^1.3.857" + caniuse-lite "^1.0.30001271" + electron-to-chromium "^1.3.878" escalade "^3.1.1" - node-releases "^1.1.77" - picocolors "^0.2.1" + node-releases "^2.0.1" + picocolors "^1.0.0" buffer-equal-constant-time@1.0.1: version "1.0.1" @@ -551,10 +551,10 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001264: - version "1.0.30001265" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" - integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== +caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001271, caniuse-lite@^1.0.30001272: + version "1.0.30001274" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz#26ca36204d15b17601ba6fc35dbdad950a647cc7" + integrity sha512-+Nkvv0fHyhISkiMIjnyjmf5YJcQ1IQHZN6U9TLUMroWR38FNwpsC51Gb68yueafX1V6ifOisInSgP9WJFS13ew== chalk@2.4.2, chalk@^2.0.0: version "2.4.2" @@ -960,10 +960,10 @@ electron-to-chromium@^1.3.723: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.850.tgz#c56c72abfeab051b4b328beb894461c5912d0456" integrity sha512-ZzkDcdzePeF4dhoGZQT77V2CyJOpwfTZEOg4h0x6R/jQhGt/rIRpbRyVreWLtD7B/WsVxo91URm2WxMKR9JQZA== -electron-to-chromium@^1.3.857: - version "1.3.864" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.864.tgz#6a993bcc196a2b8b3df84d28d5d4dd912393885f" - integrity sha512-v4rbad8GO6/yVI92WOeU9Wgxc4NA0n4f6P1FvZTY+jyY7JHEhw3bduYu60v3Q1h81Cg6eo4ApZrFPuycwd5hGw== +electron-to-chromium@^1.3.878: + version "1.3.885" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz#c8cec32fbc61364127849ae00f2395a1bae7c454" + integrity sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg== elliptic@^6.5.3: version "6.5.4" @@ -2078,10 +2078,10 @@ node-releases@^1.1.71: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== -node-releases@^1.1.77: - version "1.1.77" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -2265,11 +2265,6 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" From 1fbbfac3e9c306ab3c412151e98ac84158d89d49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:13:43 +0000 Subject: [PATCH 104/564] Bump autoprefixer from 10.3.7 to 10.4.0 in /packages/website Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.3.7 to 10.4.0. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.3.7...10.4.0) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 59 ++++++++++++++++------------------- 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..16271b79 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -9,7 +9,7 @@ "@fontsource/source-sans-pro": "^4.5.0", "@svgr/webpack": "^5.5.0", "@tailwindcss/typography": "^0.4.1", - "autoprefixer": "^10.3.7", + "autoprefixer": "^10.4.0", "bytes": "^3.1.0", "classnames": "^2.3.1", "copy-text-to-clipboard": "^3.0.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..3fc7709c 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -2817,16 +2817,16 @@ attr-accept@^2.2.1: resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== -autoprefixer@^10.2.4, autoprefixer@^10.3.7: - version "10.3.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.7.tgz#cef2562058406bd378c94aacda36bb46a97b3186" - integrity sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg== +autoprefixer@^10.2.4, autoprefixer@^10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8" + integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA== dependencies: - browserslist "^4.17.3" - caniuse-lite "^1.0.30001264" + browserslist "^4.17.5" + caniuse-lite "^1.0.30001272" fraction.js "^4.1.1" normalize-range "^0.1.2" - picocolors "^0.2.1" + picocolors "^1.0.0" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -3280,16 +3280,16 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.17.1, browserslist@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" - integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== +browserslist@^4.0.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.17.1, browserslist@^4.17.5: + version "4.17.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.5.tgz#c827bbe172a4c22b123f5e337533ceebadfdd559" + integrity sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA== dependencies: - caniuse-lite "^1.0.30001264" - electron-to-chromium "^1.3.857" + caniuse-lite "^1.0.30001271" + electron-to-chromium "^1.3.878" escalade "^3.1.1" - node-releases "^1.1.77" - picocolors "^0.2.1" + node-releases "^2.0.1" + picocolors "^1.0.0" buffer-crc32@~0.2.3: version "0.2.13" @@ -3465,10 +3465,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001264: - version "1.0.30001265" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" - integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001271, caniuse-lite@^1.0.30001272: + version "1.0.30001274" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz#26ca36204d15b17601ba6fc35dbdad950a647cc7" + integrity sha512-+Nkvv0fHyhISkiMIjnyjmf5YJcQ1IQHZN6U9TLUMroWR38FNwpsC51Gb68yueafX1V6ifOisInSgP9WJFS13ew== caseless@~0.12.0: version "0.12.0" @@ -4841,10 +4841,10 @@ electron-to-chromium@^1.3.564: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.850.tgz#c56c72abfeab051b4b328beb894461c5912d0456" integrity sha512-ZzkDcdzePeF4dhoGZQT77V2CyJOpwfTZEOg4h0x6R/jQhGt/rIRpbRyVreWLtD7B/WsVxo91URm2WxMKR9JQZA== -electron-to-chromium@^1.3.857: - version "1.3.867" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz#7cb484db4b57c28da0b65c51e434c3a1f3f9aa0d" - integrity sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw== +electron-to-chromium@^1.3.878: + version "1.3.885" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz#c8cec32fbc61364127849ae00f2395a1bae7c454" + integrity sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg== elliptic@^6.5.3: version "6.5.4" @@ -9537,10 +9537,10 @@ node-releases@^1.1.61: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== -node-releases@^1.1.77: - version "1.1.77" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" @@ -10198,11 +10198,6 @@ physical-cpu-count@^2.0.0: resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" From 22332177c0d0a48feda8ef2021da3207a7749293 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:14:13 +0000 Subject: [PATCH 105/564] Bump gatsby-plugin-purgecss from 6.0.2 to 6.1.0 in /packages/website Bumps [gatsby-plugin-purgecss](https://github.com/anantoghosh/gatsby-plugin-purgecss) from 6.0.2 to 6.1.0. - [Release notes](https://github.com/anantoghosh/gatsby-plugin-purgecss/releases) - [Changelog](https://github.com/anantoghosh/gatsby-plugin-purgecss/blob/master/CHANGELOG.md) - [Commits](https://github.com/anantoghosh/gatsby-plugin-purgecss/compare/6.0.2...6.1.0) --- updated-dependencies: - dependency-name: gatsby-plugin-purgecss dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..654d2bd7 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -23,7 +23,7 @@ "gatsby-plugin-matomo": "^0.10.0", "gatsby-plugin-offline": "^4.14.0", "gatsby-plugin-postcss": "^4.14.0", - "gatsby-plugin-purgecss": "^6.0.2", + "gatsby-plugin-purgecss": "^6.1.0", "gatsby-plugin-react-helmet": "^4.14.0", "gatsby-plugin-robots-txt": "^1.6.13", "gatsby-plugin-sharp": "^3.14.1", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..2eb6e36c 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6142,10 +6142,10 @@ gatsby-plugin-postcss@^4.14.0: "@babel/runtime" "^7.15.4" postcss-loader "^4.3.0" -gatsby-plugin-purgecss@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/gatsby-plugin-purgecss/-/gatsby-plugin-purgecss-6.0.2.tgz#31f7b3c8a1e1d5ee8df0350f5339c0d78360479f" - integrity sha512-7LefFqQ9ZGqcmgE3wWbFdOna7lIUTAiS1KISmvAl5M25u2IKreN1Yj7xbOF1RVz8Ta6ClAmTtc9fgNCWlr7oKQ== +gatsby-plugin-purgecss@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-purgecss/-/gatsby-plugin-purgecss-6.1.0.tgz#de5f90c67f2e567c6739941ec31b1228caa3e595" + integrity sha512-uykab5jWsUJDx4vhgim0UxIGY3i232dv5z/35nyCuc2KLyYgC3Vl1ptz/bh6fohlJaALZmAOiIoaShDMxvZUEQ== dependencies: fs-extra "^9.0.1" loader-utils "^2.0.0" From e41e0c6c68a67999edb529196294410dd21122c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:14:44 +0000 Subject: [PATCH 106/564] Bump tailwindcss from 2.2.17 to 2.2.19 in /packages/dashboard Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 2.2.17 to 2.2.19. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v2.2.17...v2.2.19) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 48fb2c50..11a91105 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -34,7 +34,7 @@ "stripe": "8.184.0", "superagent": "6.1.0", "swr": "1.0.1", - "tailwindcss": "2.2.17", + "tailwindcss": "2.2.19", "yup": "0.32.11" }, "resolutions": { diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 2cc26a35..02093555 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2987,10 +2987,10 @@ swr@1.0.1: dependencies: dequal "2.0.2" -tailwindcss@2.2.17: - version "2.2.17" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.17.tgz#c6332731f9ff1b6628ff589c95c38685347775e3" - integrity sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA== +tailwindcss@2.2.19: + version "2.2.19" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.19.tgz#540e464832cd462bb9649c1484b0a38315c2653c" + integrity sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw== dependencies: arg "^5.0.1" bytes "^3.0.0" From 3cee9a85579a0a2f36b6cbef205ccb67857e2b38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Nov 2021 12:03:30 +0000 Subject: [PATCH 107/564] Bump cypress from 8.6.0 to 8.7.0 in /packages/website Bumps [cypress](https://github.com/cypress-io/cypress) from 8.6.0 to 8.7.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js) - [Commits](https://github.com/cypress-io/cypress/compare/v8.6.0...v8.7.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 4 ++-- packages/website/yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..bb15aae5 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.4", + "gatsby": "^3.14.5", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.1", @@ -66,7 +66,7 @@ }, "devDependencies": { "cross-env": "^7.0.3", - "cypress": "^8.6.0", + "cypress": "^8.7.0", "cypress-file-upload": "^5.0.8", "prettier": "^2.4.1" }, diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..fa4fd65d 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -4358,10 +4358,10 @@ cypress-file-upload@^5.0.8: resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== -cypress@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.6.0.tgz#8d02fa58878b37cfc45bbfce393aa974fa8a8e22" - integrity sha512-F7qEK/6Go5FsqTueR+0wEw2vOVKNgk5847Mys8vsWkzPoEKdxs+7N9Y1dit+zhaZCLtMPyrMwjfA53ZFy+lSww== +cypress@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.7.0.tgz#2ee371f383d8f233d3425b6cc26ddeec2668b6da" + integrity sha512-b1bMC3VQydC6sXzBMFnSqcvwc9dTZMgcaOzT0vpSD+Gq1yFc+72JDWi55sfUK5eIeNLAtWOGy1NNb6UlhMvB+Q== dependencies: "@cypress/request" "^2.88.6" "@cypress/xvfb" "^1.2.4" @@ -6464,10 +6464,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.4: - version "3.14.4" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.4.tgz#e7ef5c3c1eda45ea3ad0bc1273f014fbc46b316c" - integrity sha512-cpsMhl2qkE0+TL0znwflVfycy143fFucGtFDkNxu8dbY0GRjA9MiDwlS/aSqg5U2HhhF39IcBvwuntiaP6vQ0g== +gatsby@^3.14.5: + version "3.14.5" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.5.tgz#917dfa512f83ec3feddca2f68b236ab70eeb8df7" + integrity sha512-j1Dvm6iIlUcfYXXNKZWULanOF7UI/01uRMbIBP10iqjJClv+ZbqnFnkwQKvFwLaC88h6jPcEIbR7kZFTqbfbZQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" From 192ab727969556d3fe1ef068a9d2701b22c093d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Nov 2021 12:03:56 +0000 Subject: [PATCH 108/564] Bump tailwindcss from 2.2.17 to 2.2.19 in /packages/website Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 2.2.17 to 2.2.19. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v2.2.17...v2.2.19) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 4 ++-- packages/website/yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index b980a8c3..7c33af49 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -15,7 +15,7 @@ "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", "framer-motion": "^4.1.17", - "gatsby": "^3.14.4", + "gatsby": "^3.14.5", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", "gatsby-plugin-image": "^1.14.1", @@ -62,7 +62,7 @@ "skynet-js": "^4.0.11-beta", "stream-browserify": "^3.0.0", "swr": "^1.0.1", - "tailwindcss": "^2.2.17" + "tailwindcss": "^2.2.19" }, "devDependencies": { "cross-env": "^7.0.3", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 54a0a289..c3ab53e2 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6464,10 +6464,10 @@ gatsby-worker@^0.5.0: "@babel/core" "^7.15.5" "@babel/runtime" "^7.15.4" -gatsby@^3.14.4: - version "3.14.4" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.4.tgz#e7ef5c3c1eda45ea3ad0bc1273f014fbc46b316c" - integrity sha512-cpsMhl2qkE0+TL0znwflVfycy143fFucGtFDkNxu8dbY0GRjA9MiDwlS/aSqg5U2HhhF39IcBvwuntiaP6vQ0g== +gatsby@^3.14.5: + version "3.14.5" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-3.14.5.tgz#917dfa512f83ec3feddca2f68b236ab70eeb8df7" + integrity sha512-j1Dvm6iIlUcfYXXNKZWULanOF7UI/01uRMbIBP10iqjJClv+ZbqnFnkwQKvFwLaC88h6jPcEIbR7kZFTqbfbZQ== dependencies: "@babel/code-frame" "^7.14.0" "@babel/core" "^7.15.5" @@ -12743,10 +12743,10 @@ table@^6.0.9: string-width "^4.2.0" strip-ansi "^6.0.0" -tailwindcss@^2.2.17: - version "2.2.17" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.17.tgz#c6332731f9ff1b6628ff589c95c38685347775e3" - integrity sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA== +tailwindcss@^2.2.19: + version "2.2.19" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.19.tgz#540e464832cd462bb9649c1484b0a38315c2653c" + integrity sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw== dependencies: arg "^5.0.1" bytes "^3.0.0" From 3648d2a52d70bdb22fd866d6c9b8888948af942a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Nov 2021 15:08:07 +0000 Subject: [PATCH 109/564] Bump gatsby-plugin-sharp from 3.14.2 to 4.0.1 in /packages/website Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 3.14.2 to 4.0.1. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/gatsby-plugin-sharp@4.0.1/packages/gatsby-plugin-sharp/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@4.0.1/packages/gatsby-plugin-sharp) --- updated-dependencies: - dependency-name: gatsby-plugin-sharp dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 71 ++++++++++++++++++++++++++++------- 2 files changed, 58 insertions(+), 15 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 6d81bbd7..2d50ab99 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -26,7 +26,7 @@ "gatsby-plugin-purgecss": "^6.1.0", "gatsby-plugin-react-helmet": "^4.14.0", "gatsby-plugin-robots-txt": "^1.6.13", - "gatsby-plugin-sharp": "^3.14.2", + "gatsby-plugin-sharp": "^4.0.1", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", "gatsby-remark-copy-linked-files": "^4.11.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 4c6ac286..5874db1a 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6022,6 +6022,22 @@ gatsby-core-utils@^2.14.0: tmp "^0.2.1" xdg-basedir "^4.0.0" +gatsby-core-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.0.0.tgz#5a0fccd9118acb874dd64324fcc3c1b407a5c16e" + integrity sha512-MEQAgP+/ddDTOjcfRhyZenLfr6q3nyh01muI6QTgz0qAFsbS50lZh9SbczgpuKnb6qiST1KR0OUIYTaBFXfB2g== + dependencies: + "@babel/runtime" "^7.15.4" + ci-info "2.0.0" + configstore "^5.0.1" + file-type "^16.5.3" + fs-extra "^10.0.0" + got "^11.8.2" + node-object-hash "^2.3.9" + proper-lockfile "^4.1.2" + tmp "^0.2.1" + xdg-basedir "^4.0.0" + gatsby-graphiql-explorer@^1.14.0: version "1.14.0" resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-1.14.0.tgz#2049d6b2cf1612c80faf3983c72a41cb9d6bb116" @@ -6167,19 +6183,19 @@ gatsby-plugin-robots-txt@^1.6.13: "@babel/runtime" "^7.14.0" generate-robotstxt "^8.0.3" -gatsby-plugin-sharp@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-3.14.2.tgz#46258e4b526b31b08cbcbb5a957040186898044a" - integrity sha512-BQ0PW2o5ACQXf8kjiG3c0KULVILwbikIO9sEecAKHstIXofc8i+WU0V4IJ8wZCo1JEea+IvkWPxE2NIz2bJ0LA== +gatsby-plugin-sharp@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.0.1.tgz#342f5234f288ded8adade7cd9ef2680e2b7f4f50" + integrity sha512-j9rw5uZeYQJ3b60l4mtwTkcvmxeQ0TFID7mZw0ULovMwOJvT5R6xerXMbj57SjAom8+RK1NvWlfQcWRAg9aypg== dependencies: "@babel/runtime" "^7.15.4" async "^3.2.1" bluebird "^3.7.2" filenamify "^4.3.0" fs-extra "^10.0.0" - gatsby-core-utils "^2.14.0" - gatsby-plugin-utils "^1.14.0" - gatsby-telemetry "^2.14.0" + gatsby-core-utils "^3.0.0" + gatsby-plugin-utils "^2.0.0" + gatsby-telemetry "^3.0.0" got "^11.8.2" lodash "^4.17.21" mini-svg-data-uri "^1.3.3" @@ -6187,7 +6203,7 @@ gatsby-plugin-sharp@^3.14.2: probe-image-size "^6.0.0" progress "^2.0.3" semver "^7.3.5" - sharp "^0.29.0" + sharp "^0.29.1" svgo "1.3.2" uuid "3.4.0" @@ -6217,6 +6233,14 @@ gatsby-plugin-utils@^1.14.0: "@babel/runtime" "^7.15.4" joi "^17.4.2" +gatsby-plugin-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-2.0.0.tgz#555a8d8122a1716148a71b52cb3adb97d9e09bc4" + integrity sha512-RN++hR/gU6orPHlnDM3CUd4DnDdTcGS3vkjHnAvo+Wli7H8yHEt4baoK20f/V3AOOCxwen8TypFH3Uy5iVAjyg== + dependencies: + "@babel/runtime" "^7.15.4" + joi "^17.4.2" + gatsby-react-router-scroll@^4.14.0: version "4.14.0" resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-4.14.0.tgz#8825c437f2ce07144dff2013f405b43af8159069" @@ -6396,6 +6420,25 @@ gatsby-telemetry@^2.14.0: node-fetch "^2.6.1" uuid "3.4.0" +gatsby-telemetry@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-3.0.0.tgz#d3ed8c36742942d97b5639f9cc499d5c24921158" + integrity sha512-qUFH5B48R0adY3AiEVOGZ0Lu4bOBmuHtAbAdzAMLMlXvIubSfc3VvxyB64jKQfZ3l1FyAIddSHz8i5yKAXekWA== + dependencies: + "@babel/code-frame" "^7.14.0" + "@babel/runtime" "^7.15.4" + "@turist/fetch" "^7.1.7" + "@turist/time" "^0.0.2" + async-retry-ng "^2.0.1" + boxen "^4.2.0" + configstore "^5.0.1" + fs-extra "^10.0.0" + gatsby-core-utils "^3.0.0" + git-up "^4.0.5" + is-docker "^2.2.1" + lodash "^4.17.21" + node-fetch "^2.6.1" + gatsby-transformer-json@^3.14.0: version "3.14.0" resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-3.14.0.tgz#b1624a25e20f6bbf70181f5c1284e67abfac7c7a" @@ -9498,7 +9541,7 @@ node-abi@^2.21.0: dependencies: semver "^5.4.1" -node-addon-api@^4.1.0: +node-addon-api@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87" integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q== @@ -11918,14 +11961,14 @@ shallow-compare@^1.2.2: resolved "https://registry.yarnpkg.com/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb" integrity sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg== -sharp@^0.29.0: - version "0.29.1" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.1.tgz#f60b50f24f399464a24187c86bd2da41aae50b85" - integrity sha512-DpgdAny9TuS+oWCQ7MRS8XyY9x6q1+yW3a5wNx0J3HrGuB/Jot/8WcT+lElHY9iJu2pwtegSGxqMaqFiMhs4rQ== +sharp@^0.29.0, sharp@^0.29.1: + version "0.29.2" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.2.tgz#e8c003cd9cb321585b32dbda6eed3baa7d6f2308" + integrity sha512-XWRdiYLIJ3tDUejRyG24KERnJzMfIoyiJBntd2S6/uj3NEeNgRFRLgiBlvPxMa8aml14dKKD98yHinSNKp1xzQ== dependencies: color "^4.0.1" detect-libc "^1.0.3" - node-addon-api "^4.1.0" + node-addon-api "^4.2.0" prebuild-install "^6.1.4" semver "^7.3.5" simple-get "^3.1.0" From 63ca8ad2497ede0680f6ccf44db59d1bea8cf6de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Nov 2021 16:02:31 +0000 Subject: [PATCH 110/564] Bump gatsby-plugin-robots-txt from 1.6.13 to 1.6.14 in /packages/website Bumps [gatsby-plugin-robots-txt](https://github.com/mdreizin/gatsby-plugin-robots-txt) from 1.6.13 to 1.6.14. - [Release notes](https://github.com/mdreizin/gatsby-plugin-robots-txt/releases) - [Commits](https://github.com/mdreizin/gatsby-plugin-robots-txt/compare/v1.6.13...v1.6.14) --- updated-dependencies: - dependency-name: gatsby-plugin-robots-txt dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 2d50ab99..3fbb8da4 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -25,7 +25,7 @@ "gatsby-plugin-postcss": "^4.14.0", "gatsby-plugin-purgecss": "^6.1.0", "gatsby-plugin-react-helmet": "^4.14.0", - "gatsby-plugin-robots-txt": "^1.6.13", + "gatsby-plugin-robots-txt": "^1.6.14", "gatsby-plugin-sharp": "^4.0.1", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 5874db1a..88c98c3d 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6175,12 +6175,12 @@ gatsby-plugin-react-helmet@^4.14.0: dependencies: "@babel/runtime" "^7.15.4" -gatsby-plugin-robots-txt@^1.6.13: - version "1.6.13" - resolved "https://registry.yarnpkg.com/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.13.tgz#01e1ce68e3f4e07f957ac9a20cd2a9e12fdd3f79" - integrity sha512-MUPJsvkALwSmfRb1L3IVNmzIqwV35fol1RVot425ZYXvtD+s0OtZli5VnhLNxsX0beodyavzFl0SRJCCQZz0/g== +gatsby-plugin-robots-txt@^1.6.14: + version "1.6.14" + resolved "https://registry.yarnpkg.com/gatsby-plugin-robots-txt/-/gatsby-plugin-robots-txt-1.6.14.tgz#e7ce50b137fecc81c1ac384ddc544a4bafd8da89" + integrity sha512-5NLdgKPw7xHjvowNDU5aWzl/g3M3WU0Equn73aXGGdEue9Nuq7zh/Lh3oX+OM+MZolRCiM9GNHxdIvYPDWNXgA== dependencies: - "@babel/runtime" "^7.14.0" + "@babel/runtime" "^7.15.4" generate-robotstxt "^8.0.3" gatsby-plugin-sharp@^4.0.1: From 45688eeab18ada54a5d05632d90d48eecc907ad8 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 3 Nov 2021 09:57:55 +0100 Subject: [PATCH 111/564] Increase the request body size of the /skynet/restore endpoint to 5MB. --- docker/nginx/conf.d/server/server.api | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 9f966d0d..56c556a7 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -112,6 +112,10 @@ location /skynet/registry { include /etc/nginx/conf.d/include/location-skynet-registry; } +location /skynet/restore { + client_max_body_size 5M; +} + location /skynet/skyfile { include /etc/nginx/conf.d/include/cors; include /etc/nginx/conf.d/include/sia-auth; @@ -158,8 +162,8 @@ location /skynet/tus { # TUS chunks size is 40M + leaving 10M of breathing room client_max_body_size 50M; - - # Those timeouts need to be elevated since skyd can stall reading + + # Those timeouts need to be elevated since skyd can stall reading # data for a while when overloaded which would terminate connection client_body_timeout 1h; proxy_send_timeout 1h; @@ -234,7 +238,7 @@ location /skynet/metadata { -- do not expose internal header ngx.header["Skynet-Requested-Skylink"] = "" - } + } proxy_set_header User-Agent: Sia-Agent; proxy_pass http://sia:9980; @@ -249,7 +253,7 @@ location /skynet/resolve { -- do not expose internal header ngx.header["Skynet-Requested-Skylink"] = "" - } + } proxy_set_header User-Agent: Sia-Agent; proxy_pass http://sia:9980; From adff743fdec5c0fda2c4ecea81efb56049bc6b8e Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 3 Nov 2021 10:17:44 +0100 Subject: [PATCH 112/564] Add CORS. --- docker/nginx/conf.d/server/server.api | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 56c556a7..ac6e95b8 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -113,6 +113,8 @@ location /skynet/registry { } location /skynet/restore { + include /etc/nginx/conf.d/include/cors; + client_max_body_size 5M; } From c34a32a3fdd66680601ef8e16d3f4a59e1103831 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 3 Nov 2021 12:51:29 +0100 Subject: [PATCH 113/564] Require auth. --- docker/nginx/conf.d/server/server.api | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index ac6e95b8..8641ac98 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -114,6 +114,7 @@ location /skynet/registry { location /skynet/restore { include /etc/nginx/conf.d/include/cors; + include /etc/nginx/conf.d/include/sia-auth; client_max_body_size 5M; } From 7787903c062ba602014caad6a2677678fe0ff4a8 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 3 Nov 2021 14:22:05 +0100 Subject: [PATCH 114/564] Proxy-pass /skynet/restore to skyd. --- docker/nginx/conf.d/server/server.api | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 8641ac98..1b47b1eb 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -117,6 +117,9 @@ location /skynet/restore { include /etc/nginx/conf.d/include/sia-auth; client_max_body_size 5M; + + proxy_set_header User-Agent: Sia-Agent; + proxy_pass http://sia:9980/skynet/restore; } location /skynet/skyfile { From 040ea5b5811a648a33c1099010d3b8fcffed77cd Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 3 Nov 2021 14:50:20 +0100 Subject: [PATCH 115/564] fix /restore endpoint --- docker/nginx/conf.d/server/server.api | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 1b47b1eb..c34ca64f 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -114,12 +114,11 @@ location /skynet/registry { location /skynet/restore { include /etc/nginx/conf.d/include/cors; - include /etc/nginx/conf.d/include/sia-auth; client_max_body_size 5M; proxy_set_header User-Agent: Sia-Agent; - proxy_pass http://sia:9980/skynet/restore; + proxy_pass http://sia:9980; } location /skynet/skyfile { From eec51502646630ae2a571ae47a2dd02754b55e97 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 3 Nov 2021 14:51:10 +0100 Subject: [PATCH 116/564] fix /restore endpoint --- docker/nginx/conf.d/server/server.api | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index c34ca64f..e5f6a995 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -114,6 +114,7 @@ location /skynet/registry { location /skynet/restore { include /etc/nginx/conf.d/include/cors; + include /etc/nginx/conf.d/include/sia-auth; client_max_body_size 5M; From d4b9146ecfd15d2bbbf52a88c1c339d0653ffd8f Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 3 Nov 2021 15:06:09 +0100 Subject: [PATCH 117/564] add siapath --- docker/nginx/conf.d/server/server.api | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index e5f6a995..ae10fd01 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -115,11 +115,20 @@ location /skynet/registry { location /skynet/restore { include /etc/nginx/conf.d/include/cors; include /etc/nginx/conf.d/include/sia-auth; + include /etc/nginx/conf.d/include/generate-siapath; client_max_body_size 5M; + # increase request timeouts + proxy_read_timeout 600; + proxy_send_timeout 600; + + proxy_request_buffering off; # stream uploaded files through the proxy as it comes in + proxy_set_header Expect $http_expect; proxy_set_header User-Agent: Sia-Agent; - proxy_pass http://sia:9980; + + # proxy this call to siad endpoint (make sure the ip is correct) + proxy_pass http://sia:9980/skynet/restore/$dir1/$dir2/$dir3$is_args$args; } location /skynet/skyfile { From 878660c52afe0bba8765492eb67f97aa35dd3de6 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Wed, 3 Nov 2021 17:16:28 +0100 Subject: [PATCH 118/564] remove siapath --- docker/nginx/conf.d/server/server.api | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index ae10fd01..5fc41cb1 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -115,7 +115,6 @@ location /skynet/registry { location /skynet/restore { include /etc/nginx/conf.d/include/cors; include /etc/nginx/conf.d/include/sia-auth; - include /etc/nginx/conf.d/include/generate-siapath; client_max_body_size 5M; @@ -128,7 +127,7 @@ location /skynet/restore { proxy_set_header User-Agent: Sia-Agent; # proxy this call to siad endpoint (make sure the ip is correct) - proxy_pass http://sia:9980/skynet/restore/$dir1/$dir2/$dir3$is_args$args; + proxy_pass http://sia:9980; } location /skynet/skyfile { From 03c72653c5d18fa416726621a106ec9398cd11d3 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 4 Nov 2021 14:20:43 +0100 Subject: [PATCH 119/564] fix uploaded directory name --- packages/website/src/components/Uploader/UploaderElement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/src/components/Uploader/UploaderElement.js b/packages/website/src/components/Uploader/UploaderElement.js index 86dd2ada..70557b63 100644 --- a/packages/website/src/components/Uploader/UploaderElement.js +++ b/packages/website/src/components/Uploader/UploaderElement.js @@ -85,7 +85,7 @@ export default function UploaderElement({ onUploadStateChange, upload }) { if (upload.mode === "directory") { const files = upload.file.files; const directory = files.reduce((acc, file) => ({ ...acc, [getRelativeFilePath(file)]: file }), {}); - const name = encodeURIComponent(upload.name); + const name = encodeURIComponent(upload.file.name); response = await client.uploadDirectory(directory, name, { onUploadProgress }); } else { From ffe7876854817c29bc6a4cedc5b6f624e72798df Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 4 Nov 2021 14:21:05 +0100 Subject: [PATCH 120/564] fix directory upload missing progress --- packages/website/src/components/Uploader/Uploader.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/website/src/components/Uploader/Uploader.js b/packages/website/src/components/Uploader/Uploader.js index f5241f42..cdb86e15 100644 --- a/packages/website/src/components/Uploader/Uploader.js +++ b/packages/website/src/components/Uploader/Uploader.js @@ -47,8 +47,9 @@ const Uploader = () => { const handleDrop = async (files) => { if (mode === "directory" && files.length) { const name = getRootDirectory(files[0]); // get the file path from the first file + const size = files.reduce((acc, file) => acc + file.size, 0); - files = [{ name, files }]; + files = [{ name, size, files }]; } setUploads((uploads) => [...files.map((file) => ({ id: nanoid(), file, mode, status: "enqueued" })), ...uploads]); From f7f75ca2f3b9997b83bb3fa9c3500e0e5b586be9 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 4 Nov 2021 14:37:14 +0100 Subject: [PATCH 121/564] changelog entry --- .../bugs-fixed/undefined-dir-upload-name-and-empty-progress.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 changelog/items/bugs-fixed/undefined-dir-upload-name-and-empty-progress.md diff --git a/changelog/items/bugs-fixed/undefined-dir-upload-name-and-empty-progress.md b/changelog/items/bugs-fixed/undefined-dir-upload-name-and-empty-progress.md new file mode 100644 index 00000000..a6112e27 --- /dev/null +++ b/changelog/items/bugs-fixed/undefined-dir-upload-name-and-empty-progress.md @@ -0,0 +1,2 @@ +- fixed uploaded directory name (was "undefined" before) +- fixed empty directory upload progress (size was not calculated for directories) From a4ce3c935dc2a0e7e0c313dbf7855ddbb02f6ff3 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Fri, 5 Nov 2021 12:57:06 +0100 Subject: [PATCH 122/564] implement base32 decoder --- docker/nginx/Dockerfile | 1 + .../conf.d/include/init-optional-variables | 3 + docker/nginx/conf.d/include/location-skylink | 4 ++ docker/nginx/conf.d/server/server.api | 6 -- docker/nginx/conf.d/server/server.dnslink | 1 + docker/nginx/libs/skynet/skylink.lua | 61 +++++++++++++++++++ docker/nginx/nginx.conf | 8 ++- 7 files changed, 76 insertions(+), 8 deletions(-) create mode 100644 docker/nginx/libs/skynet/skylink.lua diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile index acff0e3e..fd6e4f09 100644 --- a/docker/nginx/Dockerfile +++ b/docker/nginx/Dockerfile @@ -7,6 +7,7 @@ RUN luarocks install lua-resty-http && \ -out /etc/ssl/local-certificate.crt COPY mo ./ +COPY libs /etc/nginx/libs COPY conf.d /etc/nginx/conf.d COPY conf.d.templates /etc/nginx/conf.d.templates diff --git a/docker/nginx/conf.d/include/init-optional-variables b/docker/nginx/conf.d/include/init-optional-variables index 4f1be02b..e2e74030 100644 --- a/docker/nginx/conf.d/include/init-optional-variables +++ b/docker/nginx/conf.d/include/init-optional-variables @@ -7,3 +7,6 @@ set $hns_domain ''; # set only if server has been access through SERVER_DOMAIN set $server_alias ''; + +# expose skylink variable so we can use it in access log +set $skylink ''; diff --git a/docker/nginx/conf.d/include/location-skylink b/docker/nginx/conf.d/include/location-skylink index a3692d00..143ca108 100644 --- a/docker/nginx/conf.d/include/location-skylink +++ b/docker/nginx/conf.d/include/location-skylink @@ -11,6 +11,10 @@ if ($request_method = PURGE) { limit_conn downloads_by_ip 100; # ddos protection: max 100 downloads at a time +# ensure that skylink that we pass around is base64 encoded (transform base32 encoded ones) +# this is important because we want only one format in cache keys and logs +set_by_lua_block $skylink { return require("skynet.skylink").parse(ngx.var.skylink) } + # $skylink_v1 and $skylink_v2 variables default to the same value but in case the requested skylink was: # a) skylink v1 - it would not matter, no additional logic is executed # b) skylink v2 - in a lua block below we will resolve the skylink v2 into skylink v1 and update diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 9f966d0d..cd925429 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -231,9 +231,6 @@ location /skynet/metadata { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") - - -- do not expose internal header - ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; @@ -246,9 +243,6 @@ location /skynet/resolve { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") - - -- do not expose internal header - ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; diff --git a/docker/nginx/conf.d/server/server.dnslink b/docker/nginx/conf.d/server/server.dnslink index 1dd3a489..32e454cc 100644 --- a/docker/nginx/conf.d/server/server.dnslink +++ b/docker/nginx/conf.d/server/server.dnslink @@ -37,6 +37,7 @@ location / { ngx.var.skylink = cache_value end + ngx.var.skylink = require("skynet.skylink").parse(ngx.var.skylink) ngx.var.skylink_v1 = ngx.var.skylink ngx.var.skylink_v2 = ngx.var.skylink } diff --git a/docker/nginx/libs/skynet/skylink.lua b/docker/nginx/libs/skynet/skylink.lua new file mode 100644 index 00000000..f059249e --- /dev/null +++ b/docker/nginx/libs/skynet/skylink.lua @@ -0,0 +1,61 @@ +local _M = {} + +local function str_split(str, size) + local result = {} + for i=1, #str, size do + table.insert(result, str:sub(i, i + size - 1)) + end + return result +end + +local function dec2bin(num) + local result = "" + repeat + local halved = num / 2 + local int, frac = math.modf(halved) + num = int + result = math.ceil(frac) .. result + until num == 0 + return result +end + +local base32Alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUV" + +-- this is not a full implementation of base32 decoder, it doesn't +-- cover all edge cases but it works good enough for decoding skylinks +-- source: https://gist.github.com/linsonder6/3202fc06832f97905aab2a8a492a80de +function decodeBase32Skylink(str) + local binary = string.upper(str):gsub(".", function (char) + if char == "=" then return "" end + local pos = string.find(base32Alphabet, char) + pos = pos - 1 + return string.format("%05u", dec2bin(pos)) + end) + + local bytes = str_split(binary, 8) + + local decoded = {} + for _, byte in pairs(bytes) do + table.insert(decoded, string.char(tonumber(byte, 2))) + end + + local concatenated = table.concat(decoded) + + -- decoded skylink is always 34 bytes, anything + -- else is leftover and should be discarded + return string.sub(concatenated, 1, 34) +end + +-- parse any skylink and return base64 version +function _M.parse(skylink) + if string.len(skylink) == 55 then + local base64 = require("ngx.base64") + local decoded = decodeBase32Skylink(skylink) + + return base64.encode_base64url(decoded) + end + + return skylink +end + +return _M diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index c1f92d92..755bd003 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -38,6 +38,8 @@ http { include mime.types; default_type application/octet-stream; + lua_package_path "/etc/nginx/libs/?.lua;;"; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $upstream_response_time ' @@ -45,7 +47,7 @@ http { '"$upstream_http_content_type" "$upstream_cache_status" ' '"$server_alias" "$sent_http_skynet_skylink" ' '$upstream_connect_time $upstream_header_time ' - '$request_time "$hns_domain"'; + '$request_time "$hns_domain" "$skylink"'; access_log logs/access.log main; @@ -72,8 +74,10 @@ http { # this runs before forking out nginx worker processes init_by_lua_block { - require "cjson" + require "cjson" + require "ngx.base64" require "resty.http" + require "skynet.skylink" } # include skynet-portal-api and skynet-server-api header on every request From c4e771759bbc3f09849a024d07c0aa4ac9ecfbb9 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Fri, 5 Nov 2021 15:32:32 +0100 Subject: [PATCH 123/564] unit tests --- .github/workflows/nginx-lua-unit-tests.yml | 32 +++ docker/nginx/conf.d/server/server.api | 6 + docker/nginx/libs/basexx.lua | 301 +++++++++++++++++++++ docker/nginx/libs/skynet/skylink.lua | 51 +--- docker/nginx/libs/skynet/skylink.spec.lua | 14 + docker/nginx/nginx.conf | 1 - 6 files changed, 356 insertions(+), 49 deletions(-) create mode 100644 .github/workflows/nginx-lua-unit-tests.yml create mode 100644 docker/nginx/libs/basexx.lua create mode 100644 docker/nginx/libs/skynet/skylink.spec.lua diff --git a/.github/workflows/nginx-lua-unit-tests.yml b/.github/workflows/nginx-lua-unit-tests.yml new file mode 100644 index 00000000..d0c71aa1 --- /dev/null +++ b/.github/workflows/nginx-lua-unit-tests.yml @@ -0,0 +1,32 @@ +# Install and run unit tests with busted +# Docs: http://olivinelabs.com/busted/ + +name: Nginx Lua Unit Tests + +on: + pull_request: + paths: + - "docker/nginx/libs/**.lua" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: "x64" + + - name: Install Dependencies + run: | + pip install hererocks + hererocks env --lua=5.1 -rlatest + source env/bin/activate + luarocks install busted + + - name: Unit Tests + run: | + source env/bin/activate + busted --verbose --pattern=spec --directory=docker/nginx/libs . diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index cd925429..9f966d0d 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -231,6 +231,9 @@ location /skynet/metadata { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") + + -- do not expose internal header + ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; @@ -243,6 +246,9 @@ location /skynet/resolve { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") + + -- do not expose internal header + ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; diff --git a/docker/nginx/libs/basexx.lua b/docker/nginx/libs/basexx.lua new file mode 100644 index 00000000..b077ee9a --- /dev/null +++ b/docker/nginx/libs/basexx.lua @@ -0,0 +1,301 @@ +-- source: https://github.com/aiq/basexx +-- license: MIT +-- modified: exposed from_basexx and to_basexx generic functions + +-------------------------------------------------------------------------------- +-- util functions +-------------------------------------------------------------------------------- + +local function divide_string( str, max ) + local result = {} + + local start = 1 + for i = 1, #str do + if i % max == 0 then + table.insert( result, str:sub( start, i ) ) + start = i + 1 + elseif i == #str then + table.insert( result, str:sub( start, i ) ) + end + end + + return result +end + +local function number_to_bit( num, length ) + local bits = {} + + while num > 0 do + local rest = math.floor( math.fmod( num, 2 ) ) + table.insert( bits, rest ) + num = ( num - rest ) / 2 + end + + while #bits < length do + table.insert( bits, "0" ) + end + + return string.reverse( table.concat( bits ) ) +end + +local function ignore_set( str, set ) + if set then + str = str:gsub( "["..set.."]", "" ) + end + return str +end + +local function pure_from_bit( str ) + return ( str:gsub( '........', function ( cc ) + return string.char( tonumber( cc, 2 ) ) + end ) ) +end + +local function unexpected_char_error( str, pos ) + local c = string.sub( str, pos, pos ) + return string.format( "unexpected character at position %d: '%s'", pos, c ) +end + +-------------------------------------------------------------------------------- + +local basexx = {} + +-------------------------------------------------------------------------------- +-- base2(bitfield) decode and encode function +-------------------------------------------------------------------------------- + +local bitMap = { o = "0", i = "1", l = "1" } + +function basexx.from_bit( str, ignore ) + str = ignore_set( str, ignore ) + str = string.lower( str ) + str = str:gsub( '[ilo]', function( c ) return bitMap[ c ] end ) + local pos = string.find( str, "[^01]" ) + if pos then return nil, unexpected_char_error( str, pos ) end + + return pure_from_bit( str ) +end + +function basexx.to_bit( str ) + return ( str:gsub( '.', function ( c ) + local byte = string.byte( c ) + local bits = {} + for _ = 1,8 do + table.insert( bits, byte % 2 ) + byte = math.floor( byte / 2 ) + end + return table.concat( bits ):reverse() + end ) ) +end + +-------------------------------------------------------------------------------- +-- base16(hex) decode and encode function +-------------------------------------------------------------------------------- + +function basexx.from_hex( str, ignore ) + str = ignore_set( str, ignore ) + local pos = string.find( str, "[^%x]" ) + if pos then return nil, unexpected_char_error( str, pos ) end + + return ( str:gsub( '..', function ( cc ) + return string.char( tonumber( cc, 16 ) ) + end ) ) +end + +function basexx.to_hex( str ) + return ( str:gsub( '.', function ( c ) + return string.format('%02X', string.byte( c ) ) + end ) ) +end + +-------------------------------------------------------------------------------- +-- generic function to decode and encode base32/base64 +-------------------------------------------------------------------------------- + +function basexx.from_basexx( str, alphabet, bits ) + local result = {} + for i = 1, #str do + local c = string.sub( str, i, i ) + if c ~= '=' then + local index = string.find( alphabet, c, 1, true ) + if not index then + return nil, unexpected_char_error( str, i ) + end + table.insert( result, number_to_bit( index - 1, bits ) ) + end + end + + local value = table.concat( result ) + local pad = #value % 8 + return pure_from_bit( string.sub( value, 1, #value - pad ) ) +end + +function basexx.to_basexx( str, alphabet, bits, pad ) + local bitString = basexx.to_bit( str ) + + local chunks = divide_string( bitString, bits ) + local result = {} + for _,value in ipairs( chunks ) do + if ( #value < bits ) then + value = value .. string.rep( '0', bits - #value ) + end + local pos = tonumber( value, 2 ) + 1 + table.insert( result, alphabet:sub( pos, pos ) ) + end + + table.insert( result, pad ) + return table.concat( result ) +end + +-------------------------------------------------------------------------------- +-- rfc 3548: http://www.rfc-editor.org/rfc/rfc3548.txt +-------------------------------------------------------------------------------- + +local base32Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" +local base32PadMap = { "", "======", "====", "===", "=" } + +function basexx.from_base32( str, ignore ) + str = ignore_set( str, ignore ) + return basexx.from_basexx( string.upper( str ), base32Alphabet, 5 ) +end + +function basexx.to_base32( str ) + return basexx.to_basexx( str, base32Alphabet, 5, base32PadMap[ #str % 5 + 1 ] ) +end + +-------------------------------------------------------------------------------- +-- crockford: http://www.crockford.com/wrmg/base32.html +-------------------------------------------------------------------------------- + +local crockfordAlphabet = "0123456789ABCDEFGHJKMNPQRSTVWXYZ" +local crockfordMap = { O = "0", I = "1", L = "1" } + +function basexx.from_crockford( str, ignore ) + str = ignore_set( str, ignore ) + str = string.upper( str ) + str = str:gsub( '[ILOU]', function( c ) return crockfordMap[ c ] end ) + return basexx.from_basexx( str, crockfordAlphabet, 5 ) +end + +function basexx.to_crockford( str ) + return basexx.to_basexx( str, crockfordAlphabet, 5, "" ) +end + +-------------------------------------------------------------------------------- +-- base64 decode and encode function +-------------------------------------------------------------------------------- + +local base64Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".. + "abcdefghijklmnopqrstuvwxyz".. + "0123456789+/" +local base64PadMap = { "", "==", "=" } + +function basexx.from_base64( str, ignore ) + str = ignore_set( str, ignore ) + return basexx.from_basexx( str, base64Alphabet, 6 ) +end + +function basexx.to_base64( str ) + return basexx.to_basexx( str, base64Alphabet, 6, base64PadMap[ #str % 3 + 1 ] ) +end + +-------------------------------------------------------------------------------- +-- URL safe base64 decode and encode function +-------------------------------------------------------------------------------- + +local url64Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".. + "abcdefghijklmnopqrstuvwxyz".. + "0123456789-_" + +function basexx.from_url64( str, ignore ) + str = ignore_set( str, ignore ) + return basexx.from_basexx( str, url64Alphabet, 6 ) +end + +function basexx.to_url64( str ) + return basexx.to_basexx( str, url64Alphabet, 6, "" ) +end + +-------------------------------------------------------------------------------- +-- +-------------------------------------------------------------------------------- + +local function length_error( len, d ) + return string.format( "invalid length: %d - must be a multiple of %d", len, d ) +end + +local z85Decoder = { 0x00, 0x44, 0x00, 0x54, 0x53, 0x52, 0x48, 0x00, + 0x4B, 0x4C, 0x46, 0x41, 0x00, 0x3F, 0x3E, 0x45, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x40, 0x00, 0x49, 0x42, 0x4A, 0x47, + 0x51, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, + 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, + 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, + 0x3B, 0x3C, 0x3D, 0x4D, 0x00, 0x4E, 0x43, 0x00, + 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, + 0x21, 0x22, 0x23, 0x4F, 0x00, 0x50, 0x00, 0x00 } + +function basexx.from_z85( str, ignore ) + str = ignore_set( str, ignore ) + if ( #str % 5 ) ~= 0 then + return nil, length_error( #str, 5 ) + end + + local result = {} + + local value = 0 + for i = 1, #str do + local index = string.byte( str, i ) - 31 + if index < 1 or index >= #z85Decoder then + return nil, unexpected_char_error( str, i ) + end + value = ( value * 85 ) + z85Decoder[ index ] + if ( i % 5 ) == 0 then + local divisor = 256 * 256 * 256 + while divisor ~= 0 do + local b = math.floor( value / divisor ) % 256 + table.insert( result, string.char( b ) ) + divisor = math.floor( divisor / 256 ) + end + value = 0 + end + end + + return table.concat( result ) +end + +local z85Encoder = "0123456789".. + "abcdefghijklmnopqrstuvwxyz".. + "ABCDEFGHIJKLMNOPQRSTUVWXYZ".. + ".-:+=^!/*?&<>()[]{}@%$#" + +function basexx.to_z85( str ) + if ( #str % 4 ) ~= 0 then + return nil, length_error( #str, 4 ) + end + + local result = {} + + local value = 0 + for i = 1, #str do + local b = string.byte( str, i ) + value = ( value * 256 ) + b + if ( i % 4 ) == 0 then + local divisor = 85 * 85 * 85 * 85 + while divisor ~= 0 do + local index = ( math.floor( value / divisor ) % 85 ) + 1 + table.insert( result, z85Encoder:sub( index, index ) ) + divisor = math.floor( divisor / 85 ) + end + value = 0 + end + end + + return table.concat( result ) +end + +-------------------------------------------------------------------------------- + +return basexx diff --git a/docker/nginx/libs/skynet/skylink.lua b/docker/nginx/libs/skynet/skylink.lua index f059249e..d3b61d36 100644 --- a/docker/nginx/libs/skynet/skylink.lua +++ b/docker/nginx/libs/skynet/skylink.lua @@ -1,58 +1,13 @@ local _M = {} -local function str_split(str, size) - local result = {} - for i=1, #str, size do - table.insert(result, str:sub(i, i + size - 1)) - end - return result -end - -local function dec2bin(num) - local result = "" - repeat - local halved = num / 2 - local int, frac = math.modf(halved) - num = int - result = math.ceil(frac) .. result - until num == 0 - return result -end - -local base32Alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUV" - --- this is not a full implementation of base32 decoder, it doesn't --- cover all edge cases but it works good enough for decoding skylinks --- source: https://gist.github.com/linsonder6/3202fc06832f97905aab2a8a492a80de -function decodeBase32Skylink(str) - local binary = string.upper(str):gsub(".", function (char) - if char == "=" then return "" end - local pos = string.find(base32Alphabet, char) - pos = pos - 1 - return string.format("%05u", dec2bin(pos)) - end) - - local bytes = str_split(binary, 8) - - local decoded = {} - for _, byte in pairs(bytes) do - table.insert(decoded, string.char(tonumber(byte, 2))) - end - - local concatenated = table.concat(decoded) - - -- decoded skylink is always 34 bytes, anything - -- else is leftover and should be discarded - return string.sub(concatenated, 1, 34) -end +local basexx = require("basexx") -- parse any skylink and return base64 version function _M.parse(skylink) if string.len(skylink) == 55 then - local base64 = require("ngx.base64") - local decoded = decodeBase32Skylink(skylink) + local decoded = basexx.from_basexx(string.upper(skylink), "0123456789ABCDEFGHIJKLMNOPQRSTUV", 5) - return base64.encode_base64url(decoded) + return basexx.to_url64(decoded) end return skylink diff --git a/docker/nginx/libs/skynet/skylink.spec.lua b/docker/nginx/libs/skynet/skylink.spec.lua new file mode 100644 index 00000000..b7d3733c --- /dev/null +++ b/docker/nginx/libs/skynet/skylink.spec.lua @@ -0,0 +1,14 @@ +skylink = require("skynet/skylink") + +describe("parse", function() + local base32 = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30" + local base64 = "AQBG8n_sgEM_nlEp3G0w3vLjmdvSZ46ln8ZXHn-eObZNjA" + + it("should return unchanged base64 skylink", function() + assert.is.same(skylink.parse(base64), base64) + end) + + it("should transform base32 skylink into base64", function() + assert.is.same(skylink.parse(base32), base64) + end) +end) diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 755bd003..a6883cb8 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -75,7 +75,6 @@ http { # this runs before forking out nginx worker processes init_by_lua_block { require "cjson" - require "ngx.base64" require "resty.http" require "skynet.skylink" } From 903f5be3ca0bc43d9ca05972c3bc44b01389df8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:07:15 +0000 Subject: [PATCH 124/564] Bump stripe from 8.184.0 to 8.186.1 in /packages/dashboard Bumps [stripe](https://github.com/stripe/stripe-node) from 8.184.0 to 8.186.1. - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/stripe/stripe-node/compare/v8.184.0...v8.186.1) --- updated-dependencies: - dependency-name: stripe dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index d77c0d45..da836088 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -31,7 +31,7 @@ "react-dom": "17.0.2", "react-toastify": "8.0.3", "skynet-js": "3.0.2", - "stripe": "8.184.0", + "stripe": "8.186.1", "superagent": "6.1.0", "swr": "1.0.1", "tailwindcss": "2.2.19", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index b0c659e1..f98a2646 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2905,10 +2905,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -stripe@8.184.0: - version "8.184.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.184.0.tgz#ea68470ca6045bb47516c4fea3b775fd6ce15a36" - integrity sha512-ZUdvyX+sizTxXLEbUjgTShrulSWSkMIt7hIKdAkhnajYrHdzVtdmhBJl8sQbR9chMVox3Ig5ohilyeIrvcCE2g== +stripe@8.186.1: + version "8.186.1" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.186.1.tgz#fb717cfcb8c2e73c91e3873dc286f3e8442bfb65" + integrity sha512-BBByVyqKEBY2GNQDLmfwL1RtfsPmjForD+up7tu+P7KYxxvwEzF1gM2Iv4npfOQevGaBmR70sxIWRwn7utS5pg== dependencies: "@types/node" ">=8.1.0" qs "^6.6.0" From 9575783dd171759f9109bf8ce89f27cda042773e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:07:29 +0000 Subject: [PATCH 125/564] Bump react-toastify from 8.0.3 to 8.1.0 in /packages/dashboard Bumps [react-toastify](https://github.com/fkhadra/react-toastify) from 8.0.3 to 8.1.0. - [Release notes](https://github.com/fkhadra/react-toastify/releases) - [Commits](https://github.com/fkhadra/react-toastify/compare/v8.0.3...v8.1.0) --- updated-dependencies: - dependency-name: react-toastify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index d77c0d45..31a9e7e7 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -29,7 +29,7 @@ "pretty-bytes": "5.6.0", "react": "17.0.2", "react-dom": "17.0.2", - "react-toastify": "8.0.3", + "react-toastify": "8.1.0", "skynet-js": "3.0.2", "stripe": "8.184.0", "superagent": "6.1.0", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index b0c659e1..0b6f33e8 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -2536,10 +2536,10 @@ react-refresh@0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== -react-toastify@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.0.3.tgz#7fbf65f69ec357aab8dd03c1496f9177aa92409a" - integrity sha512-rv3koC7f9lKKSkdpYgo/TGzgWlrB/aaiUInF1DyV7BpiM4kyTs+uhu6/r8XDMtBY2FOIHK+FlK3Iv7OzpA/tCA== +react-toastify@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.1.0.tgz#acaca4e8c4415c8474562dd84a14e6f390ed7f17" + integrity sha512-M+Q3rTmEw/53Csr7NsV/YnldJe4c7uERcY7Tma9mvLU98QT2VhIkKwjBzzxZkJRk/oBKyUAtkyMjMgO00hx6gQ== dependencies: clsx "^1.1.1" From c938f547c6d9e4c8071130650dbcc27fd05ccebb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:07:53 +0000 Subject: [PATCH 126/564] Bump is-valid-domain from 0.1.2 to 0.1.4 in /packages/dnslink-api Bumps [is-valid-domain](https://github.com/miguelmota/is-valid-domain) from 0.1.2 to 0.1.4. - [Release notes](https://github.com/miguelmota/is-valid-domain/releases) - [Commits](https://github.com/miguelmota/is-valid-domain/commits) --- updated-dependencies: - dependency-name: is-valid-domain dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/dnslink-api/package.json | 2 +- packages/dnslink-api/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dnslink-api/package.json b/packages/dnslink-api/package.json index 7f833ed2..5415c4c0 100644 --- a/packages/dnslink-api/package.json +++ b/packages/dnslink-api/package.json @@ -5,7 +5,7 @@ "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "express": "^4.17.1", - "is-valid-domain": "^0.1.2" + "is-valid-domain": "^0.1.4" }, "devDependencies": { "prettier": "^2.4.1" diff --git a/packages/dnslink-api/yarn.lock b/packages/dnslink-api/yarn.lock index 5cff1dda..4adefd45 100644 --- a/packages/dnslink-api/yarn.lock +++ b/packages/dnslink-api/yarn.lock @@ -198,10 +198,10 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-valid-domain@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-valid-domain/-/is-valid-domain-0.1.2.tgz#bd1b144716ca663df5996d62e2e7e45a971c7223" - integrity sha512-vm/9Ynw80MusgfSMffjGRuMhO8hjk5MOxLoFL7nYWvWXTPCxTGQtACiCwO055UqHICG8xP6hIvRXK1iwnuU9GA== +is-valid-domain@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-valid-domain/-/is-valid-domain-0.1.4.tgz#5d5d811e1627cac9d39f504b645c57e76d946629" + integrity sha512-Caa6rwGze6pihA29wy3T1yNXzd53caGHvL0OfJ8RLtv0tVVzVZGlxFcQ0W8kls/uG0QUrv2B3J9xi/YB5/cfUQ== dependencies: punycode "^2.1.1" From 1c3297bc92cc24f272f0b99d099b8f3bfd2ebd0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:07:53 +0000 Subject: [PATCH 127/564] Bump @stripe/stripe-js from 1.20.3 to 1.21.1 in /packages/dashboard Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.20.3 to 1.21.1. - [Release notes](https://github.com/stripe/stripe-js/releases) - [Commits](https://github.com/stripe/stripe-js/compare/v1.20.3...v1.21.1) --- updated-dependencies: - dependency-name: "@stripe/stripe-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index d77c0d45..1d36f2a0 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -11,7 +11,7 @@ "@fontsource/metropolis": "4.5.0", "@ory/kratos-client": "0.5.4-alpha.1", "@stripe/react-stripe-js": "1.6.0", - "@stripe/stripe-js": "1.20.3", + "@stripe/stripe-js": "1.21.1", "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.4.0", "classnames": "2.3.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index b0c659e1..ada16ce8 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -188,10 +188,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.20.3": - version "1.20.3" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.20.3.tgz#6f479d53ad933b8b17b6c708bbc2840b7512d80e" - integrity sha512-pFhPvajrZJUzoOZDC3/2YsOeL5VD63CVlbOXs+AriIchmy6Kb2CQqrcHPCuK72FM726lwo4neF0wPRBtsLYXuw== +"@stripe/stripe-js@1.21.1": + version "1.21.1" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.21.1.tgz#e56cd01f889dc06af4a68ebf61d2492a87e80da1" + integrity sha512-/HhRol0Bia/6L7JstXUOpg3m0U3nBW8c2tvaBE6QdonN+OMusYT9AIqCMR/PyzoF3ROifFJ2kbWT7xQjbKN3tw== "@tailwindcss/forms@0.3.4": version "0.3.4" From f265e1b8b55ef1c5ffda7a0f0a644671d2ae3c14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:09:50 +0000 Subject: [PATCH 128/564] Bump gatsby-plugin-sharp from 4.0.1 to 4.1.0 in /packages/website Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 4.0.1 to 4.1.0. - [Release notes](https://github.com/gatsbyjs/gatsby/releases) - [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sharp/CHANGELOG.md) - [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@4.1.0/packages/gatsby-plugin-sharp) --- updated-dependencies: - dependency-name: gatsby-plugin-sharp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 49 ++++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 3fbb8da4..2c0534d5 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -26,7 +26,7 @@ "gatsby-plugin-purgecss": "^6.1.0", "gatsby-plugin-react-helmet": "^4.14.0", "gatsby-plugin-robots-txt": "^1.6.14", - "gatsby-plugin-sharp": "^4.0.1", + "gatsby-plugin-sharp": "^4.1.0", "gatsby-plugin-svgr": "^3.0.0-beta.0", "gatsby-remark-classes": "^1.0.2", "gatsby-remark-copy-linked-files": "^4.11.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 88c98c3d..08a1cd24 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -6022,10 +6022,10 @@ gatsby-core-utils@^2.14.0: tmp "^0.2.1" xdg-basedir "^4.0.0" -gatsby-core-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.0.0.tgz#5a0fccd9118acb874dd64324fcc3c1b407a5c16e" - integrity sha512-MEQAgP+/ddDTOjcfRhyZenLfr6q3nyh01muI6QTgz0qAFsbS50lZh9SbczgpuKnb6qiST1KR0OUIYTaBFXfB2g== +gatsby-core-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-3.1.0.tgz#bf01ebd78046606ac812591319b450516f75b448" + integrity sha512-ErgJr5xgjUoorhCVeyMyNfnZhxBTA33KRB/aFtFWNeTXFsUNlDZBqheSp2XAaD3+gvAmDqbz2m+jKF1sI8vLAg== dependencies: "@babel/runtime" "^7.15.4" ci-info "2.0.0" @@ -6183,19 +6183,19 @@ gatsby-plugin-robots-txt@^1.6.14: "@babel/runtime" "^7.15.4" generate-robotstxt "^8.0.3" -gatsby-plugin-sharp@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.0.1.tgz#342f5234f288ded8adade7cd9ef2680e2b7f4f50" - integrity sha512-j9rw5uZeYQJ3b60l4mtwTkcvmxeQ0TFID7mZw0ULovMwOJvT5R6xerXMbj57SjAom8+RK1NvWlfQcWRAg9aypg== +gatsby-plugin-sharp@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-4.1.0.tgz#1757c6de4561345d4d5a9ff42ba9b130be399d86" + integrity sha512-tft2KEf/4cFRmdpEgIgSJIHQw9yEX7Ns80eiMACGj6rI3POABXhk4+MrRvSpD89JIVzhqu+Muzu+W7JPcqc7ig== dependencies: "@babel/runtime" "^7.15.4" async "^3.2.1" bluebird "^3.7.2" filenamify "^4.3.0" fs-extra "^10.0.0" - gatsby-core-utils "^3.0.0" - gatsby-plugin-utils "^2.0.0" - gatsby-telemetry "^3.0.0" + gatsby-core-utils "^3.1.0" + gatsby-plugin-utils "^2.1.0" + gatsby-telemetry "^3.1.0" got "^11.8.2" lodash "^4.17.21" mini-svg-data-uri "^1.3.3" @@ -6233,10 +6233,10 @@ gatsby-plugin-utils@^1.14.0: "@babel/runtime" "^7.15.4" joi "^17.4.2" -gatsby-plugin-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-2.0.0.tgz#555a8d8122a1716148a71b52cb3adb97d9e09bc4" - integrity sha512-RN++hR/gU6orPHlnDM3CUd4DnDdTcGS3vkjHnAvo+Wli7H8yHEt4baoK20f/V3AOOCxwen8TypFH3Uy5iVAjyg== +gatsby-plugin-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-2.1.0.tgz#90aaf61fa60d5d4c1730c7b204eb3fbc645da0c0" + integrity sha512-sJZWsiLhYOuBN56LCX2Qy2ZDoQvqlY1TntXH8ns+zZHzglvVR28xI/iQEP7bVhzmkMX47i+E87o1/EET0RuK4A== dependencies: "@babel/runtime" "^7.15.4" joi "^17.4.2" @@ -6420,10 +6420,10 @@ gatsby-telemetry@^2.14.0: node-fetch "^2.6.1" uuid "3.4.0" -gatsby-telemetry@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-3.0.0.tgz#d3ed8c36742942d97b5639f9cc499d5c24921158" - integrity sha512-qUFH5B48R0adY3AiEVOGZ0Lu4bOBmuHtAbAdzAMLMlXvIubSfc3VvxyB64jKQfZ3l1FyAIddSHz8i5yKAXekWA== +gatsby-telemetry@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-3.1.0.tgz#326792d985619204ec2988ce61de1aa27351e81b" + integrity sha512-XoKh80BROhmtqbFXDhKxr66vYqxt23PfANqUhyFugHFfW+ETx33kTOS8t9IY23icrsqoo780vcx0nVFRjidWEg== dependencies: "@babel/code-frame" "^7.14.0" "@babel/runtime" "^7.15.4" @@ -6433,11 +6433,11 @@ gatsby-telemetry@^3.0.0: boxen "^4.2.0" configstore "^5.0.1" fs-extra "^10.0.0" - gatsby-core-utils "^3.0.0" + gatsby-core-utils "^3.1.0" git-up "^4.0.5" is-docker "^2.2.1" lodash "^4.17.21" - node-fetch "^2.6.1" + node-fetch "^2.6.5" gatsby-transformer-json@^3.14.0: version "3.14.0" @@ -9570,6 +9570,13 @@ node-fetch@^2.5.0, node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.5: + version "2.6.6" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" + integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== + dependencies: + whatwg-url "^5.0.0" + node-object-hash@^2.3.9: version "2.3.10" resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.10.tgz#4b0c1a3a8239e955f0db71f8e00b38b5c0b33992" From 987a0158f013e40eeb4d12d45289479b43249c54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:05 +0000 Subject: [PATCH 129/564] Bump popmotion from 10.0.2 to 11.0.0 in /packages/website Bumps [popmotion](https://github.com/Popmotion/popmotion) from 10.0.2 to 11.0.0. - [Release notes](https://github.com/Popmotion/popmotion/releases) - [Commits](https://github.com/Popmotion/popmotion/commits) --- updated-dependencies: - dependency-name: popmotion dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 3fbb8da4..8230d060 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -47,7 +47,7 @@ "normalize.css": "^8.0.1", "path-browserify": "^1.0.1", "polished": "^4.1.3", - "popmotion": "^10.0.2", + "popmotion": "^11.0.0", "postcss": "^8.3.11", "preact-svg-loader": "^0.2.1", "prop-types": "^15.7.2", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 88c98c3d..c076708c 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -10328,10 +10328,10 @@ popmotion@9.3.6: style-value-types "4.1.4" tslib "^2.1.0" -popmotion@^10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-10.0.2.tgz#edb87efb2ba39505d07f79d3ca8cc4b1cbe101bf" - integrity sha512-8vgx02LL7Odk/kwSGigAnlPRLJK+Dfked571ZAHGzkxPNWThkU5mQX0xPmibIMAULZehWBV7hGN7LSCpaV3cfw== +popmotion@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.0.tgz#910e2e7077d9aeba520db8744d40bb5354992212" + integrity sha512-kJDyaG00TtcANP5JZ51od+DCqopxBm2a/Txh3Usu23L9qntjY5wumvcVf578N8qXEHR1a+jx9XCv8zOntdYalQ== dependencies: framesync "^6.0.1" hey-listen "^1.0.8" From 430559f318e9a16e1d2048048d31dd83666ac276 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:14 +0000 Subject: [PATCH 130/564] Bump node from 16.12.0-alpine to 16.13.0-alpine in /packages/dnslink-api Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dnslink-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dnslink-api/Dockerfile b/packages/dnslink-api/Dockerfile index 85c00b9f..0d6e0994 100644 --- a/packages/dnslink-api/Dockerfile +++ b/packages/dnslink-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine WORKDIR /usr/app From 935ac617ffe17071b6c621a2d67409e1630427fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:14 +0000 Subject: [PATCH 131/564] Bump node in /packages/handshake-api Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/handshake-api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/handshake-api/Dockerfile b/packages/handshake-api/Dockerfile index bceb1804..c12de97d 100644 --- a/packages/handshake-api/Dockerfile +++ b/packages/handshake-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine WORKDIR /usr/app From 162a9fa2001ad0bf2da1157dd964fdc293a49a7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:15 +0000 Subject: [PATCH 132/564] Bump node from 16.12.0-alpine to 16.13.0-alpine in /docker/handshake Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docker/handshake/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/handshake/Dockerfile b/docker/handshake/Dockerfile index ae640f1b..3aa6e50b 100644 --- a/docker/handshake/Dockerfile +++ b/docker/handshake/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine WORKDIR /opt/hsd From 22a550951a70c6f1b61da941252904824df606f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:15 +0000 Subject: [PATCH 133/564] Bump node in /packages/health-check Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/health-check/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/health-check/Dockerfile b/packages/health-check/Dockerfile index db117f1b..196556ab 100644 --- a/packages/health-check/Dockerfile +++ b/packages/health-check/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine RUN apk update && apk add dnsmasq From ce257041fb19b833ad25607815a84f891a47cc24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:18 +0000 Subject: [PATCH 134/564] Bump node from 16.12.0-alpine to 16.13.0-alpine in /packages/dashboard Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/dashboard/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dashboard/Dockerfile b/packages/dashboard/Dockerfile index 03cbb74f..1eb955d7 100644 --- a/packages/dashboard/Dockerfile +++ b/packages/dashboard/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine WORKDIR /usr/app From 21911d13fc603b2e3644bafc978395c5bd9d27fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:27 +0000 Subject: [PATCH 135/564] Bump node from 16.12.0-alpine to 16.13.0-alpine in /packages/website Bumps node from 16.12.0-alpine to 16.13.0-alpine. --- updated-dependencies: - dependency-name: node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/website/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/Dockerfile b/packages/website/Dockerfile index ae025cb2..d05e716d 100644 --- a/packages/website/Dockerfile +++ b/packages/website/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.12.0-alpine +FROM node:16.13.0-alpine RUN apk update && apk add autoconf automake build-base libtool nasm pkgconfig From d5a1d885ccede49db636ddd1ca3f50ff126d8d36 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 12:10:57 +0000 Subject: [PATCH 136/564] Bump framer-motion from 4.1.17 to 5.2.1 in /packages/website Bumps [framer-motion](https://github.com/framer/motion) from 4.1.17 to 5.2.1. - [Release notes](https://github.com/framer/motion/releases) - [Changelog](https://github.com/framer/motion/blob/main/CHANGELOG.md) - [Commits](https://github.com/framer/motion/compare/v4.1.17...v5.2.1) --- updated-dependencies: - dependency-name: framer-motion dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- packages/website/package.json | 2 +- packages/website/yarn.lock | 43 ++++++++++++----------------------- 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 3fbb8da4..8569cc89 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -14,7 +14,7 @@ "classnames": "^2.3.1", "copy-text-to-clipboard": "^3.0.1", "crypto-browserify": "^3.12.0", - "framer-motion": "^4.1.17", + "framer-motion": "^5.2.1", "gatsby": "^3.14.5", "gatsby-background-image": "^1.5.3", "gatsby-image": "^3.11.0", diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index 88c98c3d..5c599726 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -5855,27 +5855,20 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -framer-motion@^4.1.17: - version "4.1.17" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-4.1.17.tgz#4029469252a62ea599902e5a92b537120cc89721" - integrity sha512-thx1wvKzblzbs0XaK2X0G1JuwIdARcoNOW7VVwjO8BUltzXPyONGAElLu6CiCScsOQRI7FIk/45YTFtJw5Yozw== +framer-motion@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-5.2.1.tgz#5cfa59984649d73e3741d7bf189918f34fd3635e" + integrity sha512-igeMZaa0FnaB4NkCE+/ENGSuSvhRhUVFJCwWg/FGQn+CwnLPI/XjO6Zim8m+pN+4wBNlaesBRpqOQbq/VH7mew== dependencies: - framesync "5.3.0" + framesync "6.0.1" hey-listen "^1.0.8" - popmotion "9.3.6" - style-value-types "4.1.4" + popmotion "11.0.0" + style-value-types "5.0.0" tslib "^2.1.0" optionalDependencies: "@emotion/is-prop-valid" "^0.8.2" -framesync@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/framesync/-/framesync-5.3.0.tgz#0ecfc955e8f5a6ddc8fdb0cc024070947e1a0d9b" - integrity sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA== - dependencies: - tslib "^2.1.0" - -framesync@^6.0.1: +framesync@6.0.1, framesync@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== @@ -10318,14 +10311,14 @@ polished@^4.1.3: dependencies: "@babel/runtime" "^7.14.0" -popmotion@9.3.6: - version "9.3.6" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-9.3.6.tgz#b5236fa28f242aff3871b9e23721f093133248d1" - integrity sha512-ZTbXiu6zIggXzIliMi8LGxXBF5ST+wkpXGEjeTUDUOCdSQ356hij/xjeUdv0F8zCQNeqB1+PR5/BB+gC+QLAPw== +popmotion@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.0.tgz#910e2e7077d9aeba520db8744d40bb5354992212" + integrity sha512-kJDyaG00TtcANP5JZ51od+DCqopxBm2a/Txh3Usu23L9qntjY5wumvcVf578N8qXEHR1a+jx9XCv8zOntdYalQ== dependencies: - framesync "5.3.0" + framesync "^6.0.1" hey-listen "^1.0.8" - style-value-types "4.1.4" + style-value-types "5.0.0" tslib "^2.1.0" popmotion@^10.0.2: @@ -12646,14 +12639,6 @@ style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" -style-value-types@4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-4.1.4.tgz#80f37cb4fb024d6394087403dfb275e8bb627e75" - integrity sha512-LCJL6tB+vPSUoxgUBt9juXIlNJHtBMy8jkXzUJSBzeHWdBu6lhzHqCvLVkXFGsFIlNa2ln1sQHya/gzaFmB2Lg== - dependencies: - hey-listen "^1.0.8" - tslib "^2.1.0" - style-value-types@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" From b834dada0e163b027caaf9235628d2f6c780dcdb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 13:28:34 +0000 Subject: [PATCH 137/564] Bump next from 11.1.2 to 12.0.3 in /packages/dashboard Bumps [next](https://github.com/vercel/next.js) from 11.1.2 to 12.0.3. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v11.1.2...v12.0.3) --- updated-dependencies: - dependency-name: next dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- packages/dashboard/package.json | 2 +- packages/dashboard/yarn.lock | 432 ++++++++++---------------------- 2 files changed, 135 insertions(+), 299 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 072bfd78..e513f5aa 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -22,7 +22,7 @@ "formik": "2.2.9", "http-status-codes": "2.1.4", "ky": "0.25.1", - "next": "11.1.2", + "next": "12.0.3", "normalize.css": "8.0.1", "postcss": "8.3.11", "prettier": "2.4.1", diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index 066f231e..aa378eab 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -42,14 +42,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/runtime@7.15.3": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" - integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.11.2", "@babel/runtime@^7.15.4": +"@babel/runtime@7.15.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.15.4": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== @@ -89,25 +82,25 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== -"@napi-rs/triples@^1.0.3": +"@napi-rs/triples@1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== -"@next/env@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/env/-/env-11.1.2.tgz#27996efbbc54c5f949f5e8c0a156e3aa48369b99" - integrity sha512-+fteyVdQ7C/OoulfcF6vd1Yk0FEli4453gr8kSFbU8sKseNSizYq6df5MKz/AjwLptsxrUeIkgBdAzbziyJ3mA== +"@next/env@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.3.tgz#e676b4d1454d8b6be433a348e99f2b8276ab6cd7" + integrity sha512-QcdlpcwIH9dYcVlNAU+gXaqHA/omskbRlb+R3vN7LlB2EgLt+9WQwbokcHOsNyt4pI7kDM67W4tr9l7dWnlGdQ== -"@next/polyfill-module@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.1.2.tgz#1fe92c364fdc81add775a16c678f5057c6aace98" - integrity sha512-xZmixqADM3xxtqBV0TpAwSFzWJP0MOQzRfzItHXf1LdQHWb0yofHHC+7eOrPFic8+ZGz5y7BdPkkgR1S25OymA== +"@next/polyfill-module@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-12.0.3.tgz#4217e5284762124bf9fe2505622c4de89998f7a2" + integrity sha512-fgjVjdCk0Jq627d/N33oQIJjWrcKtzw6Dfa2PfypoIJ35/xFIKgs6mPyvq8cg3Ao5b7dEn9+Rw45PGjlY5e7JA== -"@next/react-dev-overlay@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.1.2.tgz#73795dc5454b7af168bac93df7099965ebb603be" - integrity sha512-rDF/mGY2NC69mMg2vDqzVpCOlWqnwPUXB2zkARhvknUHyS6QJphPYv9ozoPJuoT/QBs49JJd9KWaAzVBvq920A== +"@next/react-dev-overlay@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-12.0.3.tgz#d85a609bf7d75eb190940d0fc64eff94c0e4a478" + integrity sha512-gHfDEVHFeTUpQMcyytzvkuOu+5DQXjXbCbQHuavFftYrlHqXfzYFsa+wERff+g4/0IzEvcYVp3F4gdmynWfUog== dependencies: "@babel/code-frame" "7.12.11" anser "1.4.9" @@ -116,42 +109,70 @@ css.escape "1.5.1" data-uri-to-buffer "3.0.1" platform "1.3.6" - shell-quote "1.7.2" + shell-quote "1.7.3" source-map "0.8.0-beta.0" stacktrace-parser "0.1.10" - strip-ansi "6.0.0" + strip-ansi "6.0.1" -"@next/react-refresh-utils@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.1.2.tgz#44ea40d8e773e4b77bad85e24f6ac041d5e4b4a5" - integrity sha512-hsoJmPfhVqjZ8w4IFzoo8SyECVnN+8WMnImTbTKrRUHOVJcYMmKLL7xf7T0ft00tWwAl/3f3Q3poWIN2Ueql/Q== +"@next/react-refresh-utils@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-12.0.3.tgz#1389b0370e258634432d6dd78f889c09a8328e10" + integrity sha512-YPtlfvkYh/4MvNNm5w3uwo+1KPMg67snzr5CuexbRewsu2ITaF7f0bh0Jcayi20wztk8SgWjNz1bmF8j9qbWIw== -"@next/swc-darwin-arm64@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.2.tgz#93226c38db488c4b62b30a53b530e87c969b8251" - integrity sha512-hZuwOlGOwBZADA8EyDYyjx3+4JGIGjSHDHWrmpI7g5rFmQNltjlbaefAbiU5Kk7j3BUSDwt30quJRFv3nyJQ0w== +"@next/swc-android-arm64@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.3.tgz#8b99b3e7f13dda1f4c3c6dc83af73d8f40afecd5" + integrity sha512-40sOl9/50aamX0dEMrecqJQcUrRK47D7S9F66ulrZmz+5Ujp0lnP1rBOXngo0PZMecfU1tr7zbNubiAMDxfCxw== -"@next/swc-darwin-x64@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.2.tgz#792003989f560c00677b5daeff360b35b510db83" - integrity sha512-PGOp0E1GisU+EJJlsmJVGE+aPYD0Uh7zqgsrpD3F/Y3766Ptfbe1lEPPWnRDl+OzSSrSrX1lkyM/Jlmh5OwNvA== +"@next/swc-darwin-arm64@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.3.tgz#a385e610fb4a20c47355520b82a79d08e0f6441e" + integrity sha512-iKSe2hCMB51Ft41cNAxZk6St1rBlqSRtBSl4oO0zJlGu7bCxXCGCJ058/OLvYxcNWgz7ODOApObm3Yjv8XEvxg== -"@next/swc-linux-x64-gnu@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.2.tgz#8216b2ae1f21f0112958735c39dd861088108f37" - integrity sha512-YcDHTJjn/8RqvyJVB6pvEKXihDcdrOwga3GfMv/QtVeLphTouY4BIcEUfrG5+26Nf37MP1ywN3RRl1TxpurAsQ== +"@next/swc-darwin-x64@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.3.tgz#0405a3838a652b7bb44c5cd5d920c11240194385" + integrity sha512-/BcnfLyhIj4rgU3yVDfD8uXK2TcNYIdflYHKkjFxd3/J1GWOtBN31m0dB8fL0h5LdW11kzaXvVvab3f5ilkEww== -"@next/swc-win32-x64-msvc@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.2.tgz#e15824405df137129918205e43cb5e9339589745" - integrity sha512-e/pIKVdB+tGQYa1cW3sAeHm8gzEri/HYLZHT4WZojrUxgWXqx8pk7S7Xs47uBcFTqBDRvK3EcQpPLf3XdVsDdg== +"@next/swc-linux-arm-gnueabihf@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.3.tgz#f5d43be7314044526fd9f1eef34337bb95f02e01" + integrity sha512-2HNPhBJuN9L6JzqqqdYB4TKfFFmaKkpF0X3C1s83Xp61mR2sx8gOthHQtZqWDs4ZLnKZU0j2flGU1uuqpHPCpg== -"@node-rs/helper@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@node-rs/helper/-/helper-1.2.1.tgz#e079b05f21ff4329d82c4e1f71c0290e4ecdc70c" - integrity sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg== - dependencies: - "@napi-rs/triples" "^1.0.3" +"@next/swc-linux-arm64-gnu@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.3.tgz#6f1cda1dadabcc4d4f13bd6f5ce23b9879bc6d73" + integrity sha512-NXTON1XK7zi2i+A+bY1PVLi1g5b8cSwgzbnuVR0vAgOtU+3at7FqAKOWfuFIXY7eBEK65uu0Fu5gADhMj0uanQ== + +"@next/swc-linux-arm64-musl@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.3.tgz#1eedc1f1fcafc9862ef7e83205ada96bf320a694" + integrity sha512-8D0q22VavhcIl2ZQErEffgh5q6mChaG84uTluAoFfjwrgYtPDZX0M5StqkTZL6T5gA5RLHboNVoscIKGZWMojQ== + +"@next/swc-linux-x64-gnu@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.3.tgz#eca85107b01a7571957ae25104d11042e9835a49" + integrity sha512-4mkimH9nMzbuQfLmZ152NYSHdrII9AeqrkrHszexL1Lup2TLMPuxlXj55eVnyyeKFXRLlnqbCu7aOIND68RbOA== + +"@next/swc-linux-x64-musl@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.3.tgz#758656b8e36a520c03763d154c366bec889c56b3" + integrity sha512-MXvx+IDYoSsSM7KcwbQAVo9r+ZeklHeDQiUEmyRRzQE1Q4JvkWwMdPu/NfFdyxur+RfKjRoUoWFdPi5MBKTpkw== + +"@next/swc-win32-arm64-msvc@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.3.tgz#3f8ab8fa3367d729e49b3072fb24f9d0f8af7c21" + integrity sha512-8GusumFZLp/mtVix+3JZVTGqzqntTsrTIFZ+GpcLMwyVjB3KkBwHiwJaa38WGleUinJSpJvgmhTWgppsiSKW3A== + +"@next/swc-win32-ia32-msvc@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.3.tgz#e3df153a4e0c896a5871f1d26c7e176fa1ceec72" + integrity sha512-mF7bkxSZ++QiB+E0HFqay/etvPF+ZFcCuG27lSwFIM00J+TE0IRqMyMx66vJ8g1h6khpwXPI0o2hrwIip/r8cQ== + +"@next/swc-win32-x64-msvc@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.3.tgz#c3e4af29cd74190b89461ccc26b932ae4c27f99d" + integrity sha512-eXFwyf46UFFggMQ3k2tJsOmB3SuKjWaSiZJH0tTDUsLw74lyqyzJqMCVA4yY0gWSlEnSjmX5nrCBknVZd3joaA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -229,6 +250,11 @@ acorn-walk@^7.0.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + acorn@^7.0.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" @@ -239,7 +265,7 @@ anser@1.4.9: resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== -ansi-regex@^5.0.0: +ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -296,19 +322,6 @@ assert@2.0.0: object-is "^1.0.1" util "^0.12.0" -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -ast-types@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" - integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== - async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -459,7 +472,7 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserify-zlib@0.2.0, browserify-zlib@^0.2.0: +browserify-zlib@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== @@ -506,15 +519,6 @@ buffer@5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^6.0.1: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -715,12 +719,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@1.0.0, constants-browserify@^1.0.0: +constants-browserify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= @@ -737,11 +736,6 @@ cookiejar@^2.1.2: resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - cosmiconfig@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" @@ -795,7 +789,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -crypto-browserify@3.12.0, crypto-browserify@^3.11.0: +crypto-browserify@3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -943,11 +937,6 @@ domain-browser@4.19.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -1057,7 +1046,7 @@ etag@1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -events@^3.0.0: +events@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -1398,7 +1387,7 @@ http-status-codes@2.1.4: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.1.4.tgz#453d99b4bd9424254c4f6a9a3a03715923052798" integrity sha512-MZVIsLKGVOVE1KEnldppe6Ij+vmemMuApDfjhVSLzyYP+td0bREEYyAoIw9yFePoBXManCuBqmiNP5FqJS5Xkg== -https-browserify@1.0.0, https-browserify@^1.0.0: +https-browserify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= @@ -1459,21 +1448,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -1648,11 +1627,6 @@ is-wsl@^2.1.1: dependencies: is-docker "^2.0.0" -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1952,27 +1926,20 @@ nanoid@^3.1.23, nanoid@^3.1.30: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== -native-url@0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.4.tgz#29c943172aed86c63cee62c8c04db7f5756661f8" - integrity sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA== +next@12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/next/-/next-12.0.3.tgz#325732ceb4193306a9a31912815fc570d1a66641" + integrity sha512-GGdhTBcerdMZbitrO67IVetmB+AHa2X69xrkXKClUT8SRu8pEVto/2QMSnfI+uYc5czCUWPsVtVY3aMoMRMaCA== dependencies: - querystring "^0.2.0" - -next@11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/next/-/next-11.1.2.tgz#527475787a9a362f1bc916962b0c0655cc05bc91" - integrity sha512-azEYL0L+wFjv8lstLru3bgvrzPvK0P7/bz6B/4EJ9sYkXeW8r5Bjh78D/Ol7VOg0EIPz0CXoe72hzAlSAXo9hw== - dependencies: - "@babel/runtime" "7.15.3" + "@babel/runtime" "7.15.4" "@hapi/accept" "5.0.2" - "@next/env" "11.1.2" - "@next/polyfill-module" "11.1.2" - "@next/react-dev-overlay" "11.1.2" - "@next/react-refresh-utils" "11.1.2" - "@node-rs/helper" "1.2.1" + "@napi-rs/triples" "1.0.3" + "@next/env" "12.0.3" + "@next/polyfill-module" "12.0.3" + "@next/react-dev-overlay" "12.0.3" + "@next/react-refresh-utils" "12.0.3" + acorn "8.5.0" assert "2.0.0" - ast-types "0.13.2" browserify-zlib "0.2.0" browserslist "4.16.6" buffer "5.6.0" @@ -1985,29 +1952,28 @@ next@11.1.2: domain-browser "4.19.0" encoding "0.1.13" etag "1.8.1" + events "3.3.0" find-cache-dir "3.3.1" get-orientation "1.1.2" https-browserify "1.0.0" image-size "1.0.0" jest-worker "27.0.0-next.5" - native-url "0.3.4" node-fetch "2.6.1" node-html-parser "1.4.9" - node-libs-browser "^2.2.1" os-browserify "0.3.0" p-limit "3.1.0" path-browserify "1.0.1" - pnp-webpack-plugin "1.6.4" postcss "8.2.15" process "0.11.10" querystring-es3 "0.2.1" raw-body "2.4.1" react-is "17.0.2" react-refresh "0.8.3" + regenerator-runtime "0.13.4" stream-browserify "3.0.0" stream-http "3.1.1" string_decoder "1.3.0" - styled-jsx "4.0.1" + styled-jsx "5.0.0-beta.3" timers-browserify "2.0.12" tty-browserify "0.0.1" use-subscription "1.5.1" @@ -2015,10 +1981,17 @@ next@11.1.2: vm-browserify "1.1.2" watchpack "2.1.1" optionalDependencies: - "@next/swc-darwin-arm64" "11.1.2" - "@next/swc-darwin-x64" "11.1.2" - "@next/swc-linux-x64-gnu" "11.1.2" - "@next/swc-win32-x64-msvc" "11.1.2" + "@next/swc-android-arm64" "12.0.3" + "@next/swc-darwin-arm64" "12.0.3" + "@next/swc-darwin-x64" "12.0.3" + "@next/swc-linux-arm-gnueabihf" "12.0.3" + "@next/swc-linux-arm64-gnu" "12.0.3" + "@next/swc-linux-arm64-musl" "12.0.3" + "@next/swc-linux-x64-gnu" "12.0.3" + "@next/swc-linux-x64-musl" "12.0.3" + "@next/swc-win32-arm64-msvc" "12.0.3" + "@next/swc-win32-ia32-msvc" "12.0.3" + "@next/swc-win32-x64-msvc" "12.0.3" nice-try@^1.0.4: version "1.0.5" @@ -2044,35 +2017,6 @@ node-html-parser@1.4.9: dependencies: he "1.2.0" -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-releases@^1.1.71: version "1.1.76" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" @@ -2150,7 +2094,7 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -os-browserify@0.3.0, os-browserify@^0.3.0: +os-browserify@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= @@ -2219,11 +2163,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - path-browserify@1.0.1, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -2287,13 +2226,6 @@ platform@1.3.6: resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" - postcss-js@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33" @@ -2369,12 +2301,7 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@0.11.10, process@^0.11.10: +process@0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -2413,16 +2340,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -2445,21 +2362,11 @@ qs@^6.6.0, qs@^6.9.4: dependencies: side-channel "^1.0.4" -querystring-es3@0.2.1, querystring-es3@^0.2.0: +querystring-es3@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -2551,19 +2458,6 @@ react@17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -2595,6 +2489,11 @@ reduce-css-calc@^2.1.8: css-unit-converter "^1.1.1" postcss-value-parser "^3.3.0" +regenerator-runtime@0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" + integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g== + regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -2665,7 +2564,7 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -2730,10 +2629,10 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== +shell-quote@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" + integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== side-channel@^1.0.4: version "1.0.4" @@ -2822,14 +2721,6 @@ stream-browserify@3.0.0: inherits "~2.0.4" readable-stream "^3.5.0" -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-http@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" @@ -2840,17 +2731,6 @@ stream-http@3.1.1: readable-stream "^3.6.0" xtend "^4.0.2" -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - stream-parser@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" @@ -2879,26 +2759,19 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@1.3.0, string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@1.3.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +strip-ansi@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - safe-buffer "~5.1.0" - -strip-ansi@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" + ansi-regex "^5.0.1" strip-eof@^1.0.0: version "1.0.0" @@ -2913,10 +2786,10 @@ stripe@8.186.1: "@types/node" ">=8.1.0" qs "^6.6.0" -styled-jsx@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-4.0.1.tgz#ae3f716eacc0792f7050389de88add6d5245b9e9" - integrity sha512-Gcb49/dRB1k8B4hdK8vhW27Rlb2zujCk1fISrizCcToIs+55B4vmUM0N9Gi4nnVfFZWe55jRdWpAqH1ldAKWvQ== +styled-jsx@5.0.0-beta.3: + version "5.0.0-beta.3" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0-beta.3.tgz#400d16179b5dff10d5954ab8be27a9a1b7780dd2" + integrity sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA== dependencies: "@babel/plugin-syntax-jsx" "7.14.5" "@babel/types" "7.15.0" @@ -3020,7 +2893,7 @@ tailwindcss@2.2.19: resolve "^1.20.0" tmp "^0.2.1" -timers-browserify@2.0.12, timers-browserify@^2.0.4: +timers-browserify@2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== @@ -3039,11 +2912,6 @@ tmp@^0.2.1: dependencies: rimraf "^3.0.0" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - to-data-view@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/to-data-view/-/to-data-view-1.1.0.tgz#08d6492b0b8deb9b29bdf1f61c23eadfa8994d00" @@ -3078,21 +2946,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - tslib@^1.10.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -3141,14 +2999,6 @@ url-parse@^1.4.7: querystringify "^2.1.1" requires-port "^1.0.0" -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - use-subscription@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" @@ -3156,18 +3006,11 @@ use-subscription@1.5.1: dependencies: object-assign "^4.1.1" -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - util@0.12.4, util@^0.12.0: version "0.12.4" resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" @@ -3180,14 +3023,7 @@ util@0.12.4, util@^0.12.0: safe-buffer "^5.1.2" which-typed-array "^1.1.2" -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -vm-browserify@1.1.2, vm-browserify@^1.0.1: +vm-browserify@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== @@ -3249,7 +3085,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -xtend@^4.0.0, xtend@^4.0.2: +xtend@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== From d98143899f5560b3cd9aacf0c7812e23735a3a8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Nov 2021 13:55:27 +0000 Subject: [PATCH 138/564] Bump hs-client from 0.0.9 to 0.0.10 in /packages/handshake-api Bumps [hs-client](https://github.com/handshake-org/hs-client) from 0.0.9 to 0.0.10. - [Release notes](https://github.com/handshake-org/hs-client/releases) - [Commits](https://github.com/handshake-org/hs-client/compare/v0.0.9...v0.0.10) --- updated-dependencies: - dependency-name: hs-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/handshake-api/package.json | 2 +- packages/handshake-api/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/handshake-api/package.json b/packages/handshake-api/package.json index 6a782cfb..f6c82614 100644 --- a/packages/handshake-api/package.json +++ b/packages/handshake-api/package.json @@ -5,7 +5,7 @@ "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "express": "^4.17.1", - "hs-client": "^0.0.9", + "hs-client": "^0.0.10", "node-cache": "^5.1.2", "punycode": "^2.1.1" }, diff --git a/packages/handshake-api/yarn.lock b/packages/handshake-api/yarn.lock index a8676eda..10111416 100644 --- a/packages/handshake-api/yarn.lock +++ b/packages/handshake-api/yarn.lock @@ -15,10 +15,10 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -bcfg@~0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/bcfg/-/bcfg-0.1.6.tgz#f77a6323bddef14f3886222e7ef8ccc0bc2143ec" - integrity sha512-BR2vwQZwu24aRm588XHOnPVjjQtbK8sF0RopRFgMuke63/REJMWnePTa2YHKDBefuBYiVdgkowuB1/e4K7Ue3g== +bcfg@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/bcfg/-/bcfg-0.1.7.tgz#610198a67a56160305fdc1f54b5b5c90b52530d7" + integrity sha512-+4beq5bXwfmxdcEoHYQsaXawh1qFzjLcRvPe5k5ww/NEWzZTm56Jk8LuPmfeGB7X584jZ8xGq6UgMaZnNDa5Ww== dependencies: bsert "~0.0.10" @@ -194,12 +194,12 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -hs-client@^0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/hs-client/-/hs-client-0.0.9.tgz#05790253df1137cecde4bcb59a181ab79bd395b9" - integrity sha512-TAsexmpPhSVdCQ1iiX4bBnuqlThTSdGz/YKq+vjLSS1TZ2TwKxERJ8vZh1Wd6GGaMGLZl99uQR+2wUyk4HLSbg== +hs-client@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/hs-client/-/hs-client-0.0.10.tgz#b2801441613fbb255cbeacbc764085a36c42ee5e" + integrity sha512-15tfeQEMRS1FZA0q9gFbQ1jYs8v4z9oKw9xFwVEyRuckn72hoVAglN4IrFxkOCDMYV7TWCY/nO/yNZp5njYFBw== dependencies: - bcfg "~0.1.6" + bcfg "~0.1.7" bcurl "~0.1.9" bsert "~0.0.10" From 21cd76c03bda36559f2b1b43c1239b9f95a9fc2c Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 8 Nov 2021 15:04:39 +0100 Subject: [PATCH 139/564] replace clipboardy with copy-text-to-clipboard --- packages/dashboard/package.json | 2 +- packages/dashboard/src/pages/index.js | 4 +- packages/dashboard/yarn.lock | 142 ++------------------------ 3 files changed, 10 insertions(+), 138 deletions(-) diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index e513f5aa..80c0a2b6 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -15,7 +15,7 @@ "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.4.0", "classnames": "2.3.1", - "clipboardy": "2.3.0", + "copy-text-to-clipboard": "^3.0.1", "dayjs": "1.10.7", "express-jwt": "6.1.0", "fast-levenshtein": "3.0.0", diff --git a/packages/dashboard/src/pages/index.js b/packages/dashboard/src/pages/index.js index 671a9a82..c3e9d809 100644 --- a/packages/dashboard/src/pages/index.js +++ b/packages/dashboard/src/pages/index.js @@ -1,3 +1,4 @@ +import copy from "copy-text-to-clipboard"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import prettyBytes from "pretty-bytes"; @@ -8,7 +9,6 @@ import { SkynetClient } from "skynet-js"; import config from "../config"; import useAccountsApi from "../services/useAccountsApi"; import { isFreeTier } from "../services/tiers"; -import { write } from "clipboardy"; dayjs.extend(relativeTime); @@ -40,7 +40,7 @@ function SkylinkList({ items = [], timestamp }) { write(`sia://${item.skylink}`)} + onClick={() => copy(`sia://${item.skylink}`)} > sia://{item.skylink.substr(0, 5)}…{item.skylink.substr(-5)} diff --git a/packages/dashboard/yarn.lock b/packages/dashboard/yarn.lock index aa378eab..89fd96c2 100644 --- a/packages/dashboard/yarn.lock +++ b/packages/dashboard/yarn.lock @@ -292,11 +292,6 @@ anymatch@~3.1.1, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arch@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - arg@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" @@ -633,15 +628,6 @@ classnames@2.3.1: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clipboardy@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" - integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== - dependencies: - arch "^2.1.1" - execa "^1.0.0" - is-wsl "^2.1.1" - clsx@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" @@ -736,6 +722,11 @@ cookiejar@^2.1.2: resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== +copy-text-to-clipboard@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz#8cbf8f90e0a47f12e4a24743736265d157bce69c" + integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + cosmiconfig@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" @@ -778,17 +769,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - crypto-browserify@3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -979,13 +959,6 @@ encoding@0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1059,19 +1032,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - express-jwt@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-6.1.0.tgz#5818c813e245b0eb361c5cf161425cf16f9c8591" @@ -1228,13 +1188,6 @@ get-orientation@1.1.2: dependencies: stream-parser "^0.3.1" -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -1533,11 +1486,6 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1590,11 +1538,6 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -1620,18 +1563,6 @@ is-typed-array@^1.1.3, is-typed-array@^1.1.7: foreach "^2.0.5" has-tostringtag "^1.0.0" -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - jest-worker@27.0.0-next.5: version "27.0.0-next.5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" @@ -1993,11 +1924,6 @@ next@12.0.3: "@next/swc-win32-ia32-msvc" "12.0.3" "@next/swc-win32-x64-msvc" "12.0.3" -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - node-emoji@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" @@ -2042,13 +1968,6 @@ normalize.css@8.0.1: resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -2087,7 +2006,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -2099,11 +2018,6 @@ os-browserify@0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -2178,11 +2092,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - path-parse@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -2332,14 +2241,6 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -2582,7 +2483,7 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" -semver@^5.5.0, semver@^5.6.0: +semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -2617,18 +2518,6 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shell-quote@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" @@ -2643,11 +2532,6 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7" - integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== - simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -2773,11 +2657,6 @@ strip-ansi@6.0.1: dependencies: ansi-regex "^5.0.1" -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - stripe@8.186.1: version "8.186.1" resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.186.1.tgz#fb717cfcb8c2e73c91e3873dc286f3e8442bfb65" @@ -3073,13 +2952,6 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From ec16b161010e98c6b033083516a0bf6af0ab73bb Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 5 Oct 2021 12:13:48 +0200 Subject: [PATCH 140/564] update skynet-js to new beta release --- packages/website/package.json | 2 +- packages/website/yarn.lock | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 69e0be64..21b5dfb9 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -59,7 +59,7 @@ "react-svg-loader": "^3.0.3", "react-syntax-highlighter": "^15.4.4", "react-use": "^17.3.1", - "skynet-js": "^4.0.11-beta", + "skynet-js": "4.0.17-beta", "stream-browserify": "^3.0.0", "swr": "^1.0.1", "tailwindcss": "^2.2.19" diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index a1611d7b..a8479e61 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -2844,7 +2844,7 @@ axe-core@^4.0.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325" integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA== -axios@^0.21.0, axios@^0.21.1, axios@^0.21.4: +axios@^0.21.1, axios@^0.21.4: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== @@ -12064,12 +12064,12 @@ sjcl@^1.0.8: resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== -skynet-js@^4.0.11-beta: - version "4.0.11-beta" - resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.11-beta.tgz#ec313d586f8e026e0b3b4b608f2f3b4a449e8a71" - integrity sha512-/fpxBeegGJeK+VWE8svUhBc2tVX0kJAZod5K172kKPO1g/GECeQLLSuWL2yvCMbSSTyH0dIFr5gemwGNsZHlMQ== +skynet-js@4.0.17-beta: + version "4.0.17-beta" + resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.17-beta.tgz#0e0f07799e3635bef9c8f3387e2393a1255aafd2" + integrity sha512-Yl5qGdasrVf6ZQzz/huAkmNHxyNv1UsgfoX7OE6Yg1q8SxZXmQnTsPK9oupgow6xjN/VINenXuY5ZVjoEmhZyw== dependencies: - axios "^0.21.0" + axios "^0.21.1" base32-decode "^1.0.0" base32-encode "^1.1.1" base64-js "^1.3.1" @@ -12080,16 +12080,16 @@ skynet-js@^4.0.11-beta: post-me "^0.4.5" randombytes "^2.1.0" sjcl "^1.0.8" - skynet-mysky-utils "^0.2.2" + skynet-mysky-utils "^0.3.0" tus-js-client "^2.2.0" tweetnacl "^1.0.3" url-join "^4.0.1" url-parse "^1.5.1" -skynet-mysky-utils@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/skynet-mysky-utils/-/skynet-mysky-utils-0.2.3.tgz#5007cf8f7599b665ccf016003b37a4ed0fb19abf" - integrity sha512-wRrAASn4haux2fu+2pJLv+uV/TGbBecXT1jaqD3/IQgqbEwZUpDNJJrYnYAfp/0cY5Xmuc2ZX90NNr34neAcWg== +skynet-mysky-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/skynet-mysky-utils/-/skynet-mysky-utils-0.3.0.tgz#87fdc0a5f8547cf660280ef86b7a762269919bad" + integrity sha512-X9L6SrVTdwTUFook/E6zUWCOpXHdyspLAu0elQbbPkZCWeFpr/XXTMbiyPV3m1liYsesngAKxzaSqylaTWOGUA== dependencies: post-me "^0.4.5" From e0f75df542273891f0ffc72dfc37ef4bb9a9ee2a Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Fri, 29 Oct 2021 09:38:25 +0200 Subject: [PATCH 141/564] update to 4.0.18 --- packages/website/package.json | 2 +- packages/website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 21b5dfb9..e64ad847 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -59,7 +59,7 @@ "react-svg-loader": "^3.0.3", "react-syntax-highlighter": "^15.4.4", "react-use": "^17.3.1", - "skynet-js": "4.0.17-beta", + "skynet-js": "^4.0.18-beta", "stream-browserify": "^3.0.0", "swr": "^1.0.1", "tailwindcss": "^2.2.19" diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index a8479e61..b213208b 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -12064,10 +12064,10 @@ sjcl@^1.0.8: resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== -skynet-js@4.0.17-beta: - version "4.0.17-beta" - resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.17-beta.tgz#0e0f07799e3635bef9c8f3387e2393a1255aafd2" - integrity sha512-Yl5qGdasrVf6ZQzz/huAkmNHxyNv1UsgfoX7OE6Yg1q8SxZXmQnTsPK9oupgow6xjN/VINenXuY5ZVjoEmhZyw== +skynet-js@^4.0.18-beta: + version "4.0.18-beta" + resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.18-beta.tgz#4683f0837ae552802f39c0e7081a1b978b79ef4a" + integrity sha512-7mE9xrejTpRacZfhhCqx+dm7k1y6ITLZMWZnsPp13D2N9CNroyzB75Yi7033qwPtdo9i6BEzIDolZl66j+uALw== dependencies: axios "^0.21.1" base32-decode "^1.0.0" From de16b33ed89c508d9ee7be253ed6044746c43d14 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Mon, 8 Nov 2021 15:20:26 +0100 Subject: [PATCH 142/564] update skynet-js --- packages/health-check/package.json | 2 +- packages/health-check/yarn.lock | 28 ++++++++++++------------ packages/website/package.json | 2 +- packages/website/yarn.lock | 34 ++++++++++++++++-------------- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/packages/health-check/package.json b/packages/health-check/package.json index c7020969..77a21543 100644 --- a/packages/health-check/package.json +++ b/packages/health-check/package.json @@ -13,7 +13,7 @@ "http-status-codes": "^2.1.2", "lodash": "^4.17.21", "lowdb": "^1.0.0", - "skynet-js": "^4.0.18-beta", + "skynet-js": "^4.0.19-beta", "write-file-atomic": "^3.0.3", "yargs": "^17.2.1" }, diff --git a/packages/health-check/yarn.lock b/packages/health-check/yarn.lock index ca7aeabf..d19d2be0 100644 --- a/packages/health-check/yarn.lock +++ b/packages/health-check/yarn.lock @@ -78,12 +78,12 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== dependencies: - follow-redirects "^1.14.0" + follow-redirects "^1.14.4" base32-decode@^1.0.0: version "1.0.0" @@ -354,10 +354,10 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -follow-redirects@^1.14.0: - version "1.14.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== +follow-redirects@^1.14.4: + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== form-data@^4.0.0: version "4.0.0" @@ -863,12 +863,12 @@ sjcl@^1.0.8: resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== -skynet-js@^4.0.18-beta: - version "4.0.18-beta" - resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.18-beta.tgz#4683f0837ae552802f39c0e7081a1b978b79ef4a" - integrity sha512-7mE9xrejTpRacZfhhCqx+dm7k1y6ITLZMWZnsPp13D2N9CNroyzB75Yi7033qwPtdo9i6BEzIDolZl66j+uALw== +skynet-js@^4.0.19-beta: + version "4.0.19-beta" + resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.19-beta.tgz#d4c640898c79cf69e45aa1c3c1ed5c80aa1aeced" + integrity sha512-d8/q3E3OjUxgCCAW28gNFvbahj0ks8ym122XTopbRyvAZKk9+/Z4ians9v8Tov36Z4k/un+Ilw/0i6DtM8c8Dw== dependencies: - axios "^0.21.1" + axios "^0.24.0" base32-decode "^1.0.0" base32-encode "^1.1.1" base64-js "^1.3.1" diff --git a/packages/website/package.json b/packages/website/package.json index e64ad847..fe6cd49d 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -59,7 +59,7 @@ "react-svg-loader": "^3.0.3", "react-syntax-highlighter": "^15.4.4", "react-use": "^17.3.1", - "skynet-js": "^4.0.18-beta", + "skynet-js": "^4.0.19-beta", "stream-browserify": "^3.0.0", "swr": "^1.0.1", "tailwindcss": "^2.2.19" diff --git a/packages/website/yarn.lock b/packages/website/yarn.lock index b213208b..ae0038f0 100644 --- a/packages/website/yarn.lock +++ b/packages/website/yarn.lock @@ -2851,6 +2851,13 @@ axios@^0.21.1, axios@^0.21.4: dependencies: follow-redirects "^1.14.0" +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -5783,6 +5790,11 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== +follow-redirects@^1.14.4: + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -10318,17 +10330,7 @@ polished@^4.1.3: dependencies: "@babel/runtime" "^7.14.0" -popmotion@11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.0.tgz#910e2e7077d9aeba520db8744d40bb5354992212" - integrity sha512-kJDyaG00TtcANP5JZ51od+DCqopxBm2a/Txh3Usu23L9qntjY5wumvcVf578N8qXEHR1a+jx9XCv8zOntdYalQ== - dependencies: - framesync "^6.0.1" - hey-listen "^1.0.8" - style-value-types "5.0.0" - tslib "^2.1.0" - -popmotion@^11.0.0: +popmotion@11.0.0, popmotion@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.0.tgz#910e2e7077d9aeba520db8744d40bb5354992212" integrity sha512-kJDyaG00TtcANP5JZ51od+DCqopxBm2a/Txh3Usu23L9qntjY5wumvcVf578N8qXEHR1a+jx9XCv8zOntdYalQ== @@ -12064,12 +12066,12 @@ sjcl@^1.0.8: resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ== -skynet-js@^4.0.18-beta: - version "4.0.18-beta" - resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.18-beta.tgz#4683f0837ae552802f39c0e7081a1b978b79ef4a" - integrity sha512-7mE9xrejTpRacZfhhCqx+dm7k1y6ITLZMWZnsPp13D2N9CNroyzB75Yi7033qwPtdo9i6BEzIDolZl66j+uALw== +skynet-js@^4.0.19-beta: + version "4.0.19-beta" + resolved "https://registry.yarnpkg.com/skynet-js/-/skynet-js-4.0.19-beta.tgz#d4c640898c79cf69e45aa1c3c1ed5c80aa1aeced" + integrity sha512-d8/q3E3OjUxgCCAW28gNFvbahj0ks8ym122XTopbRyvAZKk9+/Z4ians9v8Tov36Z4k/un+Ilw/0i6DtM8c8Dw== dependencies: - axios "^0.21.1" + axios "^0.24.0" base32-decode "^1.0.0" base32-encode "^1.1.1" base64-js "^1.3.1" From 6a3edd6848e022ccd7acd4002fd77fe5523f0b94 Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Mon, 8 Nov 2021 13:13:44 -0500 Subject: [PATCH 143/564] Drop unused requested skylink header --- changelog/items/other/drop-requested-skylink-header.md | 1 + docker/nginx/conf.d/server/server.api | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) create mode 100644 changelog/items/other/drop-requested-skylink-header.md diff --git a/changelog/items/other/drop-requested-skylink-header.md b/changelog/items/other/drop-requested-skylink-header.md new file mode 100644 index 00000000..bcf702dc --- /dev/null +++ b/changelog/items/other/drop-requested-skylink-header.md @@ -0,0 +1 @@ +- Drop `Skynet-Requested-Skylink` header diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 5fc41cb1..389a2d7f 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -249,9 +249,6 @@ location /skynet/metadata { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") - - -- do not expose internal header - ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; @@ -264,9 +261,6 @@ location /skynet/resolve { header_filter_by_lua_block { ngx.header["Skynet-Portal-Api"] = os.getenv("SKYNET_PORTAL_API") ngx.header["Skynet-Server-Api"] = os.getenv("SKYNET_SERVER_API") - - -- do not expose internal header - ngx.header["Skynet-Requested-Skylink"] = "" } proxy_set_header User-Agent: Sia-Agent; From c25618cd7607b18002306b74aa6a54daf25464fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Nov 2021 11:37:06 +0000 Subject: [PATCH 144/564] Bump caddy from 2.4.5-builder to 2.4.6-builder in /docker/caddy Bumps caddy from 2.4.5-builder to 2.4.6-builder. --- updated-dependencies: - dependency-name: caddy dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/caddy/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/caddy/Dockerfile b/docker/caddy/Dockerfile index b9c09acd..e5dca531 100644 --- a/docker/caddy/Dockerfile +++ b/docker/caddy/Dockerfile @@ -1,9 +1,9 @@ -FROM caddy:2.4.5-builder AS caddy-builder +FROM caddy:2.4.6-builder AS caddy-builder # available dns resolvers: https://github.com/caddy-dns RUN xcaddy build --with github.com/caddy-dns/route53 -FROM caddy:2.4.5-alpine +FROM caddy:2.4.6-builder COPY --from=caddy-builder /usr/bin/caddy /usr/bin/caddy From 81acfe1e48d160214ac40abbf7fdf0b61ecc9cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Wypch=C5=82o?= Date: Tue, 9 Nov 2021 12:45:11 +0100 Subject: [PATCH 145/564] Update Dockerfile --- docker/caddy/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/caddy/Dockerfile b/docker/caddy/Dockerfile index e5dca531..31075803 100644 --- a/docker/caddy/Dockerfile +++ b/docker/caddy/Dockerfile @@ -3,7 +3,7 @@ FROM caddy:2.4.6-builder AS caddy-builder # available dns resolvers: https://github.com/caddy-dns RUN xcaddy build --with github.com/caddy-dns/route53 -FROM caddy:2.4.6-builder +FROM caddy:2.4.6-alpine COPY --from=caddy-builder /usr/bin/caddy /usr/bin/caddy From f0a4dc5f8fdfe9012f753f24076b510301f33bd8 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Tue, 9 Nov 2021 18:04:05 +0100 Subject: [PATCH 146/564] Add a malware-scanner service. --- .../items/key-updates/malware-scanner.md | 1 + dc | 7 +- docker-compose.malware-scanner.yml | 55 ++ docker/clamav/clamd.conf | 794 ++++++++++++++++++ docker/malware-scanner/Dockerfile | 22 + 5 files changed, 878 insertions(+), 1 deletion(-) create mode 100644 changelog/items/key-updates/malware-scanner.md create mode 100644 docker-compose.malware-scanner.yml create mode 100644 docker/clamav/clamd.conf create mode 100644 docker/malware-scanner/Dockerfile diff --git a/changelog/items/key-updates/malware-scanner.md b/changelog/items/key-updates/malware-scanner.md new file mode 100644 index 00000000..2559b033 --- /dev/null +++ b/changelog/items/key-updates/malware-scanner.md @@ -0,0 +1 @@ +- Add malware scanner service, activated by adding `s` to `PORTAL_MODULES` diff --git a/dc b/dc index 60418cb8..50fd27e4 100755 --- a/dc +++ b/dc @@ -18,7 +18,12 @@ for i in $(seq 1 ${#PORTAL_MODULES}); do COMPOSE_FILES+=" -f docker-compose.jaeger.yml" fi - # mongodb module - alias "m". implied by "a" + # malware-scanner module - alias "s" + if [[ ${PORTAL_MODULES:i-1:1} == "s" ]]; then + COMPOSE_FILES+=" -f docker-compose.mongodb.yml -f docker-compose.malware-scanner.yml" + fi + + # mongodb module - alias "m". implied by "a" and "c" if [[ ${PORTAL_MODULES:i-1:1} == "m" ]]; then COMPOSE_FILES+=" -f docker-compose.mongodb.yml" fi diff --git a/docker-compose.malware-scanner.yml b/docker-compose.malware-scanner.yml new file mode 100644 index 00000000..405e6542 --- /dev/null +++ b/docker-compose.malware-scanner.yml @@ -0,0 +1,55 @@ +version: "3.7" + +x-logging: &default-logging + driver: json-file + options: + max-size: "10m" + max-file: "3" + +services: + + clamav: + image: clamav/clamav:stable_base + container_name: clamav + restart: on-failure + logging: *default-logging + volumes: + - ./docker/data/clamav/defs:/var/lib/clamav + - ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro + expose: + - 3310 # NEVER expose this outside of the local network! + deploy: + resources: + limits: + cpus: '0.50' + networks: + shared: + ipv4_address: 10.10.10.100 + + malware-scanner: + build: + context: ./docker/malware-scanner + dockerfile: Dockerfile + args: + branch: main + container_name: malware-scanner + restart: unless-stopped + logging: *default-logging + env_file: + - .env + environment: + - CLAMAV_IP=${CLAMAV_IP:-10.10.10.100} + - CLAMAV_PORT=${CLAMAV_PORT:-3310} + - MALWARE_SCANNER_PORT=${MALWARE_SCANNER_PORT:-4000} + - PORTAL_DOMAIN=${PORTAL_DOMAIN} + - SKYNET_DB_HOST=${SKYNET_DB_HOST} + - SKYNET_DB_PORT=${SKYNET_DB_PORT} + - SKYNET_DB_USER=${SKYNET_DB_USER} + - SKYNET_DB_PASS=${SKYNET_DB_PASS} + expose: + - 4000 + networks: + shared: + ipv4_address: 10.10.10.101 + depends_on: + - clamav diff --git a/docker/clamav/clamd.conf b/docker/clamav/clamd.conf new file mode 100644 index 00000000..6b61e57f --- /dev/null +++ b/docker/clamav/clamd.conf @@ -0,0 +1,794 @@ +## +## Example config file for the Clam AV daemon +## Please read the clamd.conf(5) manual before editing this file. +## + + +# Comment or remove the line below. +# Example + +# Uncomment this option to enable logging. +# LogFile must be writable for the user running daemon. +# A full path is required. +# Default: disabled +LogFile /var/log/clamav/clamd.log + +# By default the log file is locked for writing - the lock protects against +# running clamd multiple times (if want to run another clamd, please +# copy the configuration file, change the LogFile variable, and run +# the daemon with --config-file option). +# This option disables log file locking. +# Default: no +#LogFileUnlock yes + +# Maximum size of the log file. +# Value of 0 disables the limit. +# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) +# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size +# in bytes just don't use modifiers. If LogFileMaxSize is enabled, log +# rotation (the LogRotate option) will always be enabled. +# Default: 1M +LogFileMaxSize 50M + +# Log time with each message. +# Default: no +LogTime yes + +# Also log clean files. Useful in debugging but drastically increases the +# log size. +# Default: no +#LogClean yes + +# Use system logger (can work together with LogFile). +# Default: no +#LogSyslog yes + +# Specify the type of syslog messages - please refer to 'man syslog' +# for facility names. +# Default: LOG_LOCAL6 +#LogFacility LOG_MAIL + +# Enable verbose logging. +# Default: no +#LogVerbose yes + +# Enable log rotation. Always enabled when LogFileMaxSize is enabled. +# Default: no +#LogRotate yes + +# Enable Prelude output. +# Default: no +#PreludeEnable yes +# +# Set the name of the analyzer used by prelude-admin. +# Default: ClamAV +#PreludeAnalyzerName ClamAV + +# Log additional information about the infected file, such as its +# size and hash, together with the virus name. +#ExtendedDetectionInfo yes + +# This option allows you to save a process identifier of the listening +# daemon (main thread). +# This file will be owned by root, as long as clamd was started by root. +# It is recommended that the directory where this file is stored is +# also owned by root to keep other users from tampering with it. +# Default: disabled +PidFile /run/lock/clamd.pid + +# Optional path to the global temporary directory. +# Default: system specific (usually /tmp or /var/tmp). +#TemporaryDirectory /var/tmp + +# Path to the database directory. +# Default: hardcoded (depends on installation options) +#DatabaseDirectory /var/lib/clamav + +# Only load the official signatures published by the ClamAV project. +# Default: no +#OfficialDatabaseOnly no + +# The daemon can work in local mode, network mode or both. +# Due to security reasons we recommend the local mode. + +# Path to a local socket file the daemon will listen on. +# Default: disabled (must be specified by a user) +LocalSocket /run/clamav/clamd.sock + +# Sets the group ownership on the unix socket. +# Default: disabled (the primary group of the user running clamd) +#LocalSocketGroup virusgroup + +# Sets the permissions on the unix socket to the specified mode. +# Default: disabled (socket is world accessible) +#LocalSocketMode 660 + +# Remove stale socket after unclean shutdown. +# Default: yes +#FixStaleSocket yes + +# TCP port address. +# Default: no +TCPSocket 3310 + +# TCP address. +# By default we bind to INADDR_ANY, probably not wise. +# Enable the following to provide some degree of protection +# from the outside world. This option can be specified multiple +# times if you want to listen on multiple IPs. IPv6 is now supported. +# Default: no +TCPAddr 0.0.0.0 + +# Maximum length the queue of pending connections may grow to. +# Default: 200 +#MaxConnectionQueueLength 30 + +# Clamd uses FTP-like protocol to receive data from remote clients. +# If you are using clamav-milter to balance load between remote clamd daemons +# on firewall servers you may need to tune the options below. + +# Close the connection when the data size limit is exceeded. +# The value should match your MTA's limit for a maximum attachment size. +# Default: 25M +StreamMaxLength 1024M + +# Limit port range. +# Default: 1024 +#StreamMinPort 30000 +# Default: 2048 +#StreamMaxPort 32000 + +# Maximum number of threads running at the same time. +# Default: 10 +#MaxThreads 20 + +# Waiting for data from a client socket will timeout after this time (seconds). +# Default: 120 +#ReadTimeout 300 + +# This option specifies the time (in seconds) after which clamd should +# timeout if a client doesn't provide any initial command after connecting. +# Default: 30 +#CommandReadTimeout 30 + +# This option specifies how long to wait (in milliseconds) if the send buffer +# is full. +# Keep this value low to prevent clamd hanging. +# +# Default: 500 +#SendBufTimeout 200 + +# Maximum number of queued items (including those being processed by +# MaxThreads threads). +# It is recommended to have this value at least twice MaxThreads if possible. +# WARNING: you shouldn't increase this too much to avoid running out of file +# descriptors, the following condition should hold: +# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual +# max is 1024). +# +# Default: 100 +#MaxQueue 200 + +# Waiting for a new job will timeout after this time (seconds). +# Default: 30 +#IdleTimeout 60 + +# Don't scan files and directories matching regex +# This directive can be used multiple times +# Default: scan all +#ExcludePath ^/proc/ +#ExcludePath ^/sys/ + +# Maximum depth directories are scanned at. +# Default: 15 +#MaxDirectoryRecursion 20 + +# Follow directory symlinks. +# Default: no +#FollowDirectorySymlinks yes + +# Follow regular file symlinks. +# Default: no +#FollowFileSymlinks yes + +# Scan files and directories on other filesystems. +# Default: yes +#CrossFilesystems yes + +# Perform a database check. +# Default: 600 (10 min) +#SelfCheck 600 + +# Enable non-blocking (multi-threaded/concurrent) database reloads. +# This feature will temporarily load a second scanning engine while scanning +# continues using the first engine. Once loaded, the new engine takes over. +# The old engine is removed as soon as all scans using the old engine have +# completed. +# This feature requires more RAM, so this option is provided in case users are +# willing to block scans during reload in exchange for lower RAM requirements. +# Default: yes +ConcurrentDatabaseReload no + +# Execute a command when virus is found. In the command string %v will +# be replaced with the virus name and %f will be replaced with the file name. +# Additionally, two environment variables will be defined: $CLAM_VIRUSEVENT_FILENAME +# and $CLAM_VIRUSEVENT_VIRUSNAME. +# Default: no +#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v in %f" + +# Run as another user (clamd must be started by root for this option to work) +# Default: don't drop privileges +User clamav + +# Stop daemon when libclamav reports out of memory condition. +#ExitOnOOM yes + +# Don't fork into background. +# Default: no +#Foreground yes + +# Enable debug messages in libclamav. +# Default: no +#Debug yes + +# Do not remove temporary files (for debug purposes). +# Default: no +#LeaveTemporaryFiles yes + +# Permit use of the ALLMATCHSCAN command. If set to no, clamd will reject +# any ALLMATCHSCAN command as invalid. +# Default: yes +#AllowAllMatchScan no + +# Detect Possibly Unwanted Applications. +# Default: no +#DetectPUA yes + +# Exclude a specific PUA category. This directive can be used multiple times. +# See https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md for +# the complete list of PUA categories. +# Default: Load all categories (if DetectPUA is activated) +#ExcludePUA NetTool +#ExcludePUA PWTool + +# Only include a specific PUA category. This directive can be used multiple +# times. +# Default: Load all categories (if DetectPUA is activated) +#IncludePUA Spy +#IncludePUA Scanner +#IncludePUA RAT + +# This option causes memory or nested map scans to dump the content to disk. +# If you turn on this option, more data is written to disk and is available +# when the LeaveTemporaryFiles option is enabled. +#ForceToDisk yes + +# This option allows you to disable the caching feature of the engine. By +# default, the engine will store an MD5 in a cache of any files that are +# not flagged as virus or that hit limits checks. Disabling the cache will +# have a negative performance impact on large scans. +# Default: no +#DisableCache yes + +# In some cases (eg. complex malware, exploits in graphic files, and others), +# ClamAV uses special algorithms to detect abnormal patterns and behaviors that +# may be malicious. This option enables alerting on such heuristically +# detected potential threats. +# Default: yes +#HeuristicAlerts yes + +# Allow heuristic alerts to take precedence. +# When enabled, if a heuristic scan (such as phishingScan) detects +# a possible virus/phish it will stop scan immediately. Recommended, saves CPU +# scan-time. +# When disabled, virus/phish detected by heuristic scans will be reported only +# at the end of a scan. If an archive contains both a heuristically detected +# virus/phish, and a real malware, the real malware will be reported +# +# Keep this disabled if you intend to handle "Heuristics.*" viruses +# differently from "real" malware. +# If a non-heuristically-detected virus (signature-based) is found first, +# the scan is interrupted immediately, regardless of this config option. +# +# Default: no +#HeuristicScanPrecedence yes + + +## +## Heuristic Alerts +## + +# With this option clamav will try to detect broken executables (both PE and +# ELF) and alert on them with the Broken.Executable heuristic signature. +# Default: no +#AlertBrokenExecutables yes + +# With this option clamav will try to detect broken media file (JPEG, +# TIFF, PNG, GIF) and alert on them with a Broken.Media heuristic signature. +# Default: no +#AlertBrokenMedia yes + +# Alert on encrypted archives _and_ documents with heuristic signature +# (encrypted .zip, .7zip, .rar, .pdf). +# Default: no +#AlertEncrypted yes + +# Alert on encrypted archives with heuristic signature (encrypted .zip, .7zip, +# .rar). +# Default: no +#AlertEncryptedArchive yes + +# Alert on encrypted archives with heuristic signature (encrypted .pdf). +# Default: no +#AlertEncryptedDoc yes + +# With this option enabled OLE2 files containing VBA macros, which were not +# detected by signatures will be marked as "Heuristics.OLE2.ContainsMacros". +# Default: no +#AlertOLE2Macros yes + +# Alert on SSL mismatches in URLs, even if the URL isn't in the database. +# This can lead to false positives. +# Default: no +#AlertPhishingSSLMismatch yes + +# Alert on cloaked URLs, even if URL isn't in database. +# This can lead to false positives. +# Default: no +#AlertPhishingCloak yes + +# Alert on raw DMG image files containing partition intersections +# Default: no +#AlertPartitionIntersection yes + + +## +## Executable files +## + +# PE stands for Portable Executable - it's an executable file format used +# in all 32 and 64-bit versions of Windows operating systems. This option +# allows ClamAV to perform a deeper analysis of executable files and it's also +# required for decompression of popular executable packers such as UPX, FSG, +# and Petite. If you turn off this option, the original files will still be +# scanned, but without additional processing. +# Default: yes +#ScanPE yes + +# Certain PE files contain an authenticode signature. By default, we check +# the signature chain in the PE file against a database of trusted and +# revoked certificates if the file being scanned is marked as a virus. +# If any certificate in the chain validates against any trusted root, but +# does not match any revoked certificate, the file is marked as trusted. +# If the file does match a revoked certificate, the file is marked as virus. +# The following setting completely turns off authenticode verification. +# Default: no +#DisableCertCheck yes + +# Executable and Linking Format is a standard format for UN*X executables. +# This option allows you to control the scanning of ELF files. +# If you turn off this option, the original files will still be scanned, but +# without additional processing. +# Default: yes +#ScanELF yes + + +## +## Documents +## + +# This option enables scanning of OLE2 files, such as Microsoft Office +# documents and .msi files. +# If you turn off this option, the original files will still be scanned, but +# without additional processing. +# Default: yes +#ScanOLE2 yes + +# This option enables scanning within PDF files. +# If you turn off this option, the original files will still be scanned, but +# without decoding and additional processing. +# Default: yes +#ScanPDF yes + +# This option enables scanning within SWF files. +# If you turn off this option, the original files will still be scanned, but +# without decoding and additional processing. +# Default: yes +#ScanSWF yes + +# This option enables scanning xml-based document files supported by libclamav. +# If you turn off this option, the original files will still be scanned, but +# without additional processing. +# Default: yes +#ScanXMLDOCS yes + +# This option enables scanning of HWP3 files. +# If you turn off this option, the original files will still be scanned, but +# without additional processing. +# Default: yes +#ScanHWP3 yes + + +## +## Mail files +## + +# Enable internal e-mail scanner. +# If you turn off this option, the original files will still be scanned, but +# without parsing individual messages/attachments. +# Default: yes +#ScanMail yes + +# Scan RFC1341 messages split over many emails. +# You will need to periodically clean up $TemporaryDirectory/clamav-partial +# directory. +# WARNING: This option may open your system to a DoS attack. +# Never use it on loaded servers. +# Default: no +#ScanPartialMessages yes + +# With this option enabled ClamAV will try to detect phishing attempts by using +# HTML.Phishing and Email.Phishing NDB signatures. +# Default: yes +#PhishingSignatures no + +# With this option enabled ClamAV will try to detect phishing attempts by +# analyzing URLs found in emails using WDB and PDB signature databases. +# Default: yes +#PhishingScanURLs no + + +## +## Data Loss Prevention (DLP) +## + +# Enable the DLP module +# Default: No +#StructuredDataDetection yes + +# This option sets the lowest number of Credit Card numbers found in a file +# to generate a detect. +# Default: 3 +#StructuredMinCreditCardCount 5 + +# With this option enabled the DLP module will search for valid Credit Card +# numbers only. Debit and Private Label cards will not be searched. +# Default: no +#StructuredCCOnly yes + +# This option sets the lowest number of Social Security Numbers found +# in a file to generate a detect. +# Default: 3 +#StructuredMinSSNCount 5 + +# With this option enabled the DLP module will search for valid +# SSNs formatted as xxx-yy-zzzz +# Default: yes +#StructuredSSNFormatNormal yes + +# With this option enabled the DLP module will search for valid +# SSNs formatted as xxxyyzzzz +# Default: no +#StructuredSSNFormatStripped yes + + +## +## HTML +## + +# Perform HTML normalisation and decryption of MS Script Encoder code. +# Default: yes +# If you turn off this option, the original files will still be scanned, but +# without additional processing. +#ScanHTML yes + + +## +## Archives +## + +# ClamAV can scan within archives and compressed files. +# If you turn off this option, the original files will still be scanned, but +# without unpacking and additional processing. +# Default: yes +#ScanArchive yes + + +## +## Limits +## + +# The options below protect your system against Denial of Service attacks +# using archive bombs. + +# This option sets the maximum amount of time to a scan may take. +# In this version, this field only affects the scan time of ZIP archives. +# Value of 0 disables the limit. +# Note: disabling this limit or setting it too high may result allow scanning +# of certain files to lock up the scanning process/threads resulting in a +# Denial of Service. +# Time is in milliseconds. +# Default: 120000 +MaxScanTime 300000 + +# This option sets the maximum amount of data to be scanned for each input +# file. Archives and other containers are recursively extracted and scanned +# up to this value. +# Value of 0 disables the limit +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 100M +MaxScanSize 1024M + +# Files larger than this limit won't be scanned. Affects the input file itself +# as well as files contained inside it (when the input file is an archive, a +# document or some other kind of container). +# Value of 0 disables the limit. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Technical design limitations prevent ClamAV from scanning files greater than +# 2 GB at this time. +# Default: 25M +MaxFileSize 1024M + +# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR +# file, all files within it will also be scanned. This options specifies how +# deeply the process should be continued. +# Note: setting this limit too high may result in severe damage to the system. +# Default: 17 +#MaxRecursion 10 + +# Number of files to be scanned within an archive, a document, or any other +# container file. +# Value of 0 disables the limit. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 10000 +#MaxFiles 15000 + +# Maximum size of a file to check for embedded PE. Files larger than this value +# will skip the additional analysis step. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 10M +#MaxEmbeddedPE 10M + +# Maximum size of a HTML file to normalize. HTML files larger than this value +# will not be normalized or scanned. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 10M +#MaxHTMLNormalize 10M + +# Maximum size of a normalized HTML file to scan. HTML files larger than this +# value after normalization will not be scanned. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 2M +#MaxHTMLNoTags 2M + +# Maximum size of a script file to normalize. Script content larger than this +# value will not be normalized or scanned. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 5M +#MaxScriptNormalize 5M + +# Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger +# than this value will skip the step to potentially reanalyze as PE. +# Note: disabling this limit or setting it too high may result in severe damage +# to the system. +# Default: 1M +#MaxZipTypeRcg 1M + +# This option sets the maximum number of partitions of a raw disk image to be +# scanned. +# Raw disk images with more partitions than this value will have up to +# the value number partitions scanned. Negative values are not allowed. +# Note: setting this limit too high may result in severe damage or impact +# performance. +# Default: 50 +#MaxPartitions 128 + +# This option sets the maximum number of icons within a PE to be scanned. +# PE files with more icons than this value will have up to the value number +# icons scanned. +# Negative values are not allowed. +# WARNING: setting this limit too high may result in severe damage or impact +# performance. +# Default: 100 +#MaxIconsPE 200 + +# This option sets the maximum recursive calls for HWP3 parsing during +# scanning. HWP3 files using more than this limit will be terminated and +# alert the user. +# Scans will be unable to scan any HWP3 attachments if the recursive limit +# is reached. +# Negative values are not allowed. +# WARNING: setting this limit too high may result in severe damage or impact +# performance. +# Default: 16 +#MaxRecHWP3 16 + +# This option sets the maximum calls to the PCRE match function during +# an instance of regex matching. +# Instances using more than this limit will be terminated and alert the user +# but the scan will continue. +# For more information on match_limit, see the PCRE documentation. +# Negative values are not allowed. +# WARNING: setting this limit too high may severely impact performance. +# Default: 100000 +#PCREMatchLimit 20000 + +# This option sets the maximum recursive calls to the PCRE match function +# during an instance of regex matching. +# Instances using more than this limit will be terminated and alert the user +# but the scan will continue. +# For more information on match_limit_recursion, see the PCRE documentation. +# Negative values are not allowed and values > PCREMatchLimit are superfluous. +# WARNING: setting this limit too high may severely impact performance. +# Default: 2000 +#PCRERecMatchLimit 10000 + +# This option sets the maximum filesize for which PCRE subsigs will be +# executed. Files exceeding this limit will not have PCRE subsigs executed +# unless a subsig is encompassed to a smaller buffer. +# Negative values are not allowed. +# Setting this value to zero disables the limit. +# WARNING: setting this limit too high or disabling it may severely impact +# performance. +# Default: 25M +#PCREMaxFileSize 100M + +# When AlertExceedsMax is set, files exceeding the MaxFileSize, MaxScanSize, or +# MaxRecursion limit will be flagged with the virus name starting with +# "Heuristics.Limits.Exceeded". +# Default: no +#AlertExceedsMax yes + +## +## On-access Scan Settings +## + +# Don't scan files larger than OnAccessMaxFileSize +# Value of 0 disables the limit. +# Default: 5M +#OnAccessMaxFileSize 10M + +# Max number of scanning threads to allocate to the OnAccess thread pool at +# startup. These threads are the ones responsible for creating a connection +# with the daemon and kicking off scanning after an event has been processed. +# To prevent clamonacc from consuming all clamd's resources keep this lower +# than clamd's max threads. +# Default: 5 +#OnAccessMaxThreads 10 + +# Max amount of time (in milliseconds) that the OnAccess client should spend +# for every connect, send, and recieve attempt when communicating with clamd +# via curl. +# Default: 5000 (5 seconds) +# OnAccessCurlTimeout 10000 + +# Toggles dynamic directory determination. Allows for recursively watching +# include paths. +# Default: no +#OnAccessDisableDDD yes + +# Set the include paths (all files inside them will be scanned). You can have +# multiple OnAccessIncludePath directives but each directory must be added +# in a separate line. +# Default: disabled +#OnAccessIncludePath /home +#OnAccessIncludePath /students + +# Set the exclude paths. All subdirectories are also excluded. +# Default: disabled +#OnAccessExcludePath /home/user + +# Modifies fanotify blocking behaviour when handling permission events. +# If off, fanotify will only notify if the file scanned is a virus, +# and not perform any blocking. +# Default: no +#OnAccessPrevention yes + +# When using prevention, if this option is turned on, any errors that occur +# during scanning will result in the event attempt being denied. This could +# potentially lead to unwanted system behaviour with certain configurations, +# so the client defaults this to off and prefers allowing access events in +# case of scan or connection error. +# Default: no +#OnAccessDenyOnError yes + +# Toggles extra scanning and notifications when a file or directory is +# created or moved. +# Requires the DDD system to kick-off extra scans. +# Default: no +#OnAccessExtraScanning yes + +# Set the mount point to be scanned. The mount point specified, or the mount +# point containing the specified directory will be watched. If any directories +# are specified, this option will preempt (disable and ignore all options +# related to) the DDD system. This option will result in verdicts only. +# Note that prevention is explicitly disallowed to prevent common, fatal +# misconfigurations. (e.g. watching "/" with prevention on and no exclusions +# made on vital system directories) +# It can be used multiple times. +# Default: disabled +#OnAccessMountPath / +#OnAccessMountPath /home/user + +# With this option you can exclude the root UID (0). Processes run under +# root with be able to access all files without triggering scans or +# permission denied events. +# Note that if clamd cannot check the uid of the process that generated an +# on-access scan event (e.g., because OnAccessPrevention was not enabled, and +# the process already exited), clamd will perform a scan. Thus, setting +# OnAccessExcludeRootUID is not *guaranteed* to prevent every access by the +# root user from triggering a scan (unless OnAccessPrevention is enabled). +# Default: no +#OnAccessExcludeRootUID no + +# With this option you can exclude specific UIDs. Processes with these UIDs +# will be able to access all files without triggering scans or permission +# denied events. +# This option can be used multiple times (one per line). +# Using a value of 0 on any line will disable this option entirely. +# To exclude the root UID (0) please enable the OnAccessExcludeRootUID +# option. +# Also note that if clamd cannot check the uid of the process that generated an +# on-access scan event (e.g., because OnAccessPrevention was not enabled, and +# the process already exited), clamd will perform a scan. Thus, setting +# OnAccessExcludeUID is not *guaranteed* to prevent every access by the +# specified uid from triggering a scan (unless OnAccessPrevention is enabled). +# Default: disabled +#OnAccessExcludeUID -1 + +# This option allows exclusions via user names when using the on-access +# scanning client. It can be used multiple times. +# It has the same potential race condition limitations of the +# OnAccessExcludeUID option. +# Default: disabled +#OnAccessExcludeUname clamav + +# Number of times the OnAccess client will retry a failed scan due to +# connection problems (or other issues). +# Default: 0 +#OnAccessRetryAttempts 3 + +## +## Bytecode +## + +# With this option enabled ClamAV will load bytecode from the database. +# It is highly recommended you keep this option on, otherwise you'll miss +# detections for many new viruses. +# Default: yes +#Bytecode yes + +# Set bytecode security level. +# Possible values: +# None - No security at all, meant for debugging. +# DO NOT USE THIS ON PRODUCTION SYSTEMS. +# This value is only available if clamav was built +# with --enable-debug! +# TrustSigned - Trust bytecode loaded from signed .c[lv]d files, insert +# runtime safety checks for bytecode loaded from other sources. +# Paranoid - Don't trust any bytecode, insert runtime checks for all. +# Recommended: TrustSigned, because bytecode in .cvd files already has these +# checks. +# Note that by default only signed bytecode is loaded, currently you can only +# load unsigned bytecode in --enable-debug mode. +# +# Default: TrustSigned +#BytecodeSecurity TrustSigned + +# Allow loading bytecode from outside digitally signed .c[lv]d files. +# **Caution**: You should NEVER run bytecode signatures from untrusted sources. +# Doing so may result in arbitrary code execution. +# Default: no +#BytecodeUnsigned yes + +# Set bytecode timeout in milliseconds. +# +# Default: 5000 +# BytecodeTimeout 1000 diff --git a/docker/malware-scanner/Dockerfile b/docker/malware-scanner/Dockerfile new file mode 100644 index 00000000..fa389ddb --- /dev/null +++ b/docker/malware-scanner/Dockerfile @@ -0,0 +1,22 @@ +FROM golang:1.17 +LABEL maintainer="SkynetLabs " + +ENV GOOS linux +ENV GOARCH amd64 + +ARG branch=main + +WORKDIR /root + +RUN git clone --single-branch --branch ${branch} https://github.com/SkynetLabs/malware-scanner.git && \ + cd malware-scanner && \ + go mod download && \ + make release + +ENV SKYNET_DB_HOST="localhost" +ENV SKYNET_DB_PORT="27017" +ENV SKYNET_DB_USER="username" +ENV SKYNET_DB_PASS="password" +ENV MALWARE_SCANNER_PORT=4000 + +ENTRYPOINT ["malware-scanner"] From 2f0f7d64e067ac72e32d61e98a9476c2da5ceb5b Mon Sep 17 00:00:00 2001 From: Matthew Sevey Date: Tue, 9 Nov 2021 18:19:49 -0500 Subject: [PATCH 147/564] Update handshake to use v3.0.1 --- changelog/items/other/update-handshake.md | 1 + docker-compose.yml | 2 +- docker/handshake/Dockerfile | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-) create mode 100644 changelog/items/other/update-handshake.md diff --git a/changelog/items/other/update-handshake.md b/changelog/items/other/update-handshake.md new file mode 100644 index 00000000..f9296fa4 --- /dev/null +++ b/changelog/items/other/update-handshake.md @@ -0,0 +1 @@ +- Update handshake to use v3.0.1 diff --git a/docker-compose.yml b/docker-compose.yml index 3f94c3ff..ca4dc51a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -103,7 +103,7 @@ services: build: context: ./docker/handshake dockerfile: Dockerfile - command: --chain-migrate=1 --wallet-migrate=1 + command: --chain-migrate=2 --wallet-migrate=1 container_name: handshake restart: unless-stopped logging: *default-logging diff --git a/docker/handshake/Dockerfile b/docker/handshake/Dockerfile index 3aa6e50b..d7a0a6a1 100644 --- a/docker/handshake/Dockerfile +++ b/docker/handshake/Dockerfile @@ -3,13 +3,8 @@ FROM node:16.13.0-alpine WORKDIR /opt/hsd RUN apk update && apk add bash unbound-dev gmp-dev g++ gcc make python2 git -# Checkout a specific commit until Handshake releases the next release after -# 2.4.0 then we should switch to that tag. -# -# The commit we are targetting right now contains a fix for handling the chain -# migration code for new portals. RUN git clone https://github.com/handshake-org/hsd.git /opt/hsd && \ - cd /opt/hsd && git checkout 6f0927db32723d6320c8bff255a6ccf70b2ccd32 && cd - + cd /opt/hsd && git checkout v3.0.1 && cd - RUN npm install --production ENV PATH="${PATH}:/opt/hsd/bin:/opt/hsd/node_modules/.bin" From 2e15826f58d570790c6f535140cba09b623397ef Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 11:49:16 +0100 Subject: [PATCH 148/564] Remove Airtable hardcoded default values --- changelog/items/other/airtable-env-vars.md | 2 ++ setup-scripts/blocklist-airtable.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelog/items/other/airtable-env-vars.md diff --git a/changelog/items/other/airtable-env-vars.md b/changelog/items/other/airtable-env-vars.md new file mode 100644 index 00000000..dc287984 --- /dev/null +++ b/changelog/items/other/airtable-env-vars.md @@ -0,0 +1,2 @@ +- Remove hardcoded Airtable default values from blocklist script. Portal + operators need to define their own values in portal common config (LastPass). \ No newline at end of file diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index 3dbce3ed..e6563901 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -14,9 +14,9 @@ import json setup() AIRTABLE_API_KEY = os.getenv("AIRTABLE_API_KEY") -AIRTABLE_BASE = os.getenv("AIRTABLE_BASE", "app89plJvA9EqTJEc") -AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE", "Table%201") -AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD", "Link") +AIRTABLE_BASE = os.getenv("AIRTABLE_BASE") +AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE") +AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD") async def run_checks(): From d68f8969886e5929242e2c31aa2fabbd42c3f2cd Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 13:46:43 +0100 Subject: [PATCH 149/564] Add check if Airtable vars are defined --- setup-scripts/blocklist-airtable.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index e6563901..1173a90f 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -6,6 +6,7 @@ from time import sleep import traceback import os +import sys import re import asyncio import requests @@ -13,10 +14,17 @@ import json setup() -AIRTABLE_API_KEY = os.getenv("AIRTABLE_API_KEY") -AIRTABLE_BASE = os.getenv("AIRTABLE_BASE") -AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE") -AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD") + +# Check and load Airtable environment variables +airtable_env_vars = ["AIRTABLE_API_KEY", "AIRTABLE_BASE", "AIRTABLE_TABLE", "AIRTABLE_FIELD"] + +for e in airtable_env_vars: + # Check environment variable is defined + gete = os.getenv(e) + if not gete: + sys.exit("Configuration error: Environment variable " + e + " is not defined") + # Set variable + exec(e + " = \"" +gete + "\"") async def run_checks(): From 07b99b8192f9afee949d28b82a23890b8411b0e4 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 13:52:32 +0100 Subject: [PATCH 150/564] Add check if Airtable vars are defined --- setup-scripts/blocklist-airtable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index 1173a90f..d5bd360e 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -24,7 +24,7 @@ for e in airtable_env_vars: if not gete: sys.exit("Configuration error: Environment variable " + e + " is not defined") # Set variable - exec(e + " = \"" +gete + "\"") + exec(e + " = \"" + gete + "\"") async def run_checks(): From efeddd6c70e9de9d0b4204fd2d70d70f778829f2 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 14:22:00 +0100 Subject: [PATCH 151/564] Add check if Airtable vars are defined --- setup-scripts/blocklist-airtable.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index d5bd360e..d0279e5f 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -15,16 +15,15 @@ import json setup() -# Check and load Airtable environment variables -airtable_env_vars = ["AIRTABLE_API_KEY", "AIRTABLE_BASE", "AIRTABLE_TABLE", "AIRTABLE_FIELD"] +AIRTABLE_API_KEY = os.getenv("AIRTABLE_API_KEY") +AIRTABLE_BASE = os.getenv("AIRTABLE_BASE") +AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE") +AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD") -for e in airtable_env_vars: - # Check environment variable is defined - gete = os.getenv(e) - if not gete: - sys.exit("Configuration error: Environment variable " + e + " is not defined") - # Set variable - exec(e + " = \"" + gete + "\"") +# Check environment variables are defined +for e in [AIRTABLE_API_KEY, AIRTABLE_BASE, AIRTABLE_TABLE, AIRTABLE_FIELD] + if not e: + sys.exit("Configuration error: Missing AirTable environment variable.") async def run_checks(): From c3d3f2b0e53d9fa7a103ec6a68cc00d643420352 Mon Sep 17 00:00:00 2001 From: firyx <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 14:32:08 +0100 Subject: [PATCH 152/564] Update setup-scripts/blocklist-airtable.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Karol Wypchło --- setup-scripts/blocklist-airtable.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index d0279e5f..43858483 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -21,8 +21,8 @@ AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE") AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD") # Check environment variables are defined -for e in [AIRTABLE_API_KEY, AIRTABLE_BASE, AIRTABLE_TABLE, AIRTABLE_FIELD] - if not e: +for value in [AIRTABLE_API_KEY, AIRTABLE_BASE, AIRTABLE_TABLE, AIRTABLE_FIELD] + if not value: sys.exit("Configuration error: Missing AirTable environment variable.") From e99fdfe4601c16aae18e5cf39d8531dbbc5ce658 Mon Sep 17 00:00:00 2001 From: Filip Rysavy <29089732+firyx@users.noreply.github.com> Date: Wed, 10 Nov 2021 15:10:28 +0100 Subject: [PATCH 153/564] Fix missing colon --- setup-scripts/blocklist-airtable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup-scripts/blocklist-airtable.py b/setup-scripts/blocklist-airtable.py index d0279e5f..028b18ee 100755 --- a/setup-scripts/blocklist-airtable.py +++ b/setup-scripts/blocklist-airtable.py @@ -21,7 +21,7 @@ AIRTABLE_TABLE = os.getenv("AIRTABLE_TABLE") AIRTABLE_FIELD = os.getenv("AIRTABLE_FIELD") # Check environment variables are defined -for e in [AIRTABLE_API_KEY, AIRTABLE_BASE, AIRTABLE_TABLE, AIRTABLE_FIELD] +for e in [AIRTABLE_API_KEY, AIRTABLE_BASE, AIRTABLE_TABLE, AIRTABLE_FIELD]: if not e: sys.exit("Configuration error: Missing AirTable environment variable.") From 50b2c8f85cc8953e863d5f8f8952d9f9771e7162 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Wed, 10 Nov 2021 21:09:16 +0100 Subject: [PATCH 154/564] Add ClamAV config and continue the setup. --- docker-compose.malware-scanner.yml | 10 +++------- docker/malware-scanner/Dockerfile | 10 +++++----- docker/{clamav => malware-scanner}/clamd.conf | 0 3 files changed, 8 insertions(+), 12 deletions(-) rename docker/{clamav => malware-scanner}/clamd.conf (100%) diff --git a/docker-compose.malware-scanner.yml b/docker-compose.malware-scanner.yml index 405e6542..09b595c2 100644 --- a/docker-compose.malware-scanner.yml +++ b/docker-compose.malware-scanner.yml @@ -31,25 +31,21 @@ services: context: ./docker/malware-scanner dockerfile: Dockerfile args: - branch: main + branch: tmp container_name: malware-scanner restart: unless-stopped logging: *default-logging env_file: - .env environment: + - SKYNET_DB_HOST=${SKYNET_DB_HOST} - CLAMAV_IP=${CLAMAV_IP:-10.10.10.100} - CLAMAV_PORT=${CLAMAV_PORT:-3310} - - MALWARE_SCANNER_PORT=${MALWARE_SCANNER_PORT:-4000} - - PORTAL_DOMAIN=${PORTAL_DOMAIN} - - SKYNET_DB_HOST=${SKYNET_DB_HOST} - - SKYNET_DB_PORT=${SKYNET_DB_PORT} - - SKYNET_DB_USER=${SKYNET_DB_USER} - - SKYNET_DB_PASS=${SKYNET_DB_PASS} expose: - 4000 networks: shared: ipv4_address: 10.10.10.101 depends_on: + - mongo - clamav diff --git a/docker/malware-scanner/Dockerfile b/docker/malware-scanner/Dockerfile index fa389ddb..c1f45d33 100644 --- a/docker/malware-scanner/Dockerfile +++ b/docker/malware-scanner/Dockerfile @@ -13,10 +13,10 @@ RUN git clone --single-branch --branch ${branch} https://github.com/SkynetLabs/m go mod download && \ make release -ENV SKYNET_DB_HOST="localhost" -ENV SKYNET_DB_PORT="27017" -ENV SKYNET_DB_USER="username" -ENV SKYNET_DB_PASS="password" -ENV MALWARE_SCANNER_PORT=4000 +ARG SKYNET_DB_HOST=localhost +ARG SKYNET_DB_PORT=27017 +ARG SKYNET_DB_USER=username +ARG SKYNET_DB_PASS=password +ARG MALWARE_SCANNER_PORT=4000 ENTRYPOINT ["malware-scanner"] diff --git a/docker/clamav/clamd.conf b/docker/malware-scanner/clamd.conf similarity index 100% rename from docker/clamav/clamd.conf rename to docker/malware-scanner/clamd.conf From f92ff89d713187cdf6fa41687f2330c815de757a Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 11 Nov 2021 10:34:50 +0100 Subject: [PATCH 155/564] Use the `malware-scanner` data dir. --- docker-compose.malware-scanner.yml | 5 ++--- docker/accounts/Dockerfile | 2 +- docker/malware-scanner/Dockerfile | 12 +++++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docker-compose.malware-scanner.yml b/docker-compose.malware-scanner.yml index 09b595c2..ec1eca9f 100644 --- a/docker-compose.malware-scanner.yml +++ b/docker-compose.malware-scanner.yml @@ -14,8 +14,8 @@ services: restart: on-failure logging: *default-logging volumes: - - ./docker/data/clamav/defs:/var/lib/clamav - - ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro + - ./docker/data/malware-scanner/clamav/defs:/var/lib/clamav + - ./docker/malware-scanner/clamd.conf:/etc/clamav/clamd.conf:ro expose: - 3310 # NEVER expose this outside of the local network! deploy: @@ -38,7 +38,6 @@ services: env_file: - .env environment: - - SKYNET_DB_HOST=${SKYNET_DB_HOST} - CLAMAV_IP=${CLAMAV_IP:-10.10.10.100} - CLAMAV_PORT=${CLAMAV_PORT:-3310} expose: diff --git a/docker/accounts/Dockerfile b/docker/accounts/Dockerfile index f1670bf4..5cbf359a 100644 --- a/docker/accounts/Dockerfile +++ b/docker/accounts/Dockerfile @@ -1,5 +1,5 @@ FROM golang:1.16.7 -LABEL maintainer="NebulousLabs " +LABEL maintainer="SkynetLabs " ENV GOOS linux ENV GOARCH amd64 diff --git a/docker/malware-scanner/Dockerfile b/docker/malware-scanner/Dockerfile index c1f45d33..c7362ef1 100644 --- a/docker/malware-scanner/Dockerfile +++ b/docker/malware-scanner/Dockerfile @@ -13,10 +13,12 @@ RUN git clone --single-branch --branch ${branch} https://github.com/SkynetLabs/m go mod download && \ make release -ARG SKYNET_DB_HOST=localhost -ARG SKYNET_DB_PORT=27017 -ARG SKYNET_DB_USER=username -ARG SKYNET_DB_PASS=password -ARG MALWARE_SCANNER_PORT=4000 +ENV SKYNET_DB_HOST="localhost" +ENV SKYNET_DB_PORT="27017" +ENV SKYNET_DB_USER="username" +ENV SKYNET_DB_PASS="password" +ENV MALWARE_SCANNER_PORT=4000 +ENV CLAMAV_IP=127.0.0.1 +ENV CLAMAV_PORT=3310 ENTRYPOINT ["malware-scanner"] From 2cd8650aad1c55a40d50c5d7343de8faeb115bd2 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 11 Nov 2021 12:30:30 +0100 Subject: [PATCH 156/564] Change branch --- docker-compose.malware-scanner.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.malware-scanner.yml b/docker-compose.malware-scanner.yml index ec1eca9f..755ded71 100644 --- a/docker-compose.malware-scanner.yml +++ b/docker-compose.malware-scanner.yml @@ -31,7 +31,7 @@ services: context: ./docker/malware-scanner dockerfile: Dockerfile args: - branch: tmp + branch: ivo/impl container_name: malware-scanner restart: unless-stopped logging: *default-logging From 5e12b2b1cb3b9dccb451b651e0ff72f6685037f8 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 11 Nov 2021 13:33:44 +0100 Subject: [PATCH 157/564] Update docker-compose.malware-scanner.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Karol Wypchło --- docker-compose.malware-scanner.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.malware-scanner.yml b/docker-compose.malware-scanner.yml index 755ded71..14a0f5ee 100644 --- a/docker-compose.malware-scanner.yml +++ b/docker-compose.malware-scanner.yml @@ -14,8 +14,8 @@ services: restart: on-failure logging: *default-logging volumes: - - ./docker/data/malware-scanner/clamav/defs:/var/lib/clamav - - ./docker/malware-scanner/clamd.conf:/etc/clamav/clamd.conf:ro + - ./docker/data/clamav/clamav/defs:/var/lib/clamav + - ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro expose: - 3310 # NEVER expose this outside of the local network! deploy: From b34d2132745e9a4a09f0f1248cc84b05e07dc486 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 11 Nov 2021 13:33:52 +0100 Subject: [PATCH 158/564] Update docker/malware-scanner/Dockerfile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Karol Wypchło --- docker/malware-scanner/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/malware-scanner/Dockerfile b/docker/malware-scanner/Dockerfile index c7362ef1..980a1aa9 100644 --- a/docker/malware-scanner/Dockerfile +++ b/docker/malware-scanner/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.17 +FROM golang:1.17.3 LABEL maintainer="SkynetLabs " ENV GOOS linux From e0520de05e3edcb2a1abc6d613f87f2cb7a0da68 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Thu, 11 Nov 2021 16:59:51 +0100 Subject: [PATCH 159/564] introduce hard upload limits --- docker/nginx/conf.d/server/server.api | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 389a2d7f..34dca82e 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -139,7 +139,7 @@ location /skynet/skyfile { limit_req zone=uploads_by_ip burst=100 nodelay; limit_req zone=uploads_by_ip_throttled; - limit_conn upload_conn 10; + limit_conn upload_conn 2; limit_conn upload_conn_rl 1; client_max_body_size 1000M; # make sure to limit the size of upload to a sane value @@ -174,6 +174,12 @@ location /skynet/tus { include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response include /etc/nginx/conf.d/include/track-upload; + limit_req zone=uploads_by_ip burst=100 nodelay; + limit_req zone=uploads_by_ip_throttled; + + limit_conn upload_conn 2; + limit_conn upload_conn_rl 1; + # TUS chunks size is 40M + leaving 10M of breathing room client_max_body_size 50M; @@ -239,6 +245,12 @@ location /skynet/pin { include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/generate-siapath; + limit_req zone=uploads_by_ip burst=100 nodelay; + limit_req zone=uploads_by_ip_throttled; + + limit_conn upload_conn 2; + limit_conn upload_conn_rl 1; + proxy_set_header User-Agent: Sia-Agent; proxy_pass http://sia:9980$uri?siapath=$dir1/$dir2/$dir3&$args; } From c0eb41d10d77e8a151f5c36a1b009e4c2a085661 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Thu, 11 Nov 2021 17:17:53 +0100 Subject: [PATCH 160/564] Set burst to 2. --- docker/nginx/conf.d/server/server.api | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 34dca82e..01de2ad5 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -136,7 +136,7 @@ location /skynet/skyfile { include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/generate-siapath; - limit_req zone=uploads_by_ip burst=100 nodelay; + limit_req zone=uploads_by_ip burst=2 nodelay; limit_req zone=uploads_by_ip_throttled; limit_conn upload_conn 2; @@ -174,7 +174,7 @@ location /skynet/tus { include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response include /etc/nginx/conf.d/include/track-upload; - limit_req zone=uploads_by_ip burst=100 nodelay; + limit_req zone=uploads_by_ip burst=2 nodelay; limit_req zone=uploads_by_ip_throttled; limit_conn upload_conn 2; @@ -245,7 +245,7 @@ location /skynet/pin { include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/generate-siapath; - limit_req zone=uploads_by_ip burst=100 nodelay; + limit_req zone=uploads_by_ip burst=2 nodelay; limit_req zone=uploads_by_ip_throttled; limit_conn upload_conn 2; From a0789be7a49837f86c310ddd67c4a430462e62de Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Fri, 12 Nov 2021 18:04:26 +0100 Subject: [PATCH 161/564] Move the clamd.conf where it should be. --- docker/{malware-scanner => clamav}/clamd.conf | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docker/{malware-scanner => clamav}/clamd.conf (100%) diff --git a/docker/malware-scanner/clamd.conf b/docker/clamav/clamd.conf similarity index 100% rename from docker/malware-scanner/clamd.conf rename to docker/clamav/clamd.conf From 030b8b94198728537a5ad2cf39d5a8e45e937e13 Mon Sep 17 00:00:00 2001 From: Ivaylo Novakov Date: Fri, 12 Nov 2021 18:10:38 +0100 Subject: [PATCH 162/564] Set burst to 10, parallel to 5. --- docker/nginx/conf.d/server/server.api | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker/nginx/conf.d/server/server.api b/docker/nginx/conf.d/server/server.api index 01de2ad5..07be6fcb 100644 --- a/docker/nginx/conf.d/server/server.api +++ b/docker/nginx/conf.d/server/server.api @@ -136,10 +136,10 @@ location /skynet/skyfile { include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/generate-siapath; - limit_req zone=uploads_by_ip burst=2 nodelay; + limit_req zone=uploads_by_ip burst=10 nodelay; limit_req zone=uploads_by_ip_throttled; - limit_conn upload_conn 2; + limit_conn upload_conn 5; limit_conn upload_conn_rl 1; client_max_body_size 1000M; # make sure to limit the size of upload to a sane value @@ -174,10 +174,10 @@ location /skynet/tus { include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response include /etc/nginx/conf.d/include/track-upload; - limit_req zone=uploads_by_ip burst=2 nodelay; + limit_req zone=uploads_by_ip burst=10 nodelay; limit_req zone=uploads_by_ip_throttled; - limit_conn upload_conn 2; + limit_conn upload_conn 5; limit_conn upload_conn_rl 1; # TUS chunks size is 40M + leaving 10M of breathing room @@ -245,10 +245,10 @@ location /skynet/pin { include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/generate-siapath; - limit_req zone=uploads_by_ip burst=2 nodelay; + limit_req zone=uploads_by_ip burst=10 nodelay; limit_req zone=uploads_by_ip_throttled; - limit_conn upload_conn 2; + limit_conn upload_conn 5; limit_conn upload_conn_rl 1; proxy_set_header User-Agent: Sia-Agent; From 74084a8da88bf8e4a60d0b3ac6d84879eb09bf46 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Sat, 13 Nov 2021 01:13:34 +0100 Subject: [PATCH 163/564] upgrade accounts to new api --- .gitignore | 11 - docker-compose.accounts.yml | 105 +- docker/accounts/Dockerfile | 2 +- docker/cockroach/certs/README.md | 2 - docker/kratos/config/identity.schema.json | 31 - docker/kratos/config/kratos.yml.sample | 86 -- .../config/oidc/identity.traits.schema.json | 37 - docker/kratos/config/oidc/oidc.github.jsonnet | 17 - docker/kratos/cr_certs/README.md | 7 - docker/kratos/oathkeeper/access-rules.yml | 116 -- docker/kratos/oathkeeper/oathkeeper.yml | 94 -- docker/nginx/conf.d/server/server.account | 16 +- packages/dashboard/.env | 4 - packages/dashboard/.eslintrc.json | 6 + packages/dashboard/Dockerfile | 4 +- packages/dashboard/package.json | 18 +- .../src/components/Form/SelfServiceForm.js | 85 +- .../components/Form/SelfServiceMessages.js | 3 +- packages/dashboard/src/components/Layout.js | 34 +- packages/dashboard/src/components/Table.js | 4 +- packages/dashboard/src/config.js | 9 - packages/dashboard/src/pages/_app.js | 9 +- .../dashboard/src/pages/api/accounts/login.js | 21 - .../dashboard/src/pages/api/stripe/billing.js | 10 +- .../src/pages/api/stripe/checkout.js | 16 +- .../src/pages/api/stripe/subscription.js | 23 - .../src/pages/api/stubs/stripe/prices.js | 37 - .../dashboard/src/pages/api/stubs/user.js | 5 - .../dashboard/src/pages/api/stubs/user.json | 12 - .../src/pages/api/stubs/user/downloads.js | 8 - .../src/pages/api/stubs/user/downloads.json | 44 - .../src/pages/api/stubs/user/stats.js | 5 - .../src/pages/api/stubs/user/stats.json | 13 - .../src/pages/api/stubs/user/uploads.js | 8 - .../src/pages/api/stubs/user/uploads.json | 44 - packages/dashboard/src/pages/auth/login.js | 94 +- .../src/pages/{ => auth}/recovery.js | 98 +- .../dashboard/src/pages/auth/registration.js | 125 +- packages/dashboard/src/pages/downloads.js | 15 +- packages/dashboard/src/pages/index.js | 31 +- packages/dashboard/src/pages/payments.js | 42 +- packages/dashboard/src/pages/plans.js | 8 +- packages/dashboard/src/pages/settings.js | 79 -- packages/dashboard/src/pages/uploads.js | 19 +- packages/dashboard/src/pages/user/confirm.js | 57 + .../src/pages/{error.js => user/recover.js} | 91 +- packages/dashboard/src/pages/user/settings.js | 85 ++ packages/dashboard/src/pages/verify.js | 103 -- .../dashboard/src/services/accountsApi.js | 5 + .../src/services/authServerSideProps.js | 37 - .../dashboard/src/services/useAccountsApi.js | 14 +- .../dashboard/src/services/useAnonRoute.js | 16 + packages/dashboard/stubs/login.json | 45 - packages/dashboard/stubs/recovery.json | 31 - packages/dashboard/stubs/registration.json | 58 - packages/dashboard/stubs/settings.json | 49 - packages/dashboard/styles/Home.module.css | 122 -- packages/dashboard/styles/globals.css | 19 +- packages/dashboard/tailwind.config.js | 61 +- packages/dashboard/yarn.lock | 1057 ++++++++++++++++- 60 files changed, 1603 insertions(+), 1704 deletions(-) delete mode 100644 docker/cockroach/certs/README.md delete mode 100644 docker/kratos/config/identity.schema.json delete mode 100644 docker/kratos/config/kratos.yml.sample delete mode 100644 docker/kratos/config/oidc/identity.traits.schema.json delete mode 100644 docker/kratos/config/oidc/oidc.github.jsonnet delete mode 100644 docker/kratos/cr_certs/README.md delete mode 100644 docker/kratos/oathkeeper/access-rules.yml delete mode 100644 docker/kratos/oathkeeper/oathkeeper.yml delete mode 100644 packages/dashboard/.env create mode 100644 packages/dashboard/.eslintrc.json delete mode 100644 packages/dashboard/src/pages/api/accounts/login.js delete mode 100644 packages/dashboard/src/pages/api/stripe/subscription.js delete mode 100644 packages/dashboard/src/pages/api/stubs/stripe/prices.js delete mode 100644 packages/dashboard/src/pages/api/stubs/user.js delete mode 100644 packages/dashboard/src/pages/api/stubs/user.json delete mode 100644 packages/dashboard/src/pages/api/stubs/user/downloads.js delete mode 100644 packages/dashboard/src/pages/api/stubs/user/downloads.json delete mode 100644 packages/dashboard/src/pages/api/stubs/user/stats.js delete mode 100644 packages/dashboard/src/pages/api/stubs/user/stats.json delete mode 100644 packages/dashboard/src/pages/api/stubs/user/uploads.js delete mode 100644 packages/dashboard/src/pages/api/stubs/user/uploads.json rename packages/dashboard/src/pages/{ => auth}/recovery.js (69%) delete mode 100644 packages/dashboard/src/pages/settings.js create mode 100644 packages/dashboard/src/pages/user/confirm.js rename packages/dashboard/src/pages/{error.js => user/recover.js} (61%) create mode 100644 packages/dashboard/src/pages/user/settings.js delete mode 100644 packages/dashboard/src/pages/verify.js create mode 100644 packages/dashboard/src/services/accountsApi.js delete mode 100644 packages/dashboard/src/services/authServerSideProps.js create mode 100644 packages/dashboard/src/services/useAnonRoute.js delete mode 100644 packages/dashboard/stubs/login.json delete mode 100644 packages/dashboard/stubs/recovery.json delete mode 100644 packages/dashboard/stubs/registration.json delete mode 100644 packages/dashboard/stubs/settings.json delete mode 100644 packages/dashboard/styles/Home.module.css diff --git a/.gitignore b/.gitignore index 0900fafd..f5cca07b 100644 --- a/.gitignore +++ b/.gitignore @@ -53,7 +53,6 @@ typings/ # dotenv environment variable files .env* -./docker/kratos/config/kratos.yml # Mac files .DS_Store @@ -86,13 +85,3 @@ docker/nginx/conf.d/server-override/* __pycache__ /.idea/ /venv* - -# CockroachDB certificates -docker/cockroach/certs/*.crt -docker/cockroach/certs/*.key -docker/kratos/cr_certs/*.crt -docker/kratos/cr_certs/*.key - -# Oathkeeper JWKS signing token -docker/kratos/oathkeeper/id_token.jwks.json -/docker/kratos/config/kratos.yml diff --git a/docker-compose.accounts.yml b/docker-compose.accounts.yml index 0ce21695..ac6e72cc 100644 --- a/docker-compose.accounts.yml +++ b/docker-compose.accounts.yml @@ -29,18 +29,22 @@ services: env_file: - .env environment: - - SKYNET_DB_HOST=${SKYNET_DB_HOST} - - SKYNET_DB_PORT=${SKYNET_DB_PORT} - - SKYNET_DB_USER=${SKYNET_DB_USER} - - SKYNET_DB_PASS=${SKYNET_DB_PASS} + - ACCOUNTS_EMAIL_URI=${ACCOUNTS_EMAIL_URI} + - ACCOUNTS_JWKS_FILE=/data/jwks.json - COOKIE_DOMAIN=${COOKIE_DOMAIN} - COOKIE_HASH_KEY=${COOKIE_HASH_KEY} - COOKIE_ENC_KEY=${COOKIE_ENC_KEY} + - PORTAL_DOMAIN=${PORTAL_DOMAIN} + - SERVER_DOMAIN=${SERVER_DOMAIN} + - SKYNET_DB_HOST=${SKYNET_DB_HOST:-mongo} + - SKYNET_DB_PORT=${SKYNET_DB_PORT:-27017} + - SKYNET_DB_USER=${SKYNET_DB_USER} + - SKYNET_DB_PASS=${SKYNET_DB_PASS} - STRIPE_API_KEY=${STRIPE_API_KEY} - STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET} - - SKYNET_ACCOUNTS_LOG_LEVEL=${SKYNET_ACCOUNTS_LOG_LEVEL} - - KRATOS_ADDR=${KRATOS_ADDR} - - OATHKEEPER_ADDR=${OATHKEEPER_ADDR} + - SKYNET_ACCOUNTS_LOG_LEVEL=${SKYNET_ACCOUNTS_LOG_LEVEL:-info} + volumes: + - ./docker/data/accounts:/data expose: - 3000 networks: @@ -48,50 +52,6 @@ services: ipv4_address: 10.10.10.70 depends_on: - mongo - - oathkeeper - - kratos-migrate: - image: oryd/kratos:v0.5.5-alpha.1 - container_name: kratos-migrate - restart: "no" - logging: *default-logging - environment: - - DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt - - SQA_OPT_OUT=true - volumes: - - ./docker/kratos/config:/etc/config/kratos - - ./docker/data/cockroach/sqlite:/var/lib/sqlite - - ./docker/kratos/cr_certs:/certs - command: -c /etc/config/kratos/kratos.yml migrate sql -e --yes - networks: - shared: - ipv4_address: 10.10.10.80 - depends_on: - - cockroach - - kratos: - image: oryd/kratos:v0.5.5-alpha.1 - container_name: kratos - restart: unless-stopped - logging: *default-logging - expose: - - 4433 # public - - 4434 # admin - environment: - - DSN=cockroach://root@cockroach:26257/defaultdb?max_conns=20&max_idle_conns=4&sslmode=verify-full&sslcert=/certs/node.crt&sslkey=/certs/node.key&sslrootcert=/certs/ca.crt - - LOG_LEVEL=trace - - SERVE_PUBLIC_BASE_URL=${SKYNET_DASHBOARD_URL}/.ory/kratos/public/ - - SQA_OPT_OUT=true - command: serve -c /etc/config/kratos/kratos.yml - volumes: - - ./docker/kratos/config:/etc/config/kratos - - ./docker/data/cockroach/sqlite:/var/lib/sqlite - - ./docker/kratos/cr_certs:/certs - networks: - shared: - ipv4_address: 10.10.10.81 - depends_on: - - kratos-migrate dashboard: build: @@ -105,50 +65,13 @@ services: environment: - NEXT_PUBLIC_SKYNET_PORTAL_API=${SKYNET_PORTAL_API} - NEXT_PUBLIC_SKYNET_DASHBOARD_URL=${SKYNET_DASHBOARD_URL} - - NEXT_PUBLIC_KRATOS_BROWSER_URL=${SKYNET_DASHBOARD_URL}/.ory/kratos/public - - NEXT_PUBLIC_KRATOS_PUBLIC_URL=http://oathkeeper:4455/.ory/kratos/public - NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLISHABLE_KEY} + volumes: + - ./docker/data/dashboard/.next:/usr/app/.next networks: shared: ipv4_address: 10.10.10.85 expose: - 3000 depends_on: - - oathkeeper - - oathkeeper: - image: oryd/oathkeeper:v0.38 - container_name: oathkeeper - expose: - - 4455 - - 4456 - command: serve proxy -c "/etc/config/oathkeeper/oathkeeper.yml" - environment: - - LOG_LEVEL=debug - volumes: - - ./docker/kratos/oathkeeper:/etc/config/oathkeeper - restart: on-failure - logging: *default-logging - networks: - shared: - ipv4_address: 10.10.10.83 - depends_on: - - kratos - - cockroach: - image: cockroachdb/cockroach:v20.2.3 - container_name: cockroach - restart: unless-stopped - logging: *default-logging - env_file: - - .env - command: start --advertise-addr=${CR_IP} --join=${CR_CLUSTER_NODES} --certs-dir=/certs --listen-addr=0.0.0.0:26257 --http-addr=0.0.0.0:8080 - volumes: - - ./docker/data/cockroach/sqlite:/cockroach/cockroach-data - - ./docker/cockroach/certs:/certs - ports: - - "4080:8080" - - "26257:26257" - networks: - shared: - ipv4_address: 10.10.10.84 + - mongo diff --git a/docker/accounts/Dockerfile b/docker/accounts/Dockerfile index f1670bf4..4ec4a69e 100644 --- a/docker/accounts/Dockerfile +++ b/docker/accounts/Dockerfile @@ -1,5 +1,5 @@ FROM golang:1.16.7 -LABEL maintainer="NebulousLabs " +LABEL maintainer="NebulousLabs " ENV GOOS linux ENV GOARCH amd64 diff --git a/docker/cockroach/certs/README.md b/docker/cockroach/certs/README.md deleted file mode 100644 index fd957133..00000000 --- a/docker/cockroach/certs/README.md +++ /dev/null @@ -1,2 +0,0 @@ -This directory needs to contain all certificates needed by this cockroachdb node. Those can be generated by the steps -outlined in the README in the root directory, under "Setting up CockroachDB". diff --git a/docker/kratos/config/identity.schema.json b/docker/kratos/config/identity.schema.json deleted file mode 100644 index 781fc761..00000000 --- a/docker/kratos/config/identity.schema.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Person", - "type": "object", - "properties": { - "traits": { - "type": "object", - "properties": { - "email": { - "type": "string", - "format": "email", - "title": "E-Mail", - "minLength": 3, - "ory.sh/kratos": { - "credentials": { - "password": { - "identifier": true - } - }, - "recovery": { - "via": "email" - } - } - } - }, - "required": ["email"], - "additionalProperties": true - } - } -} diff --git a/docker/kratos/config/kratos.yml.sample b/docker/kratos/config/kratos.yml.sample deleted file mode 100644 index 15442f0f..00000000 --- a/docker/kratos/config/kratos.yml.sample +++ /dev/null @@ -1,86 +0,0 @@ -version: v0.5.5-alpha.1 - -dsn: memory - -serve: - public: - base_url: http://127.0.0.1/ - cors: - enabled: true - admin: - base_url: http://127.0.0.1/admin/ - -selfservice: - default_browser_return_url: http://127.0.0.1/ - whitelisted_return_urls: - - http://127.0.0.1/ - - methods: - password: - enabled: true - - flows: - error: - ui_url: http://127.0.0.1/error - - settings: - ui_url: http://127.0.0.1/settings - privileged_session_max_age: 15m - - recovery: - enabled: true - ui_url: http://127.0.0.1/recovery - - verification: - enabled: true - ui_url: http://127.0.0.1/verify - after: - default_browser_return_url: http://127.0.0.1/ - - logout: - after: - default_browser_return_url: http://127.0.0.1/auth/login - - login: - ui_url: http://127.0.0.1/auth/login - lifespan: 10m - - registration: - lifespan: 10m - ui_url: http://127.0.0.1/auth/registration - after: - password: - hooks: - - hook: session - -log: - level: debug - format: text - leak_sensitive_values: true - -password: - max_breaches: 100 - -secrets: - cookie: - - PLEASE-CHANGE-ME-I-AM-VERY-INSECURE - -session: - cookie: - domain: account.siasky.net - lifespan: "720h" - -hashers: - argon2: - parallelism: 1 - memory: 131072 - iterations: 2 - salt_length: 16 - key_length: 16 - -identity: - default_schema_url: file:///etc/config/kratos/identity.schema.json - -courier: - smtp: - connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true diff --git a/docker/kratos/config/oidc/identity.traits.schema.json b/docker/kratos/config/oidc/identity.traits.schema.json deleted file mode 100644 index 62de3d1b..00000000 --- a/docker/kratos/config/oidc/identity.traits.schema.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Person", - "type": "object", - "properties": { - "traits": { - "type": "object", - "properties": { - "email": { - "type": "string", - "format": "email", - "title": "E-Mail", - "minLength": 3, - "ory.sh/kratos": { - "credentials": { - "password": { - "identifier": true - } - }, - "verification": { - "via": "email" - }, - "recovery": { - "via": "email" - } - } - }, - "website": { - "type": "object" - } - }, - "required": ["website", "email"], - "additionalProperties": false - } - } -} diff --git a/docker/kratos/config/oidc/oidc.github.jsonnet b/docker/kratos/config/oidc/oidc.github.jsonnet deleted file mode 100644 index 06b92bf9..00000000 --- a/docker/kratos/config/oidc/oidc.github.jsonnet +++ /dev/null @@ -1,17 +0,0 @@ -local claims = { - email_verified: false -} + std.extVar('claims'); - -{ - identity: { - traits: { - // Allowing unverified email addresses enables account - // enumeration attacks, especially if the value is used for - // e.g. verification or as a password login identifier. - // - // Therefore we only return the email if it (a) exists and (b) is marked verified - // by GitHub. - [if "email" in claims && claims.email_verified then "email" else null]: claims.email, - }, - }, -} diff --git a/docker/kratos/cr_certs/README.md b/docker/kratos/cr_certs/README.md deleted file mode 100644 index 72e8dda8..00000000 --- a/docker/kratos/cr_certs/README.md +++ /dev/null @@ -1,7 +0,0 @@ -This directory needs to contain all certificates needed by this cockroachdb node. Those can be generated by the steps -outlined in the README in the root directory, under "Setting up CockroachDB". - -The only difference between the files here and those under -`docker/cockroach/certs` is that the files here need to be readable by anyone, while the files under `cockroach` need to -have their original access rights -(all \*.key files should be 600 instead of 644 there). diff --git a/docker/kratos/oathkeeper/access-rules.yml b/docker/kratos/oathkeeper/access-rules.yml deleted file mode 100644 index 75bdee65..00000000 --- a/docker/kratos/oathkeeper/access-rules.yml +++ /dev/null @@ -1,116 +0,0 @@ -- id: "ory:kratos:public" - upstream: - preserve_host: true - url: "http://kratos:4433" - strip_path: /.ory/kratos/public - match: - url: "http://oathkeeper:4455/.ory/kratos/public/<**>" - methods: - - GET - - POST - - PUT - - DELETE - - PATCH - authenticators: - - handler: noop - authorizer: - handler: allow - mutators: - - handler: noop - -- id: "dashboard:anonymous" - upstream: - preserve_host: true - url: "http://dashboard:3000" - match: - url: "http://oathkeeper:4455/<{_next/**,auth/**,recovery,verify,error,favicon.ico}{/,}>" - methods: - - GET - authenticators: - - handler: anonymous - authorizer: - handler: allow - mutators: - - handler: noop - -- id: "dashboard:protected" - upstream: - preserve_host: true - url: "http://dashboard:3000" - match: - url: "http://oathkeeper:4455/<{,api/**,settings,uploads,downloads,payments}>" - methods: - - GET - - POST - - PUT - - DELETE - - PATCH - authenticators: - - handler: cookie_session - authorizer: - handler: allow - mutators: - - handler: id_token - - handler: header - config: - headers: - X-User: "{{ print .Subject }}" - errors: - - handler: redirect - config: - to: http://127.0.0.1/auth/login - -- id: "accounts:anonymous" - upstream: - preserve_host: true - url: "http://accounts:3000" - match: - url: "http://oathkeeper<{,:4455}>/<{health,stripe/prices,stripe/webhook}>" - methods: - - GET - - POST - authenticators: - - handler: anonymous - authorizer: - handler: allow - mutators: - - handler: noop - -- id: "accounts:public" - upstream: - preserve_host: true - url: "http://accounts:3000" - match: - url: "http://oathkeeper<{,:4455}>/<{user/limits}>" - methods: - - GET - authenticators: - - handler: cookie_session - - handler: noop - authorizer: - handler: allow - mutators: - - handler: id_token - -- id: "accounts:protected" - upstream: - preserve_host: true - url: "http://accounts:3000" - match: - url: "http://oathkeeper<{,:4455}>/<{login,logout,user,user/uploads,user/uploads/*,user/downloads,user/stats}>" - methods: - - GET - - POST - - PUT - - DELETE - - PATCH - authenticators: - - handler: cookie_session - authorizer: - handler: allow - mutators: - - handler: id_token - errors: - - handler: redirect - config: - to: http://127.0.0.1/auth/login diff --git a/docker/kratos/oathkeeper/oathkeeper.yml b/docker/kratos/oathkeeper/oathkeeper.yml deleted file mode 100644 index 6436c2ee..00000000 --- a/docker/kratos/oathkeeper/oathkeeper.yml +++ /dev/null @@ -1,94 +0,0 @@ -log: - level: debug - format: json - -serve: - proxy: - cors: - enabled: true - allowed_origins: - - "*" - allowed_methods: - - POST - - GET - - PUT - - PATCH - - DELETE - allowed_headers: - - Authorization - - Content-Type - exposed_headers: - - Content-Type - allow_credentials: true - debug: true - -errors: - fallback: - - json - - handlers: - redirect: - enabled: true - config: - to: http://127.0.0.1/auth/login - when: - - error: - - unauthorized - - forbidden - request: - header: - accept: - - text/html - json: - enabled: true - config: - verbose: true - -access_rules: - matching_strategy: glob - repositories: - - file:///etc/config/oathkeeper/access-rules.yml - -authenticators: - anonymous: - enabled: true - config: - subject: guest - - cookie_session: - enabled: true - config: - check_session_url: http://kratos:4433/sessions/whoami - preserve_path: true - extra_from: "@this" - subject_from: "identity.id" - only: - - ory_kratos_session - - noop: - enabled: true - -authorizers: - allow: - enabled: true - -mutators: - noop: - enabled: true - - header: - enabled: true - config: - headers: - X-User: "{{ print .Subject }}" - - id_token: - enabled: true - config: - issuer_url: http://oathkeeper:4455/ - jwks_url: file:///etc/config/oathkeeper/id_token.jwks.json - ttl: 720h - claims: | - { - "session": {{ .Extra | toJson }} - } diff --git a/docker/nginx/conf.d/server/server.account b/docker/nginx/conf.d/server/server.account index 5c524a52..47ac31cd 100644 --- a/docker/nginx/conf.d/server/server.account +++ b/docker/nginx/conf.d/server/server.account @@ -5,6 +5,18 @@ include /etc/nginx/conf.d/include/ssl-settings; include /etc/nginx/conf.d/include/init-optional-variables; location / { - proxy_redirect http://127.0.0.1/ https://$host/; - proxy_pass http://oathkeeper:4455; + proxy_pass http://dashboard:3000; +} + +location /api/stripe/billing { + proxy_pass http://dashboard:3000; +} + +location /api/stripe/checkout { + proxy_pass http://dashboard:3000; +} + +location /api { + rewrite /api/(.*) /$1 break; + proxy_pass http://accounts:3000; } diff --git a/packages/dashboard/.env b/packages/dashboard/.env deleted file mode 100644 index bb640cd8..00000000 --- a/packages/dashboard/.env +++ /dev/null @@ -1,4 +0,0 @@ -NEXT_PUBLIC_SKYNET_PORTAL_API=https://siasky.net -NEXT_PUBLIC_SKYNET_DASHBOARD_URL=https://account.siasky.net -NEXT_PUBLIC_KRATOS_BROWSER_URL=https://account.siasky.net/.ory/kratos/public -NEXT_PUBLIC_KRATOS_PUBLIC_URL=https://account.siasky.net/.ory/kratos/public diff --git a/packages/dashboard/.eslintrc.json b/packages/dashboard/.eslintrc.json new file mode 100644 index 00000000..130d98c1 --- /dev/null +++ b/packages/dashboard/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "extends": "next/core-web-vitals", + "rules": { + "@next/next/no-html-link-for-pages": "off" + } +} diff --git a/packages/dashboard/Dockerfile b/packages/dashboard/Dockerfile index 1eb955d7..57a3d7ab 100644 --- a/packages/dashboard/Dockerfile +++ b/packages/dashboard/Dockerfile @@ -10,6 +10,6 @@ RUN yarn --frozen-lockfile COPY public ./public COPY src ./src COPY styles ./styles -COPY postcss.config.js tailwind.config.js ./ +COPY .eslintrc.json postcss.config.js tailwind.config.js ./ -CMD ["sh", "-c", "env | grep -E 'NEXT_PUBLIC|KRATOS|STRIPE' > .env.local && yarn build && yarn start"] +CMD ["sh", "-c", "env | grep -E 'NEXT_PUBLIC|STRIPE' > .env.local && yarn build && yarn start"] diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 80c0a2b6..14dcd063 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -8,11 +8,10 @@ "start": "next start" }, "dependencies": { - "@fontsource/metropolis": "4.5.0", - "@ory/kratos-client": "0.5.4-alpha.1", + "@fontsource/sora": "4.5.0", + "@fontsource/source-sans-pro": "4.5.0", "@stripe/react-stripe-js": "1.6.0", "@stripe/stripe-js": "1.21.1", - "@tailwindcss/forms": "0.3.4", "autoprefixer": "10.4.0", "classnames": "2.3.1", "copy-text-to-clipboard": "^3.0.1", @@ -21,7 +20,7 @@ "fast-levenshtein": "3.0.0", "formik": "2.2.9", "http-status-codes": "2.1.4", - "ky": "0.25.1", + "ky": "0.28.7", "next": "12.0.3", "normalize.css": "8.0.1", "postcss": "8.3.11", @@ -31,13 +30,16 @@ "react-dom": "17.0.2", "react-toastify": "8.1.0", "skynet-js": "3.0.2", - "stripe": "8.186.1", + "stripe": "8.188.0", "superagent": "6.1.0", "swr": "1.0.1", - "tailwindcss": "2.2.19", "yup": "0.32.11" }, - "resolutions": { - "axios": "0.21.4" + "devDependencies": { + "@tailwindcss/forms": "0.3.4", + "@tailwindcss/typography": "0.4.1", + "eslint": "<8.0.0", + "eslint-config-next": "12.0.3", + "tailwindcss": "2.2.19" } } diff --git a/packages/dashboard/src/components/Form/SelfServiceForm.js b/packages/dashboard/src/components/Form/SelfServiceForm.js index 67e4f717..b4d086ad 100644 --- a/packages/dashboard/src/components/Form/SelfServiceForm.js +++ b/packages/dashboard/src/components/Form/SelfServiceForm.js @@ -1,25 +1,44 @@ +import * as React from "react"; import { useFormik, getIn, setIn } from "formik"; import classnames from "classnames"; import SelfServiceMessages from "./SelfServiceMessages"; -export default function SelfServiceForm({ flow, config, fieldsConfig, title, button = "Submit" }) { - const fields = config.fields - .filter((field) => !field.name.startsWith("traits.name")) // drop name fields - .map((field) => ({ ...field, ...fieldsConfig[field.name] })) - .sort((a, b) => (a.position < b.position ? -1 : 1)); +export default function SelfServiceForm({ fieldsConfig, onSubmit, title, validationSchema = null, button = "Submit" }) { + const [messages, setMessages] = React.useState([]); + const fields = fieldsConfig.sort((a, b) => (a.position < b.position ? -1 : 1)); const formik = useFormik({ initialValues: fields.reduce((acc, field) => setIn(acc, field.name, field.value ?? ""), {}), + validationSchema, + onSubmit: async (values) => { + if (!formik.isValid) return; + + setMessages([]); + + try { + await onSubmit(values); + } catch (error) { + if (error.response) { + const data = await error.response.json(); + + if (data.message) { + setMessages((messages) => [...messages, { type: "error", text: data.message }]); + } + } else { + setMessages((messages) => [...messages, { type: "error", text: error.toString() }]); + } + } + }, }); return (
{title &&

{title}

}
-
+ {fields.map((field) => (
- - - {field.checks && ( -
-
    - {field.checks.map((check, index) => ( -
  • -
    - - - - - -
    -
    -

    {check.label}

    -
    -
    -
    -
  • - ))} -
-
+ {formik.errors[field.name] && formik.touched[field.name] && ( +

{formik.errors[field.name]}

)}
@@ -94,9 +75,7 @@ export default function SelfServiceForm({ flow, config, fieldsConfig, title, but {button} - - - {flow && } + {messages.length > 0 && }
diff --git a/packages/dashboard/src/components/Form/SelfServiceMessages.js b/packages/dashboard/src/components/Form/SelfServiceMessages.js index 9395e227..ccaadb32 100644 --- a/packages/dashboard/src/components/Form/SelfServiceMessages.js +++ b/packages/dashboard/src/components/Form/SelfServiceMessages.js @@ -32,8 +32,9 @@ import classnames from "classnames"; export default function SelfServiceMessages({ messages = [] }) { if (!messages) return null; // make sure we don't throw on invalid data - return messages.map(({ text, type }) => ( + return messages.map(({ text, type }, index) => (

- - - + Skynet + @@ -152,7 +142,7 @@ export default function Layout({ title, children }) { aria-orientation="vertical" aria-labelledby="user-menu" > - + Settings @@ -281,7 +271,7 @@ export default function Layout({ title, children }) {

*/}
- + Settings diff --git a/packages/dashboard/src/components/Table.js b/packages/dashboard/src/components/Table.js index 1c01b1fa..697b7d2c 100644 --- a/packages/dashboard/src/components/Table.js +++ b/packages/dashboard/src/components/Table.js @@ -44,7 +44,7 @@ export default function Table({ items, count, headers, mutate, actions, offset, if (offset < 0) setOffset(0); else if (offset >= count && count > 0) setOffset(Math.floor(count / pageSize - 1) * pageSize); else if (offset % pageSize) setOffset(offset - (offset % pageSize)); - }, [offset, pageSize, setOffset]); + }, [count, offset, pageSize, setOffset]); return (
@@ -104,7 +104,7 @@ export default function Table({ items, count, headers, mutate, actions, offset, )) ) : ( - + no entries diff --git a/packages/dashboard/src/config.js b/packages/dashboard/src/config.js index 326ec4e9..70cf9342 100644 --- a/packages/dashboard/src/config.js +++ b/packages/dashboard/src/config.js @@ -1,13 +1,4 @@ export default { - // https://github.com/ory/kratos-selfservice-ui-node#configuration - kratos: { - // The URL where ORY Kratos's Public API is located at. If this app and ORY Kratos are running in the same - // private network, this should be the private network address (e.g. kratos-public.svc.cluster.local) - public: process.env.NEXT_PUBLIC_KRATOS_PUBLIC_URL.replace(/\/+$/, ""), - // The URL where ORY Kratos's public API is located, when accessible from the public internet via ORY Oathkeeper. - // This could be for example http://kratos.my-app.com/. - browser: process.env.NEXT_PUBLIC_KRATOS_BROWSER_URL.replace(/\/+$/, ""), - }, tiers: { starter: { id: "starter", tier: 1, name: "Free", description: "Pin up to 100GB" }, }, diff --git a/packages/dashboard/src/pages/_app.js b/packages/dashboard/src/pages/_app.js index 811d3a0d..cf1d18e6 100644 --- a/packages/dashboard/src/pages/_app.js +++ b/packages/dashboard/src/pages/_app.js @@ -4,8 +4,13 @@ import { ToastContainer } from "react-toastify"; import Head from "next/head"; import "normalize.css"; import "react-toastify/dist/ReactToastify.css"; -import "tailwindcss/tailwind.css"; -import "@fontsource/metropolis/all.css"; +import "../../styles/globals.css"; +import "@fontsource/sora/300.css"; // light +import "@fontsource/sora/400.css"; // normal +import "@fontsource/sora/500.css"; // medium +import "@fontsource/sora/600.css"; // semibold +import "@fontsource/source-sans-pro/400.css"; // normal +import "@fontsource/source-sans-pro/600.css"; // semibold const stripePromise = loadStripe(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY); diff --git a/packages/dashboard/src/pages/api/accounts/login.js b/packages/dashboard/src/pages/api/accounts/login.js deleted file mode 100644 index 89bad4dc..00000000 --- a/packages/dashboard/src/pages/api/accounts/login.js +++ /dev/null @@ -1,21 +0,0 @@ -import superagent from "superagent"; - -export default async (req, res) => { - if (req.cookies.ory_kratos_session) { - try { - const { header } = await superagent - .post("http://oathkeeper:4455/login") - .set("cookie", `ory_kratos_session=${req.cookies.ory_kratos_session}`); - - res.setHeader("Set-Cookie", header["set-cookie"]); - res.redirect(req.query.return_to ?? "/"); - } catch (error) { - console.log(`Cookie is present but authentication failed: ${error.message}`); - - // credentials were correct but accounts service failed - res.redirect("/.ory/kratos/public/self-service/browser/flows/logout"); - } - } else { - res.redirect("/auth/login"); // redirect to login page if kratos session is missing - } -}; diff --git a/packages/dashboard/src/pages/api/stripe/billing.js b/packages/dashboard/src/pages/api/stripe/billing.js index 0c855ec4..58ef4bc2 100644 --- a/packages/dashboard/src/pages/api/stripe/billing.js +++ b/packages/dashboard/src/pages/api/stripe/billing.js @@ -1,4 +1,4 @@ -import ky from "ky/umd"; +import ky from "ky"; import Stripe from "stripe"; import { StatusCodes } from "http-status-codes"; @@ -11,10 +11,10 @@ const getStripeCustomer = (stripeCustomerId = null) => { return stripe.customers.create(); }; -export default async (req, res) => { +export default async function billingApi(req, res) { try { - const authorization = req.headers.authorization; // authorization header from request - const { stripeCustomerId } = await ky("http://accounts:3000/user", { headers: { authorization } }).json(); + const cookie = req.headers.cookie; // cookie header from request + const { stripeCustomerId } = await ky("http://accounts:3000/user", { headers: { cookie } }).json(); const customer = await getStripeCustomer(stripeCustomerId); const session = await stripe.billingPortal.sessions.create({ customer: customer.id, @@ -25,4 +25,4 @@ export default async (req, res) => { } catch ({ message }) { res.status(StatusCodes.BAD_REQUEST).json({ error: { message } }); } -}; +} diff --git a/packages/dashboard/src/pages/api/stripe/checkout.js b/packages/dashboard/src/pages/api/stripe/checkout.js index 879d8efd..9da694cb 100644 --- a/packages/dashboard/src/pages/api/stripe/checkout.js +++ b/packages/dashboard/src/pages/api/stripe/checkout.js @@ -1,11 +1,11 @@ -import ky from "ky/umd"; +import ky from "ky"; import Stripe from "stripe"; import { StatusCodes } from "http-status-codes"; import { isPaidTier } from "../../../services/tiers"; const stripe = new Stripe(process.env.STRIPE_SECRET_KEY); -const getStripeCustomer = async (user, authorization) => { +const getStripeCustomer = async (user, cookie) => { if (user.stripeCustomerId) { return stripe.customers.retrieve(user.stripeCustomerId); } @@ -13,12 +13,12 @@ const getStripeCustomer = async (user, authorization) => { const customer = await stripe.customers.create(); // update user instance and include the customer id once created - await ky.put(`http://accounts:3000/user`, { headers: { authorization }, json: { stripeCustomerId: customer.id } }); + await ky.put("http://accounts:3000/user", { headers: { cookie }, json: { stripeCustomerId: customer.id } }); return customer; }; -export default async (req, res) => { +export default async function checkoutApi(req, res) { if (req.method !== "POST") { return res.status(StatusCodes.NOT_FOUND).end(); } @@ -30,8 +30,8 @@ export default async (req, res) => { } try { - const authorization = req.headers.authorization; // authorization header from request - const user = await ky("http://accounts:3000/user", { headers: { authorization } }).json(); + const cookie = req.headers.cookie; // cookie header from request + const user = await ky("http://accounts:3000/user", { headers: { cookie } }).json(); if (isPaidTier(user.tier)) { const message = `Customer can have only one active subscription at a time, use Stripe Customer Portal to manage active subscription`; @@ -39,7 +39,7 @@ export default async (req, res) => { return res.status(StatusCodes.BAD_REQUEST).json({ error: { message } }); } - const customer = await getStripeCustomer(user, authorization); + const customer = await getStripeCustomer(user, cookie); const session = await stripe.checkout.sessions.create({ mode: "subscription", payment_method_types: ["card"], @@ -55,4 +55,4 @@ export default async (req, res) => { } catch (error) { res.status(StatusCodes.BAD_REQUEST).json({ error: { message: error.message } }); } -}; +} diff --git a/packages/dashboard/src/pages/api/stripe/subscription.js b/packages/dashboard/src/pages/api/stripe/subscription.js deleted file mode 100644 index 3526d5ac..00000000 --- a/packages/dashboard/src/pages/api/stripe/subscription.js +++ /dev/null @@ -1,23 +0,0 @@ -import ky from "ky/umd"; -import Stripe from "stripe"; -import { StatusCodes } from "http-status-codes"; - -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY); - -export default async (req, res) => { - try { - const authorization = req.headers.authorization; // authorization header from request - const { stripeCustomerId } = await ky("http://accounts:3000/user", { headers: { authorization } }).json(); - const stripeCustomer = await stripe.customers.retrieve(stripeCustomerId, { expand: ["subscriptions"] }); - const { subscriptions } = stripeCustomer; - - // todo: find a better way to get current subscription - if (subscriptions.total_count) { - return res.json(subscriptions.data[0]); - } - - res.status(StatusCodes.NO_CONTENT).end(); - } catch ({ message }) { - res.status(StatusCodes.BAD_REQUEST).json({ error: { message } }); - } -}; diff --git a/packages/dashboard/src/pages/api/stubs/stripe/prices.js b/packages/dashboard/src/pages/api/stubs/stripe/prices.js deleted file mode 100644 index ebf013a3..00000000 --- a/packages/dashboard/src/pages/api/stubs/stripe/prices.js +++ /dev/null @@ -1,37 +0,0 @@ -export default (req, res) => { - res.json([ - { - id: "price_1IReYFIzjULiPWN6DqN2DwjN", - name: "Skynet Extreme", - description: "Skynet Extreme description", - tier: 4, - price: 80, - currency: "usd", - stripe: "price_1IReYFIzjULiPWN6DqN2DwjN", - productId: "prod_J3m6IuVyh3XOc5", - livemode: false, - }, - { - id: "price_1IReY5IzjULiPWN6AxPytHEG", - name: "Skynet Pro", - description: "Skynet Pro description", - tier: 3, - price: 20, - currency: "usd", - stripe: "price_1IReY5IzjULiPWN6AxPytHEG", - productId: "prod_J3m6ioQg90kZj5", - livemode: false, - }, - { - id: "price_1IReXpIzjULiPWN66PvsxHL4", - name: "Skynet Plus", - description: "Skynet Plus description", - tier: 2, - price: 5, - currency: "usd", - stripe: "price_1IReXpIzjULiPWN66PvsxHL4", - productId: "prod_J3m6xMfDiz2LGE", - livemode: false, - }, - ]); -}; diff --git a/packages/dashboard/src/pages/api/stubs/user.js b/packages/dashboard/src/pages/api/stubs/user.js deleted file mode 100644 index 409bf333..00000000 --- a/packages/dashboard/src/pages/api/stubs/user.js +++ /dev/null @@ -1,5 +0,0 @@ -import user from "./user.json"; - -export default (req, res) => { - res.json(user); -}; diff --git a/packages/dashboard/src/pages/api/stubs/user.json b/packages/dashboard/src/pages/api/stubs/user.json deleted file mode 100644 index f41dab0e..00000000 --- a/packages/dashboard/src/pages/api/stubs/user.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "firstName": "John", - "lastName": "Doe", - "email": "john@example.com", - "sub": "ab776d6d-f324-4fa7-4k21-7587d5215481", - "tier": 1, - "subscribedUntil": "0001-01-01T00:00:00Z", - "subscriptionStatus": "active", - "subscriptionCancelAt": "2021-04-21T00:00:00Z", - "subscriptionCancelAtPeriodEnd": true, - "stripeCustomerId": "cus_J0iYnAp6LRgsTI" -} diff --git a/packages/dashboard/src/pages/api/stubs/user/downloads.js b/packages/dashboard/src/pages/api/stubs/user/downloads.js deleted file mode 100644 index c4a24c03..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/downloads.js +++ /dev/null @@ -1,8 +0,0 @@ -import items from "./downloads.json"; - -export default (req, res) => { - const offset = parseInt(req.query?.offset ?? 0, 10); - const pageSize = parseInt(req.query?.pageSize ?? 10, 10); - - res.json({ items: items.slice(offset, offset + pageSize), count: items.length, pageSize, offset }); -}; diff --git a/packages/dashboard/src/pages/api/stubs/user/downloads.json b/packages/dashboard/src/pages/api/stubs/user/downloads.json deleted file mode 100644 index edf6ff0d..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/downloads.json +++ /dev/null @@ -1,44 +0,0 @@ -[ - { - "id": 1111, - "skylink": "PAL0w4SdA5rFCDGEutgpeQ50Om-YkBabtXVOJAkmedslKw", - "name": "ugabuga.pdf", - "size": 123123, - "downloadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 2222, - "skylink": "XABvi7JtJbQSMAcDwnUnmp2FKDPjg8_tTTFP4BwMSxVdEg", - "name": "ugabuga.pdf", - "size": 8912739812, - "downloadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 3333, - "skylink": "IADUs8d9CQjUO34LmdaaNPK_STuZo24rpKVfYW3wPPM2uQ", - "name": "ugabuga.pdf", - "size": 123123, - "downloadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 4444, - "skylink": "_A2zt5SKoqwnnZU4cBF8uBycSKULXMyeg1c5ZISBr2Q3dA", - "name": "ugabuga.pdf", - "size": 83943, - "downloadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 5555, - "skylink": "AAC0uO43g64ULpyrW0zO3bjEknSFbAhm8c-RFP21EQlmSQ", - "name": "ugabuga.pdf", - "size": 3290489120, - "downloadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 6666, - "skylink": "CACqf4NlIMlA0CCCieYGjpViPGyfyJ4v1x3bmuCKZX8FKA", - "name": "ugabuga.pdf", - "size": 1290389, - "downloadedOn": "2020-04-02T08:02:17-05:00" - } -] diff --git a/packages/dashboard/src/pages/api/stubs/user/stats.js b/packages/dashboard/src/pages/api/stubs/user/stats.js deleted file mode 100644 index 81a65545..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/stats.js +++ /dev/null @@ -1,5 +0,0 @@ -import stats from "./stats.json"; - -export default (req, res) => { - res.json(stats); -}; diff --git a/packages/dashboard/src/pages/api/stubs/user/stats.json b/packages/dashboard/src/pages/api/stubs/user/stats.json deleted file mode 100644 index 29696ca2..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/stats.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "storageUsed": 809500672, - "numRegReads": 0, - "numRegWrites": 0, - "numUploads": 13, - "numDownloads": 78, - "totalUploadsSize": 618649028, - "totalDownloadsSize": 32307956843, - "bwUploads": 2810183680, - "bwDownloads": 32323934976, - "bwRegReads": 0, - "bwRegWrites": 0 -} diff --git a/packages/dashboard/src/pages/api/stubs/user/uploads.js b/packages/dashboard/src/pages/api/stubs/user/uploads.js deleted file mode 100644 index ad8b3d20..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/uploads.js +++ /dev/null @@ -1,8 +0,0 @@ -import items from "./uploads.json"; - -export default (req, res) => { - const offset = parseInt(req.query?.offset ?? 0, 10); - const pageSize = parseInt(req.query?.pageSize ?? 10, 10); - - res.json({ items: items.slice(offset, offset + pageSize), count: items.length, pageSize, offset }); -}; diff --git a/packages/dashboard/src/pages/api/stubs/user/uploads.json b/packages/dashboard/src/pages/api/stubs/user/uploads.json deleted file mode 100644 index efc42359..00000000 --- a/packages/dashboard/src/pages/api/stubs/user/uploads.json +++ /dev/null @@ -1,44 +0,0 @@ -[ - { - "id": 1111, - "skylink": "PAL0w4SdA5rFCDGEutgpeQ50Om-YkBabtXVOJAkmedslKw", - "name": "ugabuga.pdf", - "size": 123123, - "uploadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 2222, - "skylink": "XABvi7JtJbQSMAcDwnUnmp2FKDPjg8_tTTFP4BwMSxVdEg", - "name": "ugabuga.pdf", - "size": 8912739812, - "uploadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 3333, - "skylink": "IADUs8d9CQjUO34LmdaaNPK_STuZo24rpKVfYW3wPPM2uQ", - "name": "ugabuga.pdf", - "size": 123123, - "uploadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 4444, - "skylink": "_A2zt5SKoqwnnZU4cBF8uBycSKULXMyeg1c5ZISBr2Q3dA", - "name": "ugabuga.pdf", - "size": 83943, - "uploadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 5555, - "skylink": "AAC0uO43g64ULpyrW0zO3bjEknSFbAhm8c-RFP21EQlmSQ", - "name": "ugabuga.pdf", - "size": 3290489120, - "uploadedOn": "2020-04-02T08:02:17-05:00" - }, - { - "id": 6666, - "skylink": "CACqf4NlIMlA0CCCieYGjpViPGyfyJ4v1x3bmuCKZX8FKA", - "name": "ugabuga.pdf", - "size": 1290389, - "uploadedOn": "2020-04-02T08:02:17-05:00" - } -] diff --git a/packages/dashboard/src/pages/auth/login.js b/packages/dashboard/src/pages/auth/login.js index f9e8ab45..46b807f6 100644 --- a/packages/dashboard/src/pages/auth/login.js +++ b/packages/dashboard/src/pages/auth/login.js @@ -1,65 +1,48 @@ import Link from "next/link"; -import { Configuration, PublicApi } from "@ory/kratos-client"; -import config from "../../config"; +import { useRouter } from "next/router"; +import * as Yup from "yup"; +import accountsApi from "../../services/accountsApi"; +import useAnonRoute from "../../services/useAnonRoute"; import SelfServiceForm from "../../components/Form/SelfServiceForm"; -const kratos = new PublicApi(new Configuration({ basePath: config.kratos.public })); - -export async function getServerSideProps(context) { - const flow = context.query.flow; - const redirect = encodeURIComponent(`/api/accounts/login?return_to=${context.query.return_to ?? "/"}`); - - if (process.env.NODE_ENV === "development") { - return { props: { flow: require("../../../stubs/login.json") } }; - } - - // The flow is used to identify the login and registration flow and - // return data like the csrf_token and so on. - if (!flow || typeof flow !== "string") { - // No flow ID found in URL, initializing login flow. - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/login/browser?return_to=${redirect}`, - }, - }; - } - - try { - const { status, data } = await kratos.getSelfServiceLoginFlow(flow); - - if (status === 200) return { props: { flow: data } }; - - throw new Error(`Failed to retrieve flow ${flow} with code ${status}`); - } catch (error) { - console.log(`Unexpected error retrieving login flow: ${error.message}`); - - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/login/browser?return_to=${redirect}`, - }, - }; - } -} - -const fieldsConfig = { - identifier: { +const fieldsConfig = [ + { + name: "email", + type: "text", label: "Email address", autoComplete: "email", position: 0, }, - password: { + { + name: "password", + type: "password", label: "Password", autoComplete: "current-password", position: 1, }, - csrf_token: { - position: 99, - }, -}; +]; + +const validationSchema = Yup.object().shape({ + email: Yup.string().required("Email is required").email("This email is invalid"), + password: Yup.string().required("Password is required"), +}); + +export default function Login() { + useAnonRoute(); // ensure user is not logged in + + const router = useRouter(); + + const onSubmit = async (values) => { + await accountsApi.post("login", { + json: { + email: values.email, + password: values.password, + }, + }); + + router.push("/"); + }; -export default function Login({ flow }) { return (
@@ -82,14 +65,19 @@ export default function Login({ flow }) { sign up {" "} - if you don't have one yet + if you don't have one yet

- + diff --git a/packages/dashboard/src/pages/recovery.js b/packages/dashboard/src/pages/auth/recovery.js similarity index 69% rename from packages/dashboard/src/pages/recovery.js rename to packages/dashboard/src/pages/auth/recovery.js index e64a4213..05f94d85 100644 --- a/packages/dashboard/src/pages/recovery.js +++ b/packages/dashboard/src/pages/auth/recovery.js @@ -1,57 +1,39 @@ +import * as React from "react"; import Link from "next/link"; -import { Configuration, PublicApi } from "@ory/kratos-client"; -import config from "../config"; -import SelfServiceForm from "../components/Form/SelfServiceForm"; +import * as Yup from "yup"; +import accountsApi from "../../services/accountsApi"; +import useAnonRoute from "../../services/useAnonRoute"; +import SelfServiceForm from "../../components/Form/SelfServiceForm"; -const kratos = new PublicApi(new Configuration({ basePath: config.kratos.public })); - -export async function getServerSideProps(context) { - const flow = context.query.flow; - - if (process.env.NODE_ENV === "development") { - return { props: { flow: require("../../stubs/recovery.json") } }; - } - - // The flow is used to identify the login and registration flow and - // return data like the csrf_token and so on. - if (!flow || typeof flow !== "string") { - // No flow ID found in URL, initializing recovery flow. - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/recovery/browser`, - }, - }; - } - - try { - const { status, data } = await kratos.getSelfServiceRecoveryFlow(flow); - - if (status === 200) return { props: { flow: data } }; - - throw new Error(`Failed to retrieve flow ${flow} with code ${status}`); - } catch (error) { - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/recovery/browser`, - }, - }; - } -} - -const fieldsConfig = { - email: { - label: "Your email", +const fieldsConfig = [ + { + name: "email", + type: "text", + label: "Email address", autoComplete: "email", position: 0, }, - csrf_token: { - position: 99, - }, -}; +]; + +const validationSchema = Yup.object().shape({ + email: Yup.string().required("Email is required").email("This email is invalid"), +}); + +export default function Recovery() { + useAnonRoute(); // ensure user is not logged in + + const [success, setSuccess] = React.useState(false); + + const onSubmit = async (values) => { + await accountsApi.post("user/recover/request", { + json: { + email: values.email, + }, + }); + + setSuccess(true); + }; -export default function Recovery({ flow }) { return (
@@ -84,12 +66,20 @@ export default function Recovery({ flow }) {

- + {!success && ( + + )} + + {success && ( +

+ Account recovery requested, please follow instructions sent in email. +

+ )}
); } diff --git a/packages/dashboard/src/pages/auth/registration.js b/packages/dashboard/src/pages/auth/registration.js index 23414f72..c790f99a 100644 --- a/packages/dashboard/src/pages/auth/registration.js +++ b/packages/dashboard/src/pages/auth/registration.js @@ -1,88 +1,66 @@ import Link from "next/link"; -import { Configuration, PublicApi } from "@ory/kratos-client"; -import { getIn } from "formik"; -import config from "../../config"; +import { useRouter } from "next/router"; import levenshtein from "fast-levenshtein"; +import * as Yup from "yup"; +import accountsApi from "../../services/accountsApi"; +import useAnonRoute from "../../services/useAnonRoute"; import lcs from "../../services/longestCommonSequence"; import SelfServiceForm from "../../components/Form/SelfServiceForm"; -const kratos = new PublicApi(new Configuration({ basePath: config.kratos.public })); - -export async function getServerSideProps(context) { - const flow = context.query.flow; - const redirect = encodeURIComponent(`/api/accounts/login?return_to=${context.query.return_to ?? "/"}`); - - if (process.env.NODE_ENV === "development") { - return { props: { flow: require("../../../stubs/registration.json") } }; - } - - // The flow is used to identify the login and registration flow and - // return data like the csrf_token and so on. - if (!flow || typeof flow !== "string") { - // No flow ID found in URL, initializing registration flow. - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/registration/browser?return_to=${redirect}`, - }, - }; - } - - try { - const { status, data } = await kratos.getSelfServiceRegistrationFlow(flow); - - if (status === 200) return { props: { flow: data } }; - - throw new Error(`Failed to retrieve flow ${flow} with code ${status}`); - } catch (error) { - console.log(`Unexpected error retrieving registration flow: ${error.message}`); - - return { - redirect: { - permanent: false, - destination: `${config.kratos.browser}/self-service/registration/browser?return_to=${redirect}`, - }, - }; - } -} - -const fieldsConfig = { - "traits.email": { +const fieldsConfig = [ + { + name: "email", + type: "text", label: "Email address", autoComplete: "email", position: 0, }, - password: { + { + name: "password", + type: "password", label: "Password", autoComplete: "new-password", position: 1, - checks: [ - { - label: "At least 6 characters long", - validate: (values, field) => { - const value = getIn(values, field); - - return value && value.length > 5; - }, - }, - { - label: "Significantly different from the email", - validate: (values, field) => { - const value = getIn(values, field); - const email = getIn(values, "traits.email"); - - // levenshtein distance higher than 5 and longest common sequence shorter than half of the password - return value && email && levenshtein.get(value, email) > 5 && lcs(value, email).length / value.length <= 0.5; - }, - }, - ], }, - csrf_token: { - position: 99, + { + name: "confirmPassword", + type: "password", + label: "Password repeated", + autoComplete: "new-password", + position: 2, }, -}; +]; + +const validationSchema = Yup.object().shape({ + email: Yup.string().required("Email is required").email("This email is invalid"), + password: Yup.string() + .required("Password is required") + .min(6, "Password has to be at least 6 characters long") + .test("levenshtein", "This password is too similar to your email", function (value) { + const email = this.parent.email; + + // levenshtein distance higher than 5 and longest common sequence shorter than half of the password + return value && email && levenshtein.get(value, email) > 5 && lcs(value, email).length / value.length <= 0.5; + }), + confirmPassword: Yup.string().oneOf([Yup.ref("password"), null], "Passwords must match"), +}); + +export default function Registration() { + useAnonRoute(); // ensure user is not logged in + + const router = useRouter(); + + const onSubmit = async (values) => { + await accountsApi.post("user", { + json: { + email: values.email, + password: values.password, + }, + }); + + router.push("/"); + }; -export default function Registration({ flow }) { return (
@@ -109,7 +87,12 @@ export default function Registration({ flow }) {

- +
); } diff --git a/packages/dashboard/src/pages/downloads.js b/packages/dashboard/src/pages/downloads.js index d18257f7..c94bee3a 100644 --- a/packages/dashboard/src/pages/downloads.js +++ b/packages/dashboard/src/pages/downloads.js @@ -3,12 +3,10 @@ import prettyBytes from "pretty-bytes"; import { useState } from "react"; import Layout from "../components/Layout"; import Table from "../components/Table"; -import authServerSideProps from "../services/authServerSideProps"; import { SkynetClient } from "skynet-js"; import useAccountsApi from "../services/useAccountsApi"; const skynetClient = new SkynetClient(process.env.NEXT_PUBLIC_SKYNET_PORTAL_API); -const apiPrefix = process.env.NODE_ENV === "development" ? "/api/stubs" : ""; const getSkylinkLink = ({ skylink }) => skynetClient.getSkylinkUrl(skylink); const getRelativeDate = ({ downloadedOn }) => dayjs(downloadedOn).format("YYYY-MM-DD HH:mm:ss"); const headers = [ @@ -36,22 +34,15 @@ const headers = [ ]; const actions = []; -export const getServerSideProps = authServerSideProps(async (context, api) => { - const initialData = await api.get("user/downloads?pageSize=10&offset=0").json(); - - return { props: { initialData } }; -}); - -export default function Downloads({ initialData }) { +export default function Downloads() { const [offset, setOffset] = useState(0); - const { data } = useAccountsApi(`${apiPrefix}/user/downloads?pageSize=10&offset=${offset}`, { - initialData: offset === 0 ? initialData : undefined, + const { data } = useAccountsApi(`user/downloads?pageSize=10&offset=${offset}`, { revalidateOnMount: true, }); // preload next page if it exists (based on the response from the current page query) const nextPageOffset = data && data.offset + data.pageSize < data.count ? data.offset + data.pageSize : offset; - useAccountsApi(`${apiPrefix}/user/downloads?pageSize=10&offset=${nextPageOffset}`); + useAccountsApi(`user/downloads?pageSize=10&offset=${nextPageOffset}`); return ( diff --git a/packages/dashboard/src/pages/index.js b/packages/dashboard/src/pages/index.js index c3e9d809..cbb2e68b 100644 --- a/packages/dashboard/src/pages/index.js +++ b/packages/dashboard/src/pages/index.js @@ -4,23 +4,14 @@ import relativeTime from "dayjs/plugin/relativeTime"; import prettyBytes from "pretty-bytes"; import Link from "next/link"; import Layout from "../components/Layout"; -import authServerSideProps from "../services/authServerSideProps"; import { SkynetClient } from "skynet-js"; import config from "../config"; import useAccountsApi from "../services/useAccountsApi"; -import { isFreeTier } from "../services/tiers"; +import React from "react"; dayjs.extend(relativeTime); const skynetClient = new SkynetClient(process.env.NEXT_PUBLIC_SKYNET_PORTAL_API); -const apiPrefix = process.env.NODE_ENV === "development" ? "/api/stubs" : ""; - -export const getServerSideProps = authServerSideProps(async (context, api) => { - const stripe = await api.get("stripe/prices").json(); - const plans = [config.tiers.starter, ...stripe].sort((a, b) => a.tier - b.tier); - - return { props: { plans } }; -}); function SkylinkList({ items = [], timestamp }) { return ( @@ -99,13 +90,19 @@ function SkylinkList({ items = [], timestamp }) { ); } -export default function Home({ plans }) { - const { data: user } = useAccountsApi(`${apiPrefix}/user`); - const { data: stats } = useAccountsApi(`${apiPrefix}/user/stats`); - const { data: downloads } = useAccountsApi(`${apiPrefix}/user/downloads?pageSize=3&offset=0`); - const { data: uploads } = useAccountsApi(`${apiPrefix}/user/uploads?pageSize=3&offset=0`); +export default function Home() { + const { data: prices } = useAccountsApi("stripe/prices"); + const { data: user } = useAccountsApi("user"); + const { data: stats } = useAccountsApi("user/stats"); + const { data: downloads } = useAccountsApi("user/downloads?pageSize=3&offset=0"); + const { data: uploads } = useAccountsApi("user/uploads?pageSize=3&offset=0"); + const [plans, setPlans] = React.useState([config.tiers.starter]); - const activePlan = plans.find(({ tier }) => (user ? user.tier === tier : isFreeTier(tier))); + React.useEffect(() => { + if (prices) setPlans((plans) => [...plans, ...prices].sort((a, b) => a.tier - b.tier)); + }, [setPlans, prices]); + + const activePlan = plans.find(({ tier }) => user && user.tier === tier); return ( @@ -135,7 +132,7 @@ export default function Home({ plans }) {
Current plan
-
{activePlan.name}
+
{activePlan?.name}
diff --git a/packages/dashboard/src/pages/payments.js b/packages/dashboard/src/pages/payments.js index 94289e2d..48bbe5ba 100644 --- a/packages/dashboard/src/pages/payments.js +++ b/packages/dashboard/src/pages/payments.js @@ -1,16 +1,13 @@ import dayjs from "dayjs"; import Layout from "../components/Layout"; -import ky from "ky/umd"; -import { useEffect, useState } from "react"; -import authServerSideProps from "../services/authServerSideProps"; +import ky from "ky"; +import * as React from "react"; import classnames from "classnames"; import prettyBytes from "pretty-bytes"; import config from "../config"; import useAccountsApi from "../services/useAccountsApi"; import { isFreeTier, isPaidTier } from "../services/tiers"; -const apiPrefix = process.env.NODE_ENV === "development" ? "/api/stubs" : ""; - const ActiveBadge = () => { return ( @@ -19,22 +16,23 @@ const ActiveBadge = () => { ); }; -export const getServerSideProps = authServerSideProps(async (context, api) => { - const [user, stats, stripe] = await Promise.all([ - api.get("user").json(), - api.get("user/stats").json(), - api.get("stripe/prices").json(), - ]); - const plans = [config.tiers.starter, ...stripe].sort((a, b) => a.tier - b.tier); +export default function Payments() { + const { data: user } = useAccountsApi("user"); + const { data: stats } = useAccountsApi("user/stats"); + const { data: prices } = useAccountsApi("stripe/prices"); + const [plans, setPlans] = React.useState([config.tiers.starter]); + const [selectedPlan, setSelectedPlan] = React.useState(null); - return { props: { plans, user, stats } }; -}); + React.useEffect(() => { + if (prices) setPlans((plans) => [...plans, ...prices].sort((a, b) => a.tier - b.tier)); + }, [setPlans, prices]); + + const activePlan = plans.find(({ tier }) => user && user.tier === tier); + + React.useEffect(() => { + setSelectedPlan(activePlan); + }, [activePlan, setSelectedPlan]); -export default function Payments({ plans, user: initialUserData, stats: initialStatsData }) { - const { data: user } = useAccountsApi(`${apiPrefix}/user`, { initialData: initialUserData }); - const { data: stats } = useAccountsApi(`${apiPrefix}/user/stats`, { initialData: initialStatsData }); - const [selectedPlan, setSelectedPlan] = useState(plans.find(({ tier }) => isFreeTier(tier))); - const activePlan = plans.find(({ tier }) => (user ? user.tier === tier : isFreeTier(tier))); const handleSubscribe = async () => { try { const price = selectedPlan.stripe; @@ -46,12 +44,6 @@ export default function Payments({ plans, user: initialUserData, stats: initialS } }; - useEffect(() => { - if (activePlan && isPaidTier(activePlan.tier)) { - setSelectedPlan(activePlan); - } - }, [activePlan, selectedPlan, setSelectedPlan]); - return (
diff --git a/packages/dashboard/src/pages/plans.js b/packages/dashboard/src/pages/plans.js index ee319e69..7935f0f4 100644 --- a/packages/dashboard/src/pages/plans.js +++ b/packages/dashboard/src/pages/plans.js @@ -41,7 +41,7 @@ export default function Payments() {
-

What's included

+

What's included

  • {/* Heroicon name: solid/check */} @@ -96,7 +96,7 @@ export default function Payments() {
-

What's included

+

What's included

  • {/* Heroicon name: solid/check */} @@ -168,7 +168,7 @@ export default function Payments() {
-

What's included

+

What's included

  • {/* Heroicon name: solid/check */} @@ -257,7 +257,7 @@ export default function Payments() {
-

What's included

+

What's included