Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDEP-0002:datdot-uri-scheme #20

Open
3 tasks
Tracked by #1
serapath opened this issue May 18, 2020 · 2 comments
Open
3 tasks
Tracked by #1

DDEP-0002:datdot-uri-scheme #20

serapath opened this issue May 18, 2020 · 2 comments

Comments

@serapath
Copy link
Member

serapath commented May 18, 2020

@todo

  • add first draft of uri scheme proposal to include an app handler
  • deal with datdot addresses
  • specify standard for "viewer websites" (= installable datdot apps)

inspiration

e.g.

const protocol = `datdot:`
const dhost = `13f94sj9tjw4h40t294hg24h9` // example
const port = `60318` // example port of localhost websocket daemon
const hostname = `${dhost}[:${port}]`
const version_tag = `v123` // example
const hier_path = `foo/bar/baz` // example
const query = `foo=bar&beep=boop` // example
const fragment = `foobarbaz` // example
const uri = `${protocol}//${dhostname}[+${version_tag}][/${hier_path}][?${query}][#${fragment}]`
@serapath serapath mentioned this issue May 18, 2020
27 tasks
@serapath
Copy link
Member Author

The structure/protocol behind a certain DHT topic and/or hypercore(s) (e.g. e.g. hypertrie, hyperdrive, cabal, etc...) is solved by DEP-007 and this issue about "related feeds" proposal, so basically, so you don't even need any custom protocol handler at all when it comes to sharing a links


BUT:

Which of the of compatible "apps" to use to open content?

  • is it a default app?
  • is it a custom app?

This is maybe a "related" but different problem.


related (sub) proposal:

context
Because it is hard to get new custom protocol handlers into browser, so you can instruct the browser which app to use to show content, i would recommend a different URL scheme, that allows more flexibility, because it only requires a single generic protocol handler for the entire ecosystem.

It is an alternative that does not depend on IANA Or others to:

proposed format:

  1. <querystring> = <param1=arg1&paramN=argN>
  2. <p2p url> = <protocol>://<user>:<pass>@<subprotocol>:<hostname>:<port>/<path>?<querystring>#<fragment>

examples

  • dat://cabal:87ed2e3b160f261a032af03921a3bd09227d0a4cde73466c17114816cae43336+5
  • web+dat://cabal:example.chat:8080/channel/lobby?name=joe&status=idle#2020.05.09-13:37

alternative

any thouhgts on that and whether that is part of this or a separate spec proposal?

related/other sources of inspiration:

@serapath
Copy link
Member Author

a reliable standard way to tell what "content" is behind a "dat address"?

* Like if i had a website where you can paste in a dat address (or swarmkey), you would be able to figure out all "types" of data available
* e.g. a `"dat address"` could make available a `hyperdrive` and also serve as a `cabal channel` (where people talk about the hyperdrive)

Next, people could maintain links to `"viewer websites"`
for each of the detectable data or protocol types and it comes with default viewer websites
* Finally, if people click `[open address]` it will open that new website
  (similar to open the correct desktop program for a file extension) and that website will load the content

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant