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

IPFS node info and node controls #12

Open
3 tasks
flyingzumwalt opened this issue Feb 7, 2017 · 5 comments
Open
3 tasks

IPFS node info and node controls #12

flyingzumwalt opened this issue Feb 7, 2017 · 5 comments

Comments

@flyingzumwalt
Copy link
Contributor

flyingzumwalt commented Feb 7, 2017

Show controls to start + stop the IPFS daemon within the web extension.

Use the code from @whyrusleeping's extension https://github.com/whyrusleeping/ipfs-webext to add a start/stop IPFS operation to @lidel's web extension: https://github.com/lidel/ipfs-firefox-addon

If we have time, use the UI from station https://github.com/ipfs/station, similar to how Francisco used the station UI in the chrome extension

The priority:

  • integrate @whyrusleeping's code for starting & stopping the daemon into @lidel's web extension
  • update the install process as necessary
  • (if there's time) integrate the UI elements from station into the new web extension

If we have to bump the station UI part to a separate issue and do the work on a future sprint, that's fine. The key is to get the start/stop functionality into @lidel's web extension.

So the end-result of this work might merely add a "start/stop ipfs" button into this:
lidel web extension snapshot

but if we have time, it will also transform that UI to look more like this:
station chrome extension ui snapshot

@flyingzumwalt
Copy link
Contributor Author

basically need to have an ipfs node in a browser extension that can be used by

  • js code in the browser
  • protocol handler

@flyingzumwalt
Copy link
Contributor Author

@haadcode did you get a chance to look into this? Can we reuse this code?

@flyingzumwalt
Copy link
Contributor Author

Note: we probably don't want to use francisco's code from the chrome extension. Instead we want to use the code from @lidel's web extension: https://github.com/lidel/ipfs-firefox-addon and @whyrusleeping's extension https://github.com/whyrusleeping/ipfs-webext but we want to use the UI from station https://github.com/ipfs/station, similar to how Francisco used the station UI in the chrome extension

@flyingzumwalt flyingzumwalt changed the title Web Extension uses station to show ipfs node controls & info on the IPFS icon in browser menu bar Web Extension uses shows ipfs node controls & info on the IPFS icon in browser menu bar Feb 24, 2017
@ghost ghost removed the status/ready Ready to be worked label Mar 28, 2017
@flyingzumwalt flyingzumwalt changed the title Web Extension uses shows ipfs node controls & info on the IPFS icon in browser menu bar Web Extension shows ipfs node controls & info on the IPFS icon in browser menu bar Apr 15, 2017
@ghost ghost changed the title Web Extension shows ipfs node controls & info on the IPFS icon in browser menu bar IPFS node info and node controls Apr 18, 2017
@ghost ghost added the ux label Apr 18, 2017
@daviddias daviddias added the status/ready Ready to be worked label Dec 13, 2017
@olizilla
Copy link
Member

The node info part of this issue is in ipfs-companion.

Being able to start/stop an ipfs daemon form a WebExtension would be very nice. It relies on the the runtime.connectNative webext api being available and needs an custom ipfs-manager app to be installed on the users system, which can talk the browsers Native Messaging protocol... it'd be much like running another server locally, whose job it is to stop / start / report on ipfs... from @whyrusleeping's readme:

The way i see this extension working when "done" is roughly as follows:

  • Extension ships with a small shell script that is able to download an ipfs-manager type program that does a few things:
    - communications with firefox via nativeMessaging (does the length prefixed json message stuff)
    - Is able to download, init, start and stop an ipfs daemon
    - Is able to control the ipfs daemon via messages from the webextension

https://developer.chrome.com/apps/nativeMessaging

This could be made to work in firefox and chrome today, but is a large chunk of work. The ipfs-manager app can't be installed with the add-on, as it's external to browser add-on. It would have to be installed along with an ipfs binary or station. We don't want users to have to install even more things to make the browser integration work, so it should probably happen automatically if you install station.

@lidel
Copy link
Member

lidel commented Dec 14, 2017

Our ipfs-manager is named.. Station IPFS Desktop 🙃
What is missing to to make IPFS Desktop to understand Native Messaging, so that Companion can detect and talk to it. If we need a separate script/binary, then it should be opportunistically installed with IPFS Desktop, like @olizilla suggested.

I strongly hope we bundle/develop this functionality within IPFS Desktop itself, limiting the number of projects that need to be maintained.

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

No branches or pull requests

5 participants