Skip to main content

Distributed web browser

Project description

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

A multi-platform IPFS browser

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

Platforms supported

  • Linux (main target)

  • FreeBSD (or any BSD OS, as long as you have PyCryptodome)

  • MacOS (experimental)

If it works for you, great, but most likely it won’t :) This started as an experiment with quamash and is WIP.

If you want to donate to this project please use the Patreon page

Installation

On Linux systems you can use the AppImage (from the releases page) or install from PyPI. On MacOS and other systems you’ll need to install from PyPI.

PyPI

You need to have python>=3.6 and pip installed. From a virtualenv, or as root, install with:

pip install galacteek

Upgrade with:

pip install -U 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 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.

There is experimental support for reading QR codes containing IPFS addresses, using pyzbar. pyzbar depends on the zbar shared library, so make sure it’s installed on your system (on Linux look for a libzbar or libzbar0 package and install it, on MacOS install it with brew install zbar).

AppImage

For Linux users (arch: x86_64), you can get an AppImage from the releases page. The script used to build the image can be found here

Command-line usage

Use the -d command-line switch to enable debugging output. 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

URL schemes

dweb:/

Right now the application relies on the dweb:/ URL scheme. We are using CIDv1 by default for all content. Starting with go-ipfs version 0.4.21, objects using CIDv1 are in base32 by default, creating the possibility to integrate other URL schemes (like ipfs://<cidv1-base32>) that will treat the CID as the authority. Work is being done to integrate such schemes in the browser and make it the default.

ens://

There is support for accessing IPFS-hosted websites that are registered on Ethereum Name Service (see ENS). Just use ens://mydomain.eth for example as a URL in the browser and you will be redirected to the IPFS website referenced on ENS for this domain.

On this dweb page you can find a list of some ENS+IPFS websites (or with ens://blog.almonit.eth)

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. If using a custom daemon, you should enable pubsub or some features won’t be available.

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

  • File manager with drag-and-drop support

  • Following IPNS hashes

  • ENS (Ethereum Name System) resolving (access to ENS+IPFS websites)

  • Sharing hashmarks over pubsub

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

  • Search content with the ipfs-search search engine

  • Image viewer

  • QR codes from images

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

Keyboard shortcuts

Please see the shortcuts page (or from the application, click on the Information icon in the toolbar, which will open the documentation).

Screenshots

Browsing the Wikipedia mirror over IPFS

Browsing the Wikipedia mirror over IPFS

QR codes

IPFS QR codes

Contributions and contact

Contributions and ideas are more than welcome! Contact by mail at: galacteek AT protonmail DOT com

Requirements

  • python3 >= 3.6

  • go-ipfs >= 0.4.7

  • PyQt5 >= 5.12.2

  • PyQtWebengine >= 5.12

  • 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 icons from the “Oxygen” icons set 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.4.6.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

galacteek-0.4.6-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: galacteek-0.4.6.tar.gz
  • Upload date:
  • Size: 2.5 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.4.6.tar.gz
Algorithm Hash digest
SHA256 3dc3028930fbbb36b42ecbf386216e1676a8f7adbae29dc7eb650dacc0faae59
MD5 cfd9968a68c848ad0b35c0a4733188bc
BLAKE2b-256 3beef706ef2bbaf07c3eab025cc15fef0869bf248b5ec1d42aa03f99f7656ab9

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: galacteek-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 3.1 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.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 53d8c78904b8ccb140b2674dac19ac7f3c4120f0a3defe14e0c2ab4c18cb320a
MD5 b192131b8f8ec87fcab132fb56158047
BLAKE2b-256 53a74b034ef0fa0cac847cb091aab455985127935078d8da9d20a2f2829e8161

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