All Projects → almonit → almonit-plugin

almonit / almonit-plugin

Licence: MIT license
ENS+IPFS Firefox plugin by Almonit

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to almonit-plugin

Qri
you're invited to a data party!
Stars: ✭ 1,003 (+5800%)
Mutual labels:  ipfs, web3
Hs Web3
Web3 API for Haskell.
Stars: ✭ 127 (+647.06%)
Mutual labels:  ipfs, web3
Awesome Web3
🚀 A curated list of tools, libs and resources to help you build awesome dapps
Stars: ✭ 104 (+511.76%)
Mutual labels:  ipfs, web3
openzeppelin-network.js
An easy to use and reliable library that provides one line access to Web3 API.
Stars: ✭ 45 (+164.71%)
Mutual labels:  web3, web3js
dapps.earth
Source code for dapps.earth: IPFS and Swarm gateway
Stars: ✭ 12 (-29.41%)
Mutual labels:  ipfs, ens
Alpha
Follow the white rabbit 🐇
Stars: ✭ 304 (+1688.24%)
Mutual labels:  ipfs, web3
Cyb Archeology
🌎 Personal immortal robot for the The Great Web
Stars: ✭ 117 (+588.24%)
Mutual labels:  ipfs, web3
borg
Client-server stack for Web3! Turn your Raspberry Pi to a BAS server in minutes and enjoy the freedom of decentralized Web with a superior user experience!
Stars: ✭ 25 (+47.06%)
Mutual labels:  ipfs, web3
geesome-node
🦈 Your self-hosted decentralized Messenger, Social network, Media file storage on top of IPFS! Freely communicate in encrypted chat groups, share images, video, text or any data without a risk of censorship or blocking.
Stars: ✭ 90 (+429.41%)
Mutual labels:  ipfs, web3
crypto-high-score
Add your name to the global, immutable leaderboard by paying in ETH.
Stars: ✭ 18 (+5.88%)
Mutual labels:  web3, web3js
Go Cyber
Your 🔵 Superintelligence
Stars: ✭ 270 (+1488.24%)
Mutual labels:  ipfs, web3
Web3-Name-Service
A compatible and inclusive name service for the web3 world, supporting RNS and ENS and more
Stars: ✭ 31 (+82.35%)
Mutual labels:  web3, ens
nft-website
NFT School: Community education platform for developers in the non-fungible token space.
Stars: ✭ 260 (+1429.41%)
Mutual labels:  ipfs, web3
Docuhash
Simple PoC that shows you how to use IPFS and Ethereum blockchain to store files and their information.
Stars: ✭ 17 (+0%)
Mutual labels:  ipfs, web3
add-to-web3
⁂ Github Action to upload your website to web3.storage
Stars: ✭ 22 (+29.41%)
Mutual labels:  ipfs, web3
Ipfs Mini
A super tiny module for querying IPFS that works in the browser and node.
Stars: ✭ 115 (+576.47%)
Mutual labels:  ipfs, web3
ipfs-blog
IPFS Blog & News
Stars: ✭ 31 (+82.35%)
Mutual labels:  ipfs, web3
typescript-eth-starter
🔌 Ethereum Dapp Basic Typescript Starter
Stars: ✭ 125 (+635.29%)
Mutual labels:  ipfs, web3
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+2911.76%)
Mutual labels:  ipfs, web3
ens.py
Ethereum Name Service, made easy in Python
Stars: ✭ 36 (+111.76%)
Mutual labels:  web3, ens

Almonit plugin

A Dwebsites (decentralized websites) browser extension by Almonit

Description

Almonit is a browser extension for Dwebsites.

Traditional websites use a server and a name service (DNS) to be accessible. Decentralized websites replace the server with a decentralized storage, and the name service with a decentralized name service.

Almonit browser extension let users access Dwebsites through the browser. The extension focuses on IPFS and Skynet as a decentralized storage, and ENS as a decentralized name service.

For more information read our introduction to Dwebsites article. The how it works section in this README gives a more technical description.

Installation

From source code

Compile

Make sure you have nvm installed with node v10.14.2 available. Then enter the following commands.

nvm use v10.14.2
cd js/web3-wrapper
npm install
npm run build

Firefox installation (after compilation)

In Firefox, enter about:debugging.

Choose Load Temporary Add-on...

From the folder of the plugin, choose manifest.json

Chrome installation (after compilation)

See instructions here.

Installation from extension store

Usage

Navigate to ENS+IPFS and ENS+Skynet websites such as:

See full list in the Almonit Search Engine.

How it works

The core functionality of the plugin is to forward .eth addresses to IPFS or Skynet addresses (depends on what the owner of the .eth address set). It works as follows.

  • When an .eth address is entered in the address bar, the plugin uses webRequest and webRequestBlocking to block the request, and process it itself.
  • The plugin uses web3.js the check the ENS record in Ethereum blockchain. At the moment,t he plugin checks in two main ENS resolvers: the default one and an older ersion (for legacy).
  • The plugin processes the content of the ENS record that web3.js returns, and checks if it has an IPFS contenthash, or a 'skynet' key.
  • If the content is an IPFS address, the plugin redirects the browser to the IPFS page. If there a 'skynet' key, it redirects to to a Skynet page. If the .eth name has both set, then the IPFS page will be chosen.
  • By default, the redirection is to a random IPFS or Skynet gateway (we call it, decentralization via randomization). In the settings users can modify the IPFS gateways list, force a specific gateway, or choose to use their own local IPFS node.

The plugin contains some extra features, such as a popup window that helps the user discover decentralized websites. See #features for full details.

Features

  • Plugin popup: helps you explore ENS+IPFS websites
  • Decentralization via randomality: the plugin chooses each time a random IPFS and Skynet gateways (that's a way of avoiding everyone using the same gateway all the time, and hence indirectly cause centralization).
  • Settings page offers (almost) full customization.
  • Anonymous update of IPFS and Skynet gatewys list. The update is being done via update.extension.almonit.eth. This way users get updates in an anonymous way without directly communicating with us.

Contact

Write us at [email protected] or via our Twitter.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].