{"action":"created","issue":{"url":"https://api.github.com/repos/dat-land/dat-desktop/issues/518","repository_url":"https://api.github.com/repos/dat-land/dat-desktop","labels_url":"https://api.github.com/repos/dat-land/dat-desktop/issues/518/labels{/name}","comments_url":"https://api.github.com/repos/dat-land/dat-desktop/issues/518/comments","events_url":"https://api.github.com/repos/dat-land/dat-desktop/issues/518/events","html_url":"https://github.com/dat-land/dat-desktop/issues/518","id":298042458,"node_id":"MDU6SXNzdWUyOTgwNDI0NTg=","number":518,"title":"Add local gateway to allow browsers access to the network.","user":{"login":"RangerMauve","id":911495,"node_id":"MDQ6VXNlcjkxMTQ5NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/911495?v=4","gravatar_id":"","url":"https://api.github.com/users/RangerMauve","html_url":"https://github.com/RangerMauve","followers_url":"https://api.github.com/users/RangerMauve/followers","following_url":"https://api.github.com/users/RangerMauve/following{/other_user}","gists_url":"https://api.github.com/users/RangerMauve/gists{/gist_id}","starred_url":"https://api.github.com/users/RangerMauve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RangerMauve/subscriptions","organizations_url":"https://api.github.com/users/RangerMauve/orgs","repos_url":"https://api.github.com/users/RangerMauve/repos","events_url":"https://api.github.com/users/RangerMauve/events{/privacy}","received_events_url":"https://api.github.com/users/RangerMauve/received_events","type":"User","site_admin":false},"labels":[{"id":543567803,"node_id":"MDU6TGFiZWw1NDM1Njc4MDM=","url":"https://api.github.com/repos/dat-land/dat-desktop/labels/Priority:%20Medium","name":"Priority: Medium","color":"fbca04","default":false},{"id":504878009,"node_id":"MDU6TGFiZWw1MDQ4NzgwMDk=","url":"https://api.github.com/repos/dat-land/dat-desktop/labels/Type:%20Enhancement","name":"Type: Enhancement","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-02-17T22:39:09Z","updated_at":"2018-06-04T14:18:53Z","closed_at":null,"author_association":"NONE","body":"The IPFS-companion extension has been doing amazing things for allowing browsers to integrate with the network.\r\n\r\nThey allow stuff like [rerouting ipfs:// URLs to the local gateway](https://github.com/ipfs-shipyard/ipfs-companion#automagical-detection-of-ipfs-resources) and providing a global [window.ipfs](https://github.com/ipfs-shipyard/ipfs-companion/issues/330) API that allows web pages to read and upload stuff to IPFS.\r\n\r\nThese features work by using an HTTP gateway for the local IPFS node installed on the user's machine which the extension will reroute requests to and proxy the global IPFS object API calls to.\r\n\r\nSimilar features in dat-land can only be found by installing the [Beaker](https://beakerbrowser.com) browser, which although it's really cool, it probably won't be the default choice for most casual users of the web.\r\n\r\nBeaker supports the [dat://](https://beakerbrowser.com/docs/inside-beaker/dat-files-protocol.html) protocol and a [DatArchive](https://beakerbrowser.com/docs/apis/dat.html) global which could both be provided through a similar extension as IPFS-companion.\r\n\r\nIn order to replicate what IPFS-companion did for a dat-specific extension, the extension would need some way of accessing dat since we can't just run node in a browser extension.\r\n\r\nIf dat-desktop allowed users to access all the dat APIs from an HTTP gateway, all that people will need to access data from dat and use distributed web apps is to install dat-desktop and a browser extension for whatever browser they're already using.\r\n\r\nWould PRs be welcome for this functionality?"},"comment":{"url":"https://api.github.com/repos/dat-land/dat-desktop/issues/comments/394371192","html_url":"https://github.com/dat-land/dat-desktop/issues/518#issuecomment-394371192","issue_url":"https://api.github.com/repos/dat-land/dat-desktop/issues/518","id":394371192,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDM3MTE5Mg==","user":{"login":"RangerMauve","id":911495,"node_id":"MDQ6VXNlcjkxMTQ5NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/911495?v=4","gravatar_id":"","url":"https://api.github.com/users/RangerMauve","html_url":"https://github.com/RangerMauve","followers_url":"https://api.github.com/users/RangerMauve/followers","following_url":"https://api.github.com/users/RangerMauve/following{/other_user}","gists_url":"https://api.github.com/users/RangerMauve/gists{/gist_id}","starred_url":"https://api.github.com/users/RangerMauve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RangerMauve/subscriptions","organizations_url":"https://api.github.com/users/RangerMauve/orgs","repos_url":"https://api.github.com/users/RangerMauve/repos","events_url":"https://api.github.com/users/RangerMauve/events{/privacy}","received_events_url":"https://api.github.com/users/RangerMauve/received_events","type":"User","site_admin":false},"created_at":"2018-06-04T14:18:53Z","updated_at":"2018-06-04T14:18:53Z","author_association":"NONE","body":"Just gonna bump this since I've got the [dat-polyfill](https://github.com/RangerMauve/dat-polyfill) to a state where it can be used to run Fritter using a gateway.\r\n\r\nAlso, if there's a gateway set up in dat-desktop, you can use `registerProtocolHandler` to have dat-desktop intercept `dat://` urls, and have it change the url to point to the local gateway and open in the user's default browser.\r\n\r\nThat would enable people to just install the desktop and not worry about browser extension compatibility."}}
{"actor":{"display_login":"RangerMauve"}}