share

share #

Usage #

./uplink.exe share [ALLOWED_PATH_PREFIX]... [flags]
uplink share [ALLOWED_PATH_PREFIX]... [flags]
uplink share [ALLOWED_PATH_PREFIX]... [flags]
An access generated using uplink share with no arguments creates an access to your entire project with read permissions.

Flags #

FlagDescription
--access stringthe serialized access, or name of the access to use
--auth-service string

url for shared auth service

Asia https://auth.ap1.storjshare.io

US https://auth.us1.storjshare.io

EU https://auth.eu1.storjshare.io

--base-url string

the base url for link sharing

Asia https://link.ap1.storjshare.io

US https://link.us1.storjshare.io

EU https://link.eu1.storjshare.io

--disallow-deletesif true, disallow deletes
--disallow-listsif true, disallow lists
--disallow-readsif true, disallow reads
--disallow-writesif true, disallow writes
--dns stringspecify your custom hostname. if set, returns dns settings for web hosting. implies --register and --public
--export-to stringpath to export the shared access to
--help, -hhelp for share
--not-afterdisallow access after this time (e.g. ‘+2h’, ‘2020-01-02T15:01:01-01:00’)
--not-beforedisallow access before this time (e.g. ‘+2h’, ‘2020-01-02T15:01:01-01:00’)
--publicif true, the access will be public. --dnsand --urloverride this
--readonlyimplies --disallow-writes and --disallow-deletes
--registerif true, creates and registers access grant
--urlif true, returns a url for the shared path. implies --register and --public
--writeonlyimplies --disallow-reads and --disallow-lists

Examples #

Share a single object #

./uplink.exe share sj://cakes/cheesecake.jpg
uplink share sj://cakes/cheesecake.jpg
uplink share sj://cakes/cheesecake.jpg

Notice that by default, only download (read) and list operations are allowed.

=========== ACCESS RESTRICTIONS ==========================================================
Download  : Allowed
Upload    : Disallowed
Lists     : Allowed
Deletes   : Disallowed
NotBefore : No restriction
NotAfter  : No restriction
Paths     : sj://cakes/cheesecake.jpg
=========== SERIALIZED ACCESS WITH THE ABOVE RESTRICTIONS TO SHARE WITH OTHERS ===========
Access    : 12yUGNqdsKX1Xky2qVoGwdpL...

Share a bucket with all permissions #

./uplink.exe share sj://cakes/ --readonly=false
uplink share sj://cakes/ --readonly=false
uplink share sj://cakes/ --readonly=false

As the --readonly flag is set to false, uploads and deletes are allowed.

=========== ACCESS RESTRICTIONS ==========================================================
Download  : Allowed
Upload    : Allowed
Lists     : Allowed
Deletes   : Allowed
NotBefore : No restriction
NotAfter  : No restriction
Paths     : sj://cakes/
=========== SERIALIZED ACCESS WITH THE ABOVE RESTRICTIONS TO SHARE WITH OTHERS ===========
Access    : 12BncZWg9xc4GyXCgCi3YvBg...

Register with Gateway MT #

Generate credentials to use with our S3 multitenant gateway (beta): GatewayMT

./uplink.exe share sj://cakes/ --register --auth-service=https://auth.us1.storjshare.io
uplink share sj://cakes/ --register --auth-service=https://auth.us1.storjshare.io
uplink share sj://cakes/ --register --auth-service=https://auth.us1.storjshare.io

Notice the endpoint generated for Gateway MT gateway.us1.storjshare.io corresponds to the auth service used auth.us1.storjshare.io

=========== ACCESS RESTRICTIONS ==========================================================
Download  : Allowed
Upload    : Disallowed
Lists     : Allowed
Deletes   : Disallowed
NotBefore : No restriction
NotAfter  : No restriction
Paths     : sj://cakes/ (entire bucket)
=========== SERIALIZED ACCESS WITH THE ABOVE RESTRICTIONS TO SHARE WITH OTHERS ===========
Access    : 1Q74vfxunqiAQ15WPxPqreya...
========== CREDENTIALS ===================================================================
Access Key ID: jvguri...
Secret Key   : j3nj4x...
Endpoint     : https://gateway.us1.storjshare.io

You can also generate a URL to share your projects/buckets/objects

./uplink.exe share sj://cakes/ --url --not-after=none --base-url=https://link.us1.storjshare.io
uplink share sj://cakes/ --url --not-after=none --base-url=https://link.us1.storjshare.io
uplink share sj://cakes/ --url --not-after=none --base-url=https://link.us1.storjshare.io

Note that specifying --base-url is optional, but the --not-after is mandatory. If you do not want to specify date or offset - you can specify --not-after=none.

See flags of share command for details.

=========== ACCESS RESTRICTIONS ==========================================================
Download  : Allowed
Upload    : Disallowed
Lists     : Allowed
Deletes   : Disallowed
NotBefore : No restriction
NotAfter  : No restriction
Paths     : sj://cakes/ (entire bucket)
=========== SERIALIZED ACCESS WITH THE ABOVE RESTRICTIONS TO SHARE WITH OTHERS ===========
Access    : 1Q74vfxunqiAQ15WPxPqreya...
========== CREDENTIALS ===================================================================
Access Key ID: jvguri...
Secret Key   : j3nj4x...
Endpoint     : https://gateway.us1.storjshare.io
Public Access: true
=========== BROWSER URL ==================================================================
REMINDER  : Object key must end in '/' when trying to share recursively
URL       : https://link.us1.storjshare.io/s/jvguri.../cakes

Also note that the URL uses the same Gateway MT access key, so if you have that already, you don’t necessarily need to run this command to generate a shareable link.

https://link.<region>.storjshare.io/s/<access key>/<object path>

To download content directly, use /raw/ in Linkshare URL ex: https://link.us1.storjshare.io/raw/ju34skavohcqezr6vlfgshg5nmjq/dwebdemo/isthataquestion.mp4

To view the object location map, use /s/ in Linkshare URL ex: https://link.us1.storjshare.io/s/ju34skavohcqezr6vlfgshg5nmjq/dwebdemo/isthataquestion.mp4

Webhosting #

For more detail, visit the documentation on hosting a static website with the Uplink CLI.

While you may share individual objects with the above linksharing instructions, you must share a bucket or object prefix for webhosting. Your web address will render the index.html file.

./uplink.exe share --dns www.mysite.com sj://cakes/ --base-url https://link.us1.storjshare.io
uplink share --dns www.mysite.com sj://cakes/ --base-url https://link.us1.storjshare.io
uplink share --dns www.mysite.com sj://cakes/ --base-url https://link.us1.storjshare.io
=========== ACCESS RESTRICTIONS ==========================================================
Download  : Allowed
Upload    : Disallowed
Lists     : Allowed
Deletes   : Disallowed
NotBefore : No restriction
NotAfter  : No restriction
Paths     : sj://cakes/ (entire bucket)
=========== SERIALIZED ACCESS WITH THE ABOVE RESTRICTIONS TO SHARE WITH OTHERS ===========
Access    : 12BncZWg9xc4GyXCDX73...
========== CREDENTIALS ===================================================================
Access Key ID: ju3ga56lfk7x...
Secret Key   : j2psszecoqtc...
Endpoint     : https://gateway.us1.storjshare.io
Public Access:  true
=========== DNS INFO =====================================================================
Remember to update the $ORIGIN with your domain name. You may also change the $TTL.
$ORIGIN example.com.
$TTL    3600
www.mysite.com    	IN	CNAME	link.us1.storjshare.io.
txt-www.mysite.com	IN	TXT  	storj-root:cakes
txt-www.mysite.com	IN	TXT  	storj-access:ju3ga56lfk7x...

Use the generated DNS info to connect your domain name to your shared objects.

Note you can use any hostname in place of www.mysite.com in the example. The base-url is also optional.