txt: ## dist_cpan-DONPDONP-CamelPub.md
  ## INSTALL
  
  ### install from CPAN
  
  ```
  $ zef install CamelPub
  
  ```
  
  ### install from Source
  
  ```
  $ pijul clone https://nest.pijul.org/donpdonp/camelpub
  Pulling patches: 100% (60/60), done.
  Applying patches: 100% (60/60), done.
  $ cd camelpub
  $ zef install .  
  ===> Testing: CamelPub:ver<0.2.0>
  ===> Testing [OK] for CamelPub:ver<0.2.0>
  ===> Installing: CamelPub:ver<0.2.0>
  
  1 bin/ script [camelpub] installed to:
  /home/donp/.rakudobrew/moar-2018.06/install/share/perl6/site/bin
  
  ```
  
  ### setup
  
  ```
   $ /home/donp/.rakudobrew/moar-2018.06/install/share/perl6/site/bin/camelpub server
  warning: created /home/donp/.config/camelpub/
  Creating profile.
  What is your preferred username?
  > z2
  What is your activitypub profile page or homepage? example: https://mastodon.social/users/foo
  > https://donpark.org/z2
  saving profile to /home/donp/.config/camelpub/activitypub.json
  loaded profile for z2@donpark.org https://donpark.org/z2
  upgrading database to schema version 1
  server listening localhost:2314
  
  ```
  
  From an activitypub site, mastodon for example, do a search for '@z2@donpark.org'. You'll see the requests being made
  
  ```
  GET /.well-known/webfinger?resource=acct:z2@donpark.org  
  -> acct:z2@donpark.org webfinger returns https://donpark.org/z2
  
  GET /z2 Accept: application/activity+json, application/ld+json 
  -> sending activitypub profile for https://donpark.org/z2
  
  GET /z2 Accept: application/activity+json, application/ld+json 
  -> sending activitypub profile for https://donpark.org/z2
  
  GET /z2/outbox Accept: application/activity+json, application/ld+json 
  activitypub profile requested for unknown path /z2/outbox
  
  ```
  
  and the activitypub friend request itself
  
  ```
  POST /z2/inbox  [application/activity+json]
  -> https://donpark.org/z2 INBOX POST
  -> {
    "signature": {
      "created": "2018-08-02T22:06:44Z",
      "creator": "https://toot.donp.org/users/donpdonp#main-key",
      "type": "RsaSignature2017",
      "signatureValue": "IjQ6vF07QKq9v00E2h5pau9Kx3SvTnSFhjJeEuHBj50poC4bYWgWkg/X0jZosgUA1w2wwZWKsHKg/FcU6wlj+40V0cYfQp3dDAsVd0
  GgPOxUXLbizNPbMCLpeRrC3FtSz81kmOTNmP0MrbyA6dJ0t2GwAOVR0E31M3I3GXJKhwtA704ZffimO2J42cdbzspKS6CsqWcnbUQP2oDFn8Pm1Sbf5QpmoKoiG5CusUQmJP2uVWcY+JyCEaAH1R0tDHB6S4iPOYdJS7gWdDt/0Kd0Mc4scE7oJMy2TtXd4jCCv7HWtZp90Mw+nI8SistUGrs1i5v4yp6cHrG26lcJGTMMnQ=="
    },
    "type": "Follow",
    "actor": "https://toot.donp.org/users/donpdonp",
    "@context": [
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1",
      {
        "value": "schema:value",
        "featured": {
          "@id": "toot:featured",
          "@type": "@id"
        },
        "focalPoint": {
          "@container": "@list",
          "@id": "toot:focalPoint"
        },
        "sensitive": "as:sensitive",
        "manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
        "Emoji": "toot:Emoji",
        "schema": "http://schema.org#",
        "toot": "http://joinmastodon.org/ns#",
        "conversation": "ostatus:conversation",
        "ostatus": "http://ostatus.org#",
        "movedTo": {
          "@id": "as:movedTo",
          "@type": "@id"
        },
        "PropertyValue": "schema:PropertyValue",
        "atomUri": "ostatus:atomUri",
        "Hashtag": "as:Hashtag",
        "inReplyToAtomUri": "ostatus:inReplyToAtomUri"
      }
    ],
    "id": "https://toot.donp.org/ab524af1-ae09-4268-b8ad-920f8f626111",
    "object": "https://donpark.org/z2"
  }
  
  ```
  