Implement shortcuts to caps #2010
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#2010
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Most of the time users want to keep their caps secret, but there are those instances when you want to share caps with people easily (for example, Zooko serving his blog on tahoe). As previously discussed, the current URI and gateway URLs are long and ugly and this creates problems when sharing, especially with people who don't use tahoe (see ticket #882).
To solve this issue, we could implement cap 'shortcuts' that the user registers with the introducer and these shortcuts would act like tinyurls. Then users could have access to a cap with a simple keyword or phrase, which makes sharing over the grid a lot easier. If the user does not want to share their cap over the entire grid, but wants to access the cap easily, they could register the shortcut with just the client.
So in the example of Zooko's blog, Zooko could create a shortcut named 'home' which points to the readonly cap associated with the homepage of his blog. Then users would be able to access his blog via "testgrid.allmydata.org:3456/sc/home", which would forward them to the messy URLs tahoe already uses.
When the client registers with the introducer, it would receive a list of these shortcuts. Whenever the user creates a new shortcut they want to share over the grid, the introducer checks to make sure there are no conflicts and then registers the new shortcut with the introducer. When another user tries to use a shortcut that the client doesn't know about, the client would request a new version of the shortcut list and then appropriately succeed or fail depending on whether the list has that shortcut.
This doesn't solve all of the problems in #882, but I think it would be a good way to make sharing files over http a lot easier until the new caps are implemented. Also this would be a simple way to solve the problem outlined in ticket #958, where Zooko talks about redirection caps for his blog. If the user wants to use a different cap for their shortcut, they would just have to delete the shortcut and create a new shortcut with the same name and a different cap. That way when Zooko switches over to the new cap design, his URL will still be good.
This solution isn't perfect. If the user bookmarks the long and messy URL instead of the shortcut, redirection isn't accomplished. Also I'm not sure if this solution would work nicely once the introducer become decentralized. Furthermore this could be an over engineered solution (why not just use tinyurls instead of creating our own?) but I thought it was an interesting idea that I should at least share with the tahoe community.
This is a major architectural change, to add a new namespace. Before it happens, I think it needs a a complete written architectural design and protocol explanation. A few concerns:
markberger: how would this be better than a tinyurl service, such as http://tinyurl.com?
We should also think about security properties, and MITM attacks on expansion of shortcuts. That's an obvious bug with tinyurl.com. The other obvious bug is disclosing shortcut data to third parties, when it should perhaps be grid-private.