diff --git a/ngx/build.sh b/ngx/build.sh index 33ef1aa..4a8d183 100755 --- a/ngx/build.sh +++ b/ngx/build.sh @@ -5,3 +5,4 @@ deno run ./default.ts > out/default.conf deno run ./pds.ts > out/pds.conf deno run ./char-bun-how.ts > out/char-bun-how.conf deno run ./pds-testing.ts > out/pds-testing.conf +deno run ./charlotte-partners.ts > out/charlotte-partners.conf diff --git a/ngx/charlotte-partners.ts b/ngx/charlotte-partners.ts new file mode 100644 index 0000000..0a103d6 --- /dev/null +++ b/ngx/charlotte-partners.ts @@ -0,0 +1,20 @@ +import ngx from "jsr:@char/ngx@0.1"; + +export const domain = "charlotte.partners" + +export const config = ngx("server", [ + [ + `server_name ${domain}`, + ...ngx.listen(), + ...ngx.letsEncrypt(domain), + ], + ngx("location /", [ + "add_header Access-Control-Allow-Origin *", + "if_modified_since off", + "expires off", + "etag off", + `root /srv/www/${domain}`, + ]), +]); + +if (import.meta.main) console.log(config.build()); diff --git a/pds/package-lock.json b/pds/package-lock.json index 74d0abc..148296b 100644 --- a/pds/package-lock.json +++ b/pds/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "MIT", "dependencies": { - "@atproto/pds": "0.4.71", + "@atproto/pds": "0.4.75", "dotenv": "^16.4.5", "express": "^4.21.1" }, @@ -18,9 +18,9 @@ } }, "node_modules/@atproto-labs/fetch": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@atproto-labs/fetch/-/fetch-0.1.1.tgz", - "integrity": "sha512-X1zO1MDoJzEurbWXMAe1H8EZ995Xam/aXdxhGVrXmOMyPDuvBa1oxwh/kQNZRCKcMQUbiwkk+Jfq6ZkTuvGbww==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@atproto-labs/fetch/-/fetch-0.1.2.tgz", + "integrity": "sha512-7mQQIRtVenqtdBQKCqoLjyAhPS2aA56EGEjyz5zB3sramM3qkrvzyusr55GAzGDS0tvB6cy9cDEtSLmfK7LUnA==", "license": "MIT", "dependencies": { "@atproto-labs/pipe": "0.1.0" @@ -30,12 +30,12 @@ } }, "node_modules/@atproto-labs/fetch-node": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@atproto-labs/fetch-node/-/fetch-node-0.1.3.tgz", - "integrity": "sha512-KX3ogPJt6dXNppWImQ9omfhrc8t73WrJaxHMphRAqQL8jXxKW5NBCTjSuwroBkJ1pj1aValBrc5NpdYu+H/9Qg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@atproto-labs/fetch-node/-/fetch-node-0.1.4.tgz", + "integrity": "sha512-hwYx0XpgIl2zydRy13DtWvywruuHk1EX+yCjqjgUIezUm8fi35ZN4QvR6INEm0MpN2MD/kQsImPbd8ZftzZ3zw==", "license": "MIT", "dependencies": { - "@atproto-labs/fetch": "0.1.1", + "@atproto-labs/fetch": "0.1.2", "@atproto-labs/pipe": "0.1.0", "ipaddr.js": "^2.1.0", "psl": "^1.9.0", @@ -65,9 +65,9 @@ } }, "node_modules/@atproto/api": { - "version": "0.13.16", - "resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.13.16.tgz", - "integrity": "sha512-fWWPifh7DTiKs7v2n/trZSeqvHMQckJACbA0KjZuLksgAaQWJCO+X9rsegrAUmE2aPenvLLnK2NaPaYnj5WJBw==", + "version": "0.13.19", + "resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.13.19.tgz", + "integrity": "sha512-rLWQBZaOIk3ds1Fx9CwrdyX3X2GbdSEvVJ9mdSPNX40joiEaE1ljGMOcziFipbvZacXynozE4E0Sb1CgOhzfmA==", "license": "MIT", "dependencies": { "@atproto/common-web": "^0.3.1", @@ -181,20 +181,20 @@ } }, "node_modules/@atproto/oauth-provider": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@atproto/oauth-provider/-/oauth-provider-0.2.7.tgz", - "integrity": "sha512-T/cEr7TGs36SqTW8JzLAt9EchumYY48zuI4rqoAepYT29eGpP37SxK+5X0+fQHOKJPKWUGlYocR9fDm4CdzAPQ==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@atproto/oauth-provider/-/oauth-provider-0.2.9.tgz", + "integrity": "sha512-Yx0N9xPzgX2kDbMfIGzYneDjTmLBcs7Sbl7Ae9Rx4FipyAojfoSSV5tLK/95tOEWzAIQ+sv4qA5rYdsRkw14Mw==", "license": "MIT", "dependencies": { - "@atproto-labs/fetch": "0.1.1", - "@atproto-labs/fetch-node": "0.1.3", + "@atproto-labs/fetch": "0.1.2", + "@atproto-labs/fetch-node": "0.1.4", "@atproto-labs/pipe": "0.1.0", "@atproto-labs/simple-store": "0.1.1", "@atproto-labs/simple-store-memory": "0.1.1", "@atproto/common": "^0.4.4", "@atproto/jwk": "0.1.1", "@atproto/jwk-jose": "0.1.2", - "@atproto/oauth-types": "0.2.0", + "@atproto/oauth-types": "0.2.1", "@hapi/accept": "^6.0.3", "@hapi/bourne": "^3.0.0", "@hapi/content": "^6.0.0", @@ -208,9 +208,9 @@ } }, "node_modules/@atproto/oauth-types": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@atproto/oauth-types/-/oauth-types-0.2.0.tgz", - "integrity": "sha512-v/4ht6eRh0yOu2iuuWujZdnJBamPKimdy8k0Xan8cVZ+a2i83UkhIIU+S/XUbbvJ4a64wLPZrS9IDd0K5XYYTQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@atproto/oauth-types/-/oauth-types-0.2.1.tgz", + "integrity": "sha512-hDisUXzcq5KU1HMuCYZ8Kcz7BePl7V11bFjjgZvND3mdSphiyBpJ8MCNn3QzAa6cXpFo0w9PDcYMAlCCRZHdVw==", "license": "MIT", "dependencies": { "@atproto/jwk": "0.1.1", @@ -218,29 +218,30 @@ } }, "node_modules/@atproto/pds": { - "version": "0.4.71", - "resolved": "https://registry.npmjs.org/@atproto/pds/-/pds-0.4.71.tgz", - "integrity": "sha512-J9K65L8Toj1K/qnk849hNVb6AnAUa5wWIkLtwO/gqG7HskbcNftTZdSTGp+XTdQnY9S+HYEyWDPl32zWSqKktA==", + "version": "0.4.75", + "resolved": "https://registry.npmjs.org/@atproto/pds/-/pds-0.4.75.tgz", + "integrity": "sha512-o7FiNrJkTKil2IyO/ZmL6pzqSjnHtXQvv4A/uKjRkuoiInMsTQQJFnmdP6oF64+/pDInnd+mMsBgqxR/VaZmyw==", "license": "MIT", "dependencies": { - "@atproto-labs/fetch-node": "0.1.3", - "@atproto/api": "^0.13.16", + "@atproto-labs/fetch-node": "0.1.4", + "@atproto/api": "^0.13.19", "@atproto/aws": "^0.2.9", "@atproto/common": "^0.4.4", "@atproto/crypto": "^0.4.2", "@atproto/identity": "^0.4.3", "@atproto/lexicon": "^0.4.3", - "@atproto/oauth-provider": "^0.2.7", + "@atproto/oauth-provider": "^0.2.9", "@atproto/repo": "^0.5.5", "@atproto/syntax": "^0.3.1", "@atproto/xrpc": "^0.6.4", "@atproto/xrpc-server": "^0.7.3", "@did-plc/lib": "^0.0.4", + "@hapi/address": "^5.1.1", "better-sqlite3": "^10.0.0", "bytes": "^3.1.2", "compression": "^1.7.4", "cors": "^2.8.5", - "disposable-email": "^0.2.3", + "disposable-email-domains-js": "^1.5.0", "express": "^4.17.2", "express-async-errors": "^3.1.1", "file-type": "^16.5.4", @@ -1510,6 +1511,18 @@ "@hapi/hoek": "^11.0.2" } }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@hapi/boom": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz", @@ -3416,11 +3429,11 @@ "node": ">=8" } }, - "node_modules/disposable-email": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/disposable-email/-/disposable-email-0.2.3.tgz", - "integrity": "sha512-gkBQQ5Res431ZXqLlAafrXHizG7/1FWmi8U2RTtriD78Vc10HhBUvdJun3R4eSF0KRIQQJs+wHlxjkED/Hr1EQ==", - "license": "MIT" + "node_modules/disposable-email-domains-js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/disposable-email-domains-js/-/disposable-email-domains-js-1.7.0.tgz", + "integrity": "sha512-qcIJcnXjDvH8EEt0tyAesk1sZVGU5ZFtW6Wys2wKCAcbUf5nJYfwZfT7Z0PVA/LBMlqd/Xgk9dXN2Q3fx7NFAg==", + "license": "CC0-1.0" }, "node_modules/dom-serializer": { "version": "1.4.1", @@ -4153,9 +4166,9 @@ } }, "node_modules/ioredis/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4796,12 +4809,15 @@ "license": "MIT" }, "node_modules/psl": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.10.0.tgz", - "integrity": "sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", "license": "MIT", "dependencies": { "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" } }, "node_modules/pump": { diff --git a/pds/package.json b/pds/package.json index 377f105..68ff840 100644 --- a/pds/package.json +++ b/pds/package.json @@ -6,7 +6,7 @@ "main": "index.js", "license": "MIT", "dependencies": { - "@atproto/pds": "0.4.71", + "@atproto/pds": "0.4.75", "dotenv": "^16.4.5", "express": "^4.21.1" }, diff --git a/www/charlotte.partners/.well-known/did.json b/www/charlotte.partners/.well-known/did.json new file mode 100644 index 0000000..0326c48 --- /dev/null +++ b/www/charlotte.partners/.well-known/did.json @@ -0,0 +1,26 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://w3id.org/security/multikey/v1", + "https://w3id.org/security/suites/secp256k1-2019/v1" + ], + "id": "did:web:charlotte.partners", + "alsoKnownAs": [ + "at://charlotte.partners" + ], + "verificationMethod": [ + { + "id": "did:web:charlotte.partners#atproto", + "type": "Multikey", + "controller": "did:web:charlotte.partners", + "publicKeyMultibase": "zQ3shRnBKbRb8ECLZHs7YuJ8JPHkXiQPSDVwCsciXKrzDYdae" + } + ], + "service": [ + { + "id": "#atproto_pds", + "type": "AtprotoPersonalDataServer", + "serviceEndpoint": "https://pds.bun.how" + } + ] +}