Git Product home page Git Product logo

ipfs-desktop's Introduction

IPFS Desktop

A desktop client for IPFS.

You don't need the command line to run an IPFS node. Just install IPFS Desktop and have all the power of IPFS in your hands. Powered by Web UI.

IPFS Desktop

IPFS Desktop allows you to run your IPFS Node on your machine without having to bother with command line tools. With it, you the power of Web UI on tip of your hands plus a handful of shortcuts you can find on settings.

โš  Please note that this version is not stable yet and might change. Also, Linux support is still experimental and it might not work on every desktop environment. Please file an issue if you find a bug.

Table of Contents

Features

IPFS daemon always running

IPFS Desktop's main feature is to allow you to have the IPFS daemon always running in the background. But fear not! If you need to stop it, you can do it under the 'Advanced' options.

Handle ipfs://, ipns:// and dweb: links

If you come across a link to any of the protocols above, IPFS Desktop will be able to open them and redirect them to your default browser.

Easy add to IPFS

You can easily add files and folders to IPFS:

  • On Windows, you can right click on files to add them to IPFS through IPFS Desktop.
  • On macOS, you can drag and drop them to the tray icon.

Download copied hashes

You can enable, on Settings, a shortcut to download an hash on the keyboard.

Auto-add screenshots

You can enable, on Settings, a shortcut to take screenshots and add them automatically to IPFS.

Install

Go to the latest release page and download IPFS Desktop for your OS.

Install from Source

To install it from source you need Node.js >=10.4.0 and need npm >=6.1.0 installed. This uses node-gyp so you must take a look at their platform specific dependencies.

Then the follow the steps below to clone the source code, install the dependencies and run it the app:

git clone https://github.com/ipfs-shipyard/ipfs-desktop.git
cd ipfs-desktop
npm install
npm start

The IPFS Desktop app will launch and should appear in your OS menu bar.

Translations

The translations are stored on ./src/locales and the English version is the source of truth. Other languages are periodically pulled from Transifex, a web interface to help us translate IPFS Desktop and its components to another languages.

Releasing

  • Bump the version in the package.json & run npm install
  • Commit and push to master
  • CI will build installers for macos, win & linux attach them to a new Draft Release
  • Iterate on changes till you are happy that the release is ready. CI will update the artefacts attached to the draft release as PRs are merged into master.
  • Publish the release. Github will tag master at that point.
  • The latest.yml, latest-mac.yml, latest-linux.yml files on the release are used by the app to determin when an app update is available. Once a release is published, users should recieve the app update. See: https://www.electron.build/auto-update
  • To start work on the next version, bump the version in the package.json and repeat theses steps.

Contribute

Feel free to join in. All welcome. Open an issue!

If you're interested in contributing translations, go to project page on Transifex, create an account, pick a language and start translating.

This repository falls under the IPFS Code of Conduct.

FAQ

Where is the configuration and logs?

The configuration file and logs are located on ~/Library/Application Support/IPFS Desktop on macOS and %appdata%/IPFS Desktop on Windows. For quick access to this folders, just right-click on your tray icon and then 'Logs Directory' or 'Configuration File', depending on what you want.

How do we select the IPFS repo location?

We use ipfsd-ctl, which, in default conditions, will check IPFS_PATH environment variable. If not set, we fallback to $HOME/.ipfs. As soon as the first run has succeded, we save the information about the repository location in the configuration file, which becomes the source of truth.

Which version of IPFS are we running?

Since we're using ipfsd-ctl, we have our own embedded IPFS binary. We try to always have the latest version.

Which flags do we use to boot IPFS?

By default we use the flags --migrate=true --routing=dhtclient ----enable-gc=true when running the IPFS daemon. They can be changed via the configuration file, which can be easily accessed as mentioned above.

License

MIT Protocol Labs, Inc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.