https://github.com/p2plabsxyz/peersky-browser
A minimal local-first p2p web browser: access, communicate, and publish offline.
https://github.com/p2plabsxyz/peersky-browser
browser decentralization dweb hypercore-protocol ipfs p2p p2plabsxyz peersky web-browser
Last synced: about 2 months ago
JSON representation
A minimal local-first p2p web browser: access, communicate, and publish offline.
- Host: GitHub
- URL: https://github.com/p2plabsxyz/peersky-browser
- Owner: p2plabsxyz
- License: mit
- Created: 2023-04-26T15:58:02.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-10T00:50:09.000Z (about 2 months ago)
- Last Synced: 2025-03-13T08:02:20.004Z (about 2 months ago)
- Topics: browser, decentralization, dweb, hypercore-protocol, ipfs, p2p, p2plabsxyz, peersky, web-browser
- Language: JavaScript
- Homepage: https://peersky.p2plabs.xyz/
- Size: 8.79 MB
- Stars: 16
- Watchers: 2
- Forks: 6
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![]()
Peersky Browser
![]()
![]()
![]()
![]()
![]()
đź’» [Download](https://peersky.p2plabs.xyz/)
## Roadmap
- [x] Basic browser navigation:
- [x] Back
- [x] Forward
- [x] Reload
- [x] Browser protocol (peersky://)
- [x] Home page (peersky://home)
- [x] Search engine
- DuckDuckGo (default)
- Ecosia
- [ ] [Tabs?](https://github.com/p2plabsxyz/peersky-browser/issues/11)- [x] IPFS protocol handler:
- [x] Run a local [Helia](https://helia.io/) node
- [x] `ipfs://` / `ipns://` native URLs support
- [x] Directory listings support
- [x] Native ENS domain resolution:
- [x] Resolve `.eth` domains directly to IPFS/IPNS content without centralized gateways (e.g., `ipfs://vitalik.eth`).
- [x] Local caching for resolved ENS content to enhance performance and reduce RPC calls.- [x] Hypercore protocol handler:
- [x] Run a local [hyper](https://holepunch.to/) node
- [x] `hyper://` native URLs support- [x] Web3 protocol handler:
- [x] Run a local [web3 protocol](https://docs.web3url.io/) node
- [x] Access on-chain websites.
- [x] Fetch data from smart contracts using auto, manual, and resource request resolve modes.
- [x] Query account balances or other data directly from smart contracts.- [x] P2P Applications:
- [x] `peersky://p2p/chat/`
- Peer-to-peer messaging over Hyper
- [x] `peersky://p2p/upload/`
- Decentralized file storage
- [x] `peersky://p2p/editor/`
- Build and publish websites
- [x] `peersky://p2p/wiki/`
- Browse Wikipedia over IPFS
- [x] [reader.p2plabs.xyz](https://reader.distributed.press/)
- A p2p offline ActivityPub client for reading and following microblogs on the fediverse.- [x] Electron’s Auto-updater:
- [x] Download and install the latest release from Github automatically
- [x] Context menu:
- [x] Back / Forward
- [x] Reload
- [x] Inspect
- [x] Undo / Redo
- [x] Cut / Copy / Paste
- [x] Copy Link Address
- [x] Open Link in New Tab- [x] Find in page:
- [x] Search for text within a document or web page- [x] Window state persistence:
- [x] Save and restore open windows on app launch- [x] Keyboard shortcuts:
- [x] New Window: `CommandOrControl+N`
- [x] Back: `CommandOrControl+[`
- [x] Forward: `CommandOrControl+]`
- [x] Reload: `CommandOrControl+R`
- [x] Find in Page: `CommandOrControl+F`
- [x] Open Dev Tools: `CommandOrControl+Shift+I`
- [x] Focus URL Bar: `CommandOrControl+L`
- [x] Minimize: `CommandOrControl+M`
- [x] Close: `CommandOrControl+W`
- [x] 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
- [Ad-blocker](https://github.com/gorhill/uBlock)
- [DScan](https://github.com/p2plabsxyz/dscan)
- ..- [ ] 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
```bash
npm install
```### Start the app
```bash
npm start
```### Build
After development of the browser, run the following command. This will create a `production` build.```bash
npm run build
# For Intel and M1 macs
```Now, the `dist` folder will appear in the root directory.
```bash
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](https://github.com/p2plabsxyz/peersky-browser/blob/main/.github/CONTRIBUTING.md)".
- We look forward to your [pull requests](https://github.com/p2plabsxyz/peersky-browser/pulls) and / or involvement in our [issues page](https://github.com/p2plabsxyz/peersky-browser/issues).## License
Peersky Browser is licensed under the [MIT License](https://github.com/p2plabsxyz/peersky-browser/blob/main/LICENSE).