Skip to main content

IPFS browser

Project description

https://gitlab.com/galacteek/galacteek/raw/master/share/icons/galacteek.png
info:

An async IPFS browser

galacteek is an experimental Qt5-based browser/toolbox for the IPFS peer-to-peer network.

Installation

AppImage

For Linux users (arch: x86_64), you can get an AppImage from the IPFS network here (~138Mb, release CID: QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7).

Just fetch the image (with wget for example or your favorite tool), and execute it afterwards:

wget https://ipfs.io/ipfs/QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7
chmod u+x QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7
./QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7

Or if you already have an IPFS daemon installed and running:

ipfs get QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7
chmod u+x QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7
./QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7

Running the AppImage with the filename unchanged ensures that the application will automatically pin itself (it will pin through IPFS the AppImage that you are using). By doing so you can help redistributing the software faster to the nodes close to you. Renaming the binary disables the self-seeding feature:

mv QmRdNCGFkZ1aZ8ZvihCyHokXr3vG7QF8ut1GnkU2s97oP7 Galacteek-0.3.5.AppImage

Note: go-ipfs version 0.4.18 is included in the AppImage. For reference the AppImage is built with this script. You can use the same command-line arguments as with the regular galacteek runner script. If you are filing an issue, please use the -d switch and provide the debug output.

PIP

You need to have python>=3.5 (python>=3.6 is recommended) and pip installed, as well as go-ipfs. From a virtualenv, or as root, install with:

pip install galacteek

Or building it from source:

pip install -r requirements.txt
python setup.py build install

Now just run the application with:

galacteek

If you don’t have go-ipfs already installed, the application will ask you if you want to automatically download and install it from dist.ipfs.io You need a recent version of go-ipfs (> 0.4.7) with the new DAG API.

For the media player to work on Linux, you will need to install the gstreamer (1.x) package and all the gstreamer plugins.

Command-line usage

Use the -d command-line switch to enable debugging. Using –profile gives you the ability to have separate application profiles (main is the default profile). Use –help for all options.

Development: Use –monitor to enable event-loop monitoring with aiomonitor (install aiomonitor manually as it’s not a dependency). Then connect to the aiomonitor interface with nc localhost 50101

Features

galacteek can either spawn an IPFS daemon and use it as transport, or connect to an existing IPFS daemon. By default it will try to run a daemon. You can change the IPFS connection settings by clicking on the settings icon in the toolbar and restart the application afterwards.

  • Browsing sessions with automatic pinning (pins every page you browse)

  • Feeds (following IPNS hashes)

  • Sharing hashmarks over pubsub

  • File manager with drag-and-drop support

  • Basic built-in media player with IPFS-stored playlists

  • Search content with the ipfs-search search engine

  • Decentralized application development/testing with the Javascript API (using window.ipfs)

Keyboard shortcuts

Main window keyboard shortcuts

  • Ctrl + t: Open a new IPFS browsing tab

  • Ctrl + s: Search with ipfs-search

  • Ctrl + w: Close current tab

  • Ctrl + m: Open the IPFS hashmarks manager

  • Ctrl + f: Open the file manager

  • Ctrl + o: Browse IPFS path from the clipboard

  • Ctrl + e: Explore IPFS path from the clipboard

  • Ctrl + g: DAG view of IPFS object from the clipboard

  • Ctrl + p: Pin IPFS object from the clipboard

  • Ctrl + i: Open the IPLD explorer for the IPFS object referenced in the clipboard

  • Ctrl + F12: Show pinning status

Browser keyboard shortcuts

  • Ctrl + b: Bookmark current page

  • Ctrl + l: Load an IPFS CID

  • Ctrl + r or F5: Reload the current page

  • Ctrl + +: Zoom in

  • Ctrl + -: Zoom out

IPFS views keyboard shortcuts (file manager, hash views, dag viewer)

  • Ctrl + h: Copy selected item’s hash (CID) to the clipboard

  • Ctrl + p: Copy selected item’s IPFS path to the clipboard

  • Ctrl + w: Close tab/hash view

Screenshots

Browsing the Wikipedia mirror over IPFS

Browsing the Wikipedia mirror over IPFS

Platforms supported

Mainly tested on Linux. The application relies heavily on quamash which should work with most platforms (for OS X there are still some asyncio issues to fix).

Requirements

  • python3 >= 3.5.3 (it is strongly suggested to use python>=3.6)

  • go-ipfs > 0.4.7

  • qt5

  • PyQt5 with QtWebEngine support

  • gstreamer (on Linux) for media player support

  • quamash

  • aiohttp

  • aioipfs

License

galacteek is offered under the GNU GPL3 license

Some elements from the ipfs-css repository (CSS files and fonts) are included

Some of the beautiful artwork (under the Creative Commons CC-BY-SA license) from the ipfs-logo project’s repository is included, unchanged.

Main icon made by srip (flaticon, CC by 3.0)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galacteek-0.3.5.tar.gz (3.1 MB view hashes)

Uploaded Source

Built Distribution

galacteek-0.3.5-py3-none-any.whl (3.6 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page