From: Mikael Nordfeldth Date: Thu, 25 Feb 2016 11:32:33 +0000 (+0100) Subject: socialfy-your-domain made people think you needed manual interaction X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;ds=sidebyside;h=67aff528f526a5fcbec5544b1bb32da6ebce5886;p=quix0rs-gnu-social.git socialfy-your-domain made people think you needed manual interaction I don't know why, but people started following those instructions for no apparent reason and it ended up causing a bunch of federation issues or homegrown cron script messes. Maybe changing the name to "another" instead of "your" domain will make people stop doing stuff randomly. --- diff --git a/socialfy-another-domain/README.txt b/socialfy-another-domain/README.txt new file mode 100644 index 0000000000..7cb01ed2ef --- /dev/null +++ b/socialfy-another-domain/README.txt @@ -0,0 +1,56 @@ +Initial simple way to Webfinger enable your domain -- needs PHP. +================================================================ + +This guide needs some updating, since it will only guide you to present +XML data (while the curl command likely gives you JSON). The workaround +is to simply make curl get 'webfinger.xml' instead, and/or have another +file that contains JSON, but that requires editing the PHP file as well. + +Step 1 +====== + +Put the 'dot-well-known' on your website, so it loads at: + + https://example.com/.well-known/ + +(Remember the . at the beginning of this one, which is common practice +for "hidden" files and why we have renamed it "dot-") + +Step 2 +====== + +Edit the .well-known/host-meta file and replace "example.com" with the +domain name you're hosting the .well-known directory on. + +Using vim you can do this as a quick method: + $ vim .well-known/host-meta [ENTER] + :%s/example.com/domain.com/ [ENTER] + :wq [ENTER] + +Step 3 +====== + +For each user on your site, and this might only be you... + +In the webfinger directory, make a copy of the example@example.com.xml file +so that it's called (replace username and example.com with appropriate +values, the domain name should be the same as you're "socialifying"): + + username@example.com.xml + +Then edit the file contents, replacing "social.example.com" with your +GNU social instance's base path, and change the user ID number (and +nickname for the FOAF link) to that of your account on your social +site. If you don't know your user ID number, you can see this on your +GNU social profile page by looking at the destination URLs in the +Feeds links. + +PROTIP: You can get the bulk of the contents (note the element though) + from curling down your real webfinger data: +$ curl https://social.example.com/.well-known/webfinger?resource=acct:username@social.example.com + +Finally +======= + +Using this method, though fiddly, you can now be @user@domain without +the need for any prefixes for subdomains, etc. diff --git a/socialfy-another-domain/dot-well-known/host-meta b/socialfy-another-domain/dot-well-known/host-meta new file mode 100644 index 0000000000..bba942f673 --- /dev/null +++ b/socialfy-another-domain/dot-well-known/host-meta @@ -0,0 +1,5 @@ + + + + diff --git a/socialfy-another-domain/dot-well-known/webfinger/example@example.com.xml b/socialfy-another-domain/dot-well-known/webfinger/example@example.com.xml new file mode 100644 index 0000000000..e95662b6fe --- /dev/null +++ b/socialfy-another-domain/dot-well-known/webfinger/example@example.com.xml @@ -0,0 +1,35 @@ + + + acct:username@example.com + acct:username@social.example.com + https://social.example.com/user/1 + + + + + + + + + + + + + + + + diff --git a/socialfy-another-domain/dot-well-known/webfinger/index.php b/socialfy-another-domain/dot-well-known/webfinger/index.php new file mode 100644 index 0000000000..91071bc4c3 --- /dev/null +++ b/socialfy-another-domain/dot-well-known/webfinger/index.php @@ -0,0 +1,43 @@ +. + */ + + +// basename should make sure we can't escape this directory +$u = basename($_GET['resource']); + +if (!strpos($u, '@')) { + throw new Exception('Bad resource'); + exit(1); +} + +if (mb_strpos($u, 'acct:')===0) { + $u = substr($u, 5); +} + +// Just to be a little bit safer, you know, with all the unicode stuff going on +$u = filter_var($u, FILTER_SANITIZE_EMAIL); + +$f = $u . ".xml"; + +if (file_exists($f)) { + header('Content-Disposition: attachment; filename="'.urlencode($f).'"'); + header('Content-type: application/xrd+xml'); + echo file_get_contents($f); +} diff --git a/socialfy-your-domain/README.txt b/socialfy-your-domain/README.txt deleted file mode 100644 index b7691abe8d..0000000000 --- a/socialfy-your-domain/README.txt +++ /dev/null @@ -1,51 +0,0 @@ -Initial simple way to Webfinger enable your domain -- needs PHP. -================================================================ - -Step 1 -====== - -Put the 'dot-well-known' on your website, so it loads at: - - https://example.com/.well-known/ - -(Remember the . at the beginning of this one, which is common practice -for "hidden" files and why we have renamed it "dot-") - -Step 2 -====== - -Edit the .well-known/host-meta file and replace "example.com" with the -domain name you're hosting the .well-known directory on. - -Using vim you can do this as a quick method: - $ vim .well-known/host-meta [ENTER] - :%s/example.com/domain.com/ [ENTER] - :wq [ENTER] - -Step 3 -====== - -For each user on your site, and this might only be you... - -In the webfinger directory, make a copy of the example@example.com.xml file -so that it's called (replace username and example.com with appropriate -values, the domain name should be the same as you're "socialifying"): - - username@example.com.xml - -Then edit the file contents, replacing "social.example.com" with your -GNU social instance's base path, and change the user ID number (and -nickname for the FOAF link) to that of your account on your social -site. If you don't know your user ID number, you can see this on your -GNU social profile page by looking at the destination URLs in the -Feeds links. - -PROTIP: You can get the bulk of the contents (note the element though) - from curling down your real webfinger data: -$ curl https://social.example.com/.well-known/webfinger?resource=acct:username@social.example.com - -Finally -======= - -Using this method, though fiddly, you can now be @user@domain without -the need for any prefixes for subdomains, etc. diff --git a/socialfy-your-domain/dot-well-known/host-meta b/socialfy-your-domain/dot-well-known/host-meta deleted file mode 100644 index bba942f673..0000000000 --- a/socialfy-your-domain/dot-well-known/host-meta +++ /dev/null @@ -1,5 +0,0 @@ - - - - diff --git a/socialfy-your-domain/dot-well-known/webfinger/example@example.com.xml b/socialfy-your-domain/dot-well-known/webfinger/example@example.com.xml deleted file mode 100644 index e95662b6fe..0000000000 --- a/socialfy-your-domain/dot-well-known/webfinger/example@example.com.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - acct:username@example.com - acct:username@social.example.com - https://social.example.com/user/1 - - - - - - - - - - - - - - - - diff --git a/socialfy-your-domain/dot-well-known/webfinger/index.php b/socialfy-your-domain/dot-well-known/webfinger/index.php deleted file mode 100644 index 91071bc4c3..0000000000 --- a/socialfy-your-domain/dot-well-known/webfinger/index.php +++ /dev/null @@ -1,43 +0,0 @@ -. - */ - - -// basename should make sure we can't escape this directory -$u = basename($_GET['resource']); - -if (!strpos($u, '@')) { - throw new Exception('Bad resource'); - exit(1); -} - -if (mb_strpos($u, 'acct:')===0) { - $u = substr($u, 5); -} - -// Just to be a little bit safer, you know, with all the unicode stuff going on -$u = filter_var($u, FILTER_SANITIZE_EMAIL); - -$f = $u . ".xml"; - -if (file_exists($f)) { - header('Content-Disposition: attachment; filename="'.urlencode($f).'"'); - header('Content-type: application/xrd+xml'); - echo file_get_contents($f); -}