pruvisto/debirdify

"This account does not exist", but my account works on Fedifinder and Mastodon

Closed this issue · 6 comments

dlitz commented

On https://pruvisto.org/debirdify/, I get:

We found the following Fediverse IDs in your Twitter profile:

dlitz@dlitz.net
This account does not exist. Do you perhaps have a typo?

But it in fact works & is fine.

Twitter user: @DLitz
Mastodon account: @dlitz@dlitz.net

Note that the mastodon server associated with this ID is https://mastodon.dlitz.net, but I believe I have the correct aliases set up, and both Fedifinder and Mastodon itself seem to resolve my account just fine.

Hm, if they do, I don't know how they do it. Your domain dlitz.net does not have a hostmeta file, a nodeinfo file, and https://dlitz.net/.well-known/webfinger?resource=acct:dlitz@dlitz.net returns a 404 as well.

How do these other services even know that mastodon.dlitz.net is the right domain to look at?

In any case, this warning is more of a "are you sure this is correct?"; so if you're sure it works you can feel free to ignore it. Still, it would of course be nice to figure out what's going on here.

dlitz commented

I'm not an expert on the specs, but according to my webserver logs, other services seem to be fetching /.well-known/host-meta in order discover the webfinger URL:

$ curl -L -D- https://dlitz.net/.well-known/host-meta
HTTP/2 303
server: nginx/1.18.0
date: Fri, 11 Nov 2022 22:18:43 GMT
content-type: text/html; charset=UTF-8
content-length: 153
location: https://mastodon.dlitz.net/.well-known/host-meta
expect-ct: max-age=3600, report-uri="https://24e784b40966bfb81b2bd5e34d246489.report-uri.com/r/d/ct/reportOnly"
expect-staple: max-age=3600; report-uri="https://24e784b40966bfb81b2bd5e34d246489.report-uri.com/r/d/staple/reportOnly"
nel: {"report_to":"default","max_age":3600,"include_subdomains":true}
report-to: {"group":"default","max_age":3600,"endpoints":[{"url":"https://24e784b40966bfb81b2bd5e34d246489.report-uri.com/a/d/g"}],"include_subdomains":true}
x-config-id: a7c1cd70-60b8-4553-a9eb-f8fa8c054a56
strict-transport-security: max-age=63072000; includeSubDomains; preload

HTTP/2 200
date: Fri, 11 Nov 2022 22:18:43 GMT
content-type: application/xrd+xml; charset=utf-8
server: Mastodon
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 0
permissions-policy: interest-cohort=()
vary: Accept, Accept-Encoding, Origin
cache-control: max-age=259200, public
etag: W/"fc876037016b7ad66c938ec92c160fdf"
content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://mastodon.dlitz.net; img-src 'self' https: data: blob: https://mastodon.dlitz.net; style-src 'self' https://mastodon.dlitz.net 'nonce-Zi+tHRtt+G7jY/YmUo+Guw=='; media-src 'self' https: data: https://mastodon.dlitz.net; frame-src 'self' https:; manifest-src 'self' https://mastodon.dlitz.net; connect-src 'self' data: blob: https://mastodon.dlitz.net https://mastodon.dlitz.net wss://mastodon.dlitz.net; script-src 'self' https://mastodon.dlitz.net; child-src 'self' blob: https://mastodon.dlitz.net; worker-src 'self' blob: https://mastodon.dlitz.net
x-request-id: 2827ea61-f187-40c6-bc03-9db176a0203e
x-runtime: 0.020045
strict-transport-security: max-age=63072000; includeSubDomains
x-cached: HIT
strict-transport-security: max-age=31536000

<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
  <Link rel="lrdd" template="https://mastodon.dlitz.net/.well-known/webfinger?resource={uri}"/>
</XRD>

If you construct the webfinger URL using the template above, you get the result you're expecting:

$ curl -D- -L 'https://mastodon.dlitz.net/.well-known/webfinger?resource=acct:dlitz@dlitz.net'
HTTP/2 200
date: Fri, 11 Nov 2022 22:23:10 GMT
content-type: application/jrd+json; charset=utf-8
server: Mastodon
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 0
permissions-policy: interest-cohort=()
vary: Accept, Accept-Encoding, Origin
cache-control: max-age=259200, public
etag: W/"38310a0b9b2336a108be17767395b421"
content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://mastodon.dlitz.net; img-src 'self' https: data: blob: https://mastodon.dlitz.net; style-src 'self' https://mastodon.dlitz.net 'nonce-iJzQYr9/QySEQIPAYdTYBw=='; media-src 'self' https: data: https://mastodon.dlitz.net; frame-src 'self' https:; manifest-src 'self' https://mastodon.dlitz.net; connect-src 'self' data: blob: https://mastodon.dlitz.net https://mastodon.dlitz.net wss://mastodon.dlitz.net; script-src 'self' https://mastodon.dlitz.net; child-src 'self' blob: https://mastodon.dlitz.net; worker-src 'self' blob: https://mastodon.dlitz.net
x-request-id: 83ddf979-f01e-44d3-b59e-3b1ed20b7e4a
x-runtime: 0.009147
strict-transport-security: max-age=63072000; includeSubDomains
x-cached: HIT
strict-transport-security: max-age=31536000

{"subject":"acct:dlitz@dlitz.net","aliases":["https://mastodon.dlitz.net/@dlitz","https://mastodon.dlitz.net/users/dlitz"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.dlitz.net/@dlitz"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.dlitz.net/users/dlitz"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.dlitz.net/authorize_interaction?uri={uri}"}]}
dlitz commented

I followed the instructions in Serving_a_different_domain.md to configure the frontend webserver for dlitz.net.

Ah yes, I must have mistyped something. I thought your hostmeta gave a 404, but it doesn't.

The problem currently is that I don't actually query the host-meta online yet but I rely on offline data collected by Fedifinder. And your server is not in the Fedifinder database yet, for some reason. I'll try to attack this problem some time soon.

Fixed and live as of 0ba37a2.

dlitz commented

Great, thanks!