Provided by: solid-auth_0.91-2_all 

NAME
solid_auth - A Solid management tool
SYNOPSIS
# Set your default webid
export SOLID_WEBID=https://timbl.inrupt.net/profile/card#me
# Authentication to a pod
solid_auth authenticate
# Get the http headers for a authenticated request
solid_auth headers GET https://timbl.inrupt.net/inbox/
# Act like a curl command and fetch authenticated content
solid_auth curl -- -X GET https://timbl.inrupt.net/inbox/
# Add some data
solid_auth curl -- -X POST \
-H "Content-Type: text/plain" \
-d "abc" \
https://timbl.inrupt.net/public/
# Add a file
solid_auth curl -- -X PUT \
-H "Content-Type: application/ld+json" \
-d "@myfile.jsonld" \
https://timbl.inrupt.net/public/myfile.jsonld
# Set a solid base url
export SOLID_REMOTE_BASE=https://timbl.inrupt.net
# List all resources on some Pod path
solid_auth list /public/
# Get some data
solid_auth get /inbox/
# Post some data
solid_auth post /inbox/ myfile.jsonld
# Put some data
solid_auth -f put /public/myfile.txt myfile.txt
# Patch data
solid_auth -f patch /public/myfile.txt.meta - <<EOF
INSERT DATA { <> <http://example.org> 1234 }
EOF
# Create a folder
solid_auth -f put /public/mytestfolder/
# Delete some data
solid_auth delete /public/myfile.txt
# Mirror a resource, container or tree
mkdir /data/my_copy
solid_auth -r mirror /public/ /data/my_copy
# Upload a directory to the pod
# Add the -x option to do it for real (only a test without this option)
solid_auth -r upload /data/my_copy /public/
# Clean all files in a container
# Add the -x option to do it for real (only a test without this option)
solid_auth --keep clean /demo/
# Clean a complete container
# Add the -x option to do it for real (only a test without this option)
solid_auth -r clean /demo/
ENVIRONMENT
SOLID_WEBID
Your WebId.
SOLID_REMOTE_BASE
The Base URL that is used for all delete, get, head, options post, put, patch requests.
SOLID_CLIENT_ID
The URL to a static client configuration. See "etc/web-solid-auth.jsonld" for an example. This file,
edited for your own environment, needs to be published on some public accessible webserver.
CONFIGURATION
--webid
Your WebId.
--base
The Base URL that is used for all delete, get, head, options post, put, patch requests.
--clientid
The URL to a static client configuration. See "etc/web-solid-auth.jsonld" for an example. This file,
edited for your own environment, needs to be published on some public accessible webserver.
--skip
Skip resources that already exist (mirror).
--delete
Delete local files that are not in the remote container (mirror).
--keep
Keep containers when cleaning data (clean).
--etag=STRING
Only update the data when the 'Etag' header matches the given string (put,patch). E.g. use the
"head" command to find the ETag of a resource :
$ solid_auth head /demo/LICENSE
...
ETag: "189aa19989dc47eab46c9f2e8c47d0836bb08cb09f7863cbf3cd3bb9a751be27"
...
Now update the resource with ETag protection
$ solid_auth \
--etag=189aa19989dc47eab46c9f2e8c47d0836bb08cb09f7863cbf3cd3bb9a751be27 \
put /demo/LICENSE LICENSE
--force | -f
Force overwriting existing resources (put, patch).
-r Recursive (clean, mirror, upload).
-x Do it for real. The commands "clean" and "upload" will run by default in safe mode.
-H name=value
Add a header to a request (repeatable) for "get", "post", "head", "options" and "delete".
COMMAND
authenticate
Start an authentication process for your WebId. You will be presented with a URL that you need to
open in a webbrowser. After a successfull login the command can be closed.
The webbrowser needs to be opened on the same host as the where you where you run the solid_auth
command.
headers METHOD URL
Return the Authentication and DPoP headers for a HTTP "METHOD" request to "URL".
curl CURL-OPTS
Execute a curl command with Authentication and DPoP headers added. Add a "--" option to the
"CURL-OPTS" to stop solid_auth from interpreting Curl options.
list URL
List the resources in a LDP container at URL.
mirror [-rx] [--skip] [--delete] URL DIRECTORY
Mirror the contents of a container to a local directory. Optional provide "-r" option for recursive
mirror.
upload [-rx] DIRECTORY URL
Upload a directorty to a container. Optional provide "-r" option for recursive upload. With the "-x"
option, the command will run in demo mode.
clean [-rx] [--keep] URL
Clean all resources in a directory. Optional provide "-r" option for recursive clean. With the "-x"
option, the command will run in demo mode. With the "--keep" options all container will be kept.
get URL
Return the response of a HTTP GET request to URL.
post URL FILE [MIMETYPE]
Return the HTTP Message of a HTTP POST request of the FILE with MIMETYPE. Uses libmagic to guess the
mimetype.
put URL [FILE] [MIMETYPE]
Return the HTTP Message of a HTTP PUT request of the FILE with MIMETYPE. Uses libmagic to guess the
mimetype.
When the URL ends with a slash (/), then a new container will be created.
patch URL FILE|SPARQL
Send the contents of a SPARQL patch file or string to a URL. Return the HTTP Message of the HTTP
PATCH request to the URL.
head URL
Return the HTTP Header of a HTTP HEAD request to URL.
head OPTIONS
Return the HTTP Header of a HTTP OPTIONS request to URL.
delete URL
Return the HTTP Message of a HTTP DELETE request to URL.
id_token
Show the contents of the JWT id token.
access_token
Show the contents of the JWT access token.
INSPIRATION
This was very much inspired by the Python solid-flask code by Rai <http://agentydragon.com> at
<https://gitlab.com/agentydragon/solid-flask>, and Jeff Zucker's <https://github.com/jeff-zucker> Solid-
Shell at <https://www.npmjs.com/package/solid-shell>.
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Patrick Hochstenbach.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
programming language system itself.
perl v5.36.0 2023-09-04 SOLID_AUTH(1p)