Skip to content

A minimal local-first p2p web browser: access, communicate, and publish offline.

License

Notifications You must be signed in to change notification settings

p2plabsxyz/peersky-browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9f9db8e Â· Mar 1, 2025
Feb 10, 2025
Feb 23, 2025
Feb 27, 2025
Jun 9, 2023
Apr 28, 2023
Feb 24, 2025
Feb 23, 2025
Feb 17, 2025
Feb 17, 2025

Repository files navigation

Peersky Browser

GitHub Actions Workflow Status platform GitHub Pre-release Mastodon Follow Peersky, displaying multiple overlapping windows. The foreground window shows a search bar with DuckDuckGo, while the background contains a Wikipedia page on ipns:// about Earth and a private hyper:// chat. The central window features a scenic forest image with sunlight filtering through tall trees, and a clock

đź’» Download

Roadmap

  • Basic browser navigation:

    • Back
    • Forward
    • Reload
    • Browser protocol (peersky://)
    • Home page (peersky://home)
    • Search engine
      • DuckDuckGo (default)
      • Ecosia
    • Tabs?
  • IPFS protocol handler:

    • Run a local Helia node
    • ipfs:// / ipns:// native URLs support
    • Directory listings support
    • Native ENS domain resolution:
      • Resolve .eth domains directly to IPFS/IPNS content without centralized gateways (e.g., ipfs://vitalik.eth).
      • Local caching for resolved ENS content to enhance performance and reduce RPC calls.
  • Hypercore protocol handler:

    • Run a local hyper node
    • hyper:// native URLs support
  • Web3 protocol handler:

    • Run a local web3 protocol node
      • Access on-chain websites.
      • Fetch data from smart contracts using auto, manual, and resource request resolve modes.
      • Query account balances or other data directly from smart contracts.
  • P2P Applications:

    • peersky://p2p/chat/
      • Peer-to-peer messaging over Hyper
    • peersky://p2p/upload/
      • Decentralized file storage
    • peersky://p2p/editor/
      • Build and publish websites
    • peersky://p2p/wiki/
      • Browse Wikipedia over IPFS
    • reader.p2plabs.xyz
      • A p2p offline ActivityPub client for reading and following microblogs on the fediverse.
  • Electron’s Auto-updater:

    • Download and install the latest release from Github automatically
  • Context menu:

    • Back / Forward
    • Reload
    • Inspect
    • Undo / Redo
    • Cut / Copy / Paste
    • Copy Link Address
    • Open Link in New Tab
  • Find in page:

    • Search for text within a document or web page
  • Window state persistence:

    • Save and restore open windows on app launch
  • Keyboard shortcuts:

    • New Window: CommandOrControl+N
    • Back: CommandOrControl+[
    • Forward: CommandOrControl+]
    • Reload: CommandOrControl+R
    • Find in Page: CommandOrControl+F
    • Open Dev Tools: CommandOrControl+Shift+I
    • Focus URL Bar: CommandOrControl+L
    • Minimize: CommandOrControl+M
    • Close: CommandOrControl+W
    • Toggle Full Screen: F11
  • Settings (peersky://settings):

    • Switch search engines
    • Set custom home page wallpapers
    • Hide/show the home page clock
    • Change themes
    • Clear browser cache
  • Web extensions:

    • Ability to add and manage extensions
    • Default extensions
  • History (peersky://history):

    • Suggestions based on the browser history when typing in URL prompt
  • QR Code generator:

    • Option to generate QR Code for every page in the URL prompt
  • Bookmarks (peersky://bookmarks):

    • Option to add favourite pages in the nav bar (peersky://bookmarks)
  • Archive (peersky://archive):

    • List and showcase published content from peersky://p2p/ apps for enhanced discoverability.
    • Provide metadata (e.g., creation date, content type) to improve navigation and usability.
    • Ability to download all the hashes of published data in a .json file.

Development

Install dependencies

npm install

Start the app

npm start

Build

After development of the browser, run the following command. This will create a production build.

npm run build
# For Intel and M1 macs

Now, the dist folder will appear in the root directory.

npm run build-all
# For macOS, Linux, and Windows

Contribute

  • Thanks for your interest in contributing to Peersky Browser. There are many ways you can contribute to the project.
  • To start, take a few minutes to read the "contribution guide".
  • We look forward to your pull requests and / or involvement in our issues page.

License

Peersky Browser is licensed under the MIT License.