Skip to main content

IPFS browser

Project description


=========
Galacteek
=========

.. image:: https://gitlab.com/galacteek/galacteek/raw/master/share/icons/galacteek.png
:align: center

: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 directly from IPFS
`here <https://ipfs.io/ipfs/QmWsqSmkrsL3r3Rh3Zc8CEBMqcgrhDmYwfBnKTZhHroDqp>`_
(**~138Mb**, release CID: **QmWsqSmkrsL3r3Rh3Zc8CEBMqcgrhDmYwfBnKTZhHroDqp**).

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

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

Running the AppImage with the filename unchanged means 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 QmWsqSmkrsL3r3Rh3Zc8CEBMqcgrhDmYwfBnKTZhHroDqp Galacteek-0.3.2.AppImage

*Note*: go-ipfs_ version *0.4.18* is included in the AppImage.

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:

.. code-block:: shell

pip install galacteek

Or building it from source:

.. code-block:: shell

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

Now just run the application with:

.. code-block:: shell

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 through the *Edit* -> *Settings* menu
and restart the application afterwards.

- Browsing sessions with automatic pinning (pins every page you browse)
- Feeds (following IPNS hashes)
- 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*)

.. include:: galacteek/docs/manual/en/shortcuts.rst

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

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
===========

See the screenshots_ directory.

.. figure:: https://gitlab.com/galacteek/galacteek/raw/master/screenshots/browse-wikipedia-small.png
:target: https://gitlab.com/galacteek/galacteek/raw/master/screenshots/browse-wikipedia.png
:align: center
:alt: 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 (untested on OS X which is not officially
supported by quamash).

Donations
=========

BTC: 3HSsNcwzkiWGu6wB18BC6D37JHExpxZvyS

You can also find donations details in the application's information menu.

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 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)

.. _aiohttp: https://pypi.python.org/pypi/aiohttp
.. _aioipfs: https://gitlab.com/cipres/aioipfs
.. _aiomonitor: https://github.com/aio-libs/aiomonitor
.. _quamash: https://github.com/harvimt/quamash
.. _go-ipfs: https://github.com/ipfs/go-ipfs
.. _dist.ipfs.io: https://dist.ipfs.io
.. _IPFS: https://ipfs.io
.. _ipfs-logo: https://github.com/ipfs/logo
.. _cxFreeze: https://anthony-tuininga.github.io/cx_Freeze/
.. _screenshots: https://gitlab.com/galacteek/galacteek/tree/master/screenshots
.. _ipfs-search: https://ipfs-search.com
.. _releases: https://github.com/eversum/galacteek/releases
.. _srip: https://www.flaticon.com/authors/srip


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.3.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

galacteek-0.3.3-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file galacteek-0.3.3.tar.gz.

File metadata

  • Download URL: galacteek-0.3.3.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.8

File hashes

Hashes for galacteek-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c52c0f14c32c95e05378b2f70a2825f829d8b2c2f84506d998149020644a473b
MD5 28e247e7e0c4b7ea251187e09e3fe5a4
BLAKE2b-256 07a64c84f0b631037f4f0fb32a86ce355a33f04ad09f4dfd3206df3ae60c4f8c

See more details on using hashes here.

Provenance

File details

Details for the file galacteek-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: galacteek-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.8

File hashes

Hashes for galacteek-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0b98d8a0bb4e5becb5191ca85e849d390b9f7093993ca48f4732536c60b5ae91
MD5 0fae551be692aa7b49e9f67927536f8d
BLAKE2b-256 2c68ea8851fa70352458ca191406862ab9da6c986e11dcd9da0cd37c54a7387e

See more details on using hashes here.

Provenance

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