Skip to content

Commit 9f9db8e

Browse files
Merge pull request #1 from p2plabsxyz/v1
feat: Release v1.0.0-0 - Public Beta Launch
2 parents 9db8ded + a688533 commit 9f9db8e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+18929
-10046
lines changed

.DS_Store

-6 KB
Binary file not shown.

.github/workflows/build.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# https://github.com/AgregoreWeb/agregore-browser/blob/master/.github/workflows/build.yml
2+
3+
name: Build/release
4+
5+
on:
6+
push:
7+
## Run on tags starting with `v*`
8+
tags:
9+
- 'v*'
10+
11+
# Allows you to run this workflow manually from the Actions tab
12+
workflow_dispatch:
13+
14+
jobs:
15+
release:
16+
continue-on-error: true
17+
runs-on: ${{ matrix.os }}
18+
19+
strategy:
20+
matrix:
21+
os: [macos-latest, ubuntu-latest, windows-latest]
22+
23+
steps:
24+
- name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181
25+
if: startsWith(matrix.os, 'ubuntu')
26+
run: sudo apt-get install libarchive-tools
27+
28+
- name: Check out Git repository
29+
uses: actions/checkout@v3
30+
with:
31+
submodules: true
32+
33+
- name: Install Node.js, NPM and Yarn
34+
uses: actions/setup-node@v3
35+
with:
36+
node-version: 'lts/*'
37+
38+
- name: Non-tag specific build step
39+
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
40+
run: echo "This build was triggered without a tag."
41+
42+
- name: Build binaries with electron-builder
43+
uses: coparse-inc/action-electron-builder@29a7606c7d726b5b0f4dc2f334026f58bea0e1bb # v1.6.0 but safer than a tag that can be changed
44+
with:
45+
max_attempts: 2
46+
github_token: ${{ secrets.github_token }}
47+
release: ${{ startsWith(github.ref, 'refs/tags/v') }}

README.md

Lines changed: 121 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -5,123 +5,165 @@
55
<h1 align="center">Peersky Browser</h1>
66

77
<div align="center">
8-
<img src="https://img.shields.io/badge/Platform-electron.js-black.svg?style=flat-square" alt="platform">
9-
<img src="https://img.shields.io/github/release-date-pre/p2plabsxyz/peersky-browser?color=green&style=flat-square" alt="Release" />
10-
<img src="https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square" alt="License">
11-
</div><br>
8+
<img src="https://img.shields.io/github/actions/workflow/status/p2plabsxyz/peersky-browser/build.yml" alt="GitHub Actions Workflow Status">
9+
<img src="https://img.shields.io/badge/Platform-electron.js-black.svg" alt="platform">
10+
<img src="https://img.shields.io/github/release-date-pre/p2plabsxyz/peersky-browser?color=green" alt="GitHub Pre-release" />
11+
<!-- <img src="https://img.shields.io/github/v/release/p2plabsxyz/peersky-browser?color=green" alt="GitHub Release"> -->
12+
<img src="https://img.shields.io/mastodon/follow/113323887574214930" alt="Mastodon Follow">
13+
<img src="./banner.png" alt="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">
14+
</div>
1215

13-
💻 [Download](https://github.com/p2plabsxyz/peersky-browser/releases/latest) | 🌐 [Website](https://peersky.p2plabs.xyz/)
16+
💻 [Download](https://peersky.p2plabs.xyz/)
1417

15-
<div>
16-
<img src="./peersky-demo.gif" />
17-
</div>
18+
## Roadmap
1819

19-
## 🛠 Development
20+
- [x] Basic browser navigation:
2021

21-
- Install dependencies
22+
- [x] Back
23+
- [x] Forward
24+
- [x] Reload
25+
- [x] Browser protocol (peersky://)
26+
- [x] Home page (peersky://home)
27+
- [x] Search engine
28+
- DuckDuckGo (default)
29+
- Ecosia
30+
- [ ] [Tabs?](https://github.com/p2plabsxyz/peersky-browser/issues/11)
2231

23-
```bash
24-
npm install
25-
```
32+
- [x] IPFS protocol handler:
2633

27-
- Start the app
34+
- [x] Run a local [Helia](https://helia.io/) node
35+
- [x] `ipfs://` / `ipns://` native URLs support
36+
- [x] Directory listings support
37+
- [x] Native ENS domain resolution:
38+
- [x] Resolve `.eth` domains directly to IPFS/IPNS content without centralized gateways (e.g., `ipfs://vitalik.eth`).
39+
- [x] Local caching for resolved ENS content to enhance performance and reduce RPC calls.
2840

29-
```bash
30-
npm start
31-
```
41+
- [x] Hypercore protocol handler:
3242

33-
- Build
34-
After development of the browser, run the following command. This will create a `production` build.
43+
- [x] Run a local [hyper](https://holepunch.to/) node
44+
- [x] `hyper://` native URLs support
3545

36-
```bash
37-
npm run build
38-
# For Intel and M1 macs
39-
```
46+
- [x] Web3 protocol handler:
4047

41-
Now, the build folder will appear in the root directory.
48+
- [x] Run a local [web3 protocol](https://docs.web3url.io/) node
49+
- [x] Access on-chain websites.
50+
- [x] Fetch data from smart contracts using auto, manual, and resource request resolve modes.
51+
- [x] Query account balances or other data directly from smart contracts.
4252

43-
```bash
44-
npm run build-all
45-
# For macOS, Linux, and Windows
46-
```
53+
- [x] P2P Applications:
4754

48-
## 🚧 Roadmap
55+
- [x] `peersky://p2p/chat/`
56+
- Peer-to-peer messaging over Hyper
57+
- [x] `peersky://p2p/upload/`
58+
- Decentralized file storage
59+
- [x] `peersky://p2p/editor/`
60+
- Build and publish websites
61+
- [x] `peersky://p2p/wiki/`
62+
- Browse Wikipedia over IPFS
63+
- [x] [reader.p2plabs.xyz](https://reader.distributed.press/)
64+
- A p2p offline ActivityPub client for reading and following microblogs on the fediverse.
4965

50-
> Please note that the following roadmap list is in random order, and these items represent high-priority tasks.
66+
- [x] Electron’s Auto-updater:
5167

52-
- [x] Browser navigation:
68+
- [x] Download and install the latest release from Github automatically
5369

54-
- [x] Back
55-
- [x] Forward
70+
- [x] Context menu:
71+
72+
- [x] Back / Forward
5673
- [x] Reload
57-
- [x] Home page (peersky://home)
74+
- [x] Inspect
75+
- [x] Undo / Redo
76+
- [x] Cut / Copy / Paste
77+
- [x] Copy Link Address
78+
- [x] Open Link in New Tab
79+
80+
- [x] Find in page:
81+
- [x] Search for text within a document or web page
82+
83+
- [x] Window state persistence:
84+
- [x] Save and restore open windows on app launch
85+
86+
- [x] Keyboard shortcuts:
87+
88+
- [x] New Window: `CommandOrControl+N`
89+
- [x] Back: `CommandOrControl+[`
90+
- [x] Forward: `CommandOrControl+]`
91+
- [x] Reload: `CommandOrControl+R`
92+
- [x] Find in Page: `CommandOrControl+F`
93+
- [x] Open Dev Tools: `CommandOrControl+Shift+I`
94+
- [x] Focus URL Bar: `CommandOrControl+L`
95+
- [x] Minimize: `CommandOrControl+M`
96+
- [x] Close: `CommandOrControl+W`
97+
- [x] Toggle Full Screen: `F11`
98+
99+
- [ ] Settings (peersky://settings):
100+
101+
- [ ] Switch search engines
102+
- [ ] Set custom home page wallpapers
103+
- [ ] Hide/show the home page clock
104+
- [ ] Change themes
105+
- [ ] Clear browser cache
106+
107+
- [ ] Web extensions:
108+
- [ ] Ability to add and manage extensions
109+
- [ ] Default extensions
110+
- [Ad-blocker](https://github.com/gorhill/uBlock)
111+
- [DScan](https://github.com/p2plabsxyz/dscan)
112+
- ..
58113

59-
- [x] IPFS protocol handler:
114+
- [ ] History (peersky://history):
60115

61-
- [x] Run a local IPFS node
62-
- [x] `ipfs://` / `ipns://` native URLs support
63-
- [x] Directory listings support
64-
- [ ] [Helia](https://github.com/ipfs/helia) integration
65-
> JS-IPFS is deprecated: js-IPFS has been superseded by Helia
116+
- [ ] Suggestions based on the browser history when typing in URL prompt
66117

67-
- [ ] Experiments:
118+
- [ ] QR Code generator:
68119

69-
- [ ] `peersky://upload`
70-
- Upload files / directories
71-
- Publish blogs / websites
72-
- [ ] `Peersky://analytics` ([peerDiscovery](https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/DHT.md#ipfsdhtfindpeerpeerid-options))
73-
- Fetch IPs from the DHT and count them as clicks, with regional sorting (visuals)
74-
- [ ] `Peersky://chat` ([libp2p/webRTC](https://github.com/libp2p/js-libp2p-webrtc]))
75-
- Chat with connected peers on the network
120+
- [ ] Option to generate QR Code for every page in the URL prompt
76121

77-
- [ ] Auto-updater (electron’s [autoUpdater](https://www.electronjs.org/docs/latest/api/auto-updater)):
122+
- [ ] Bookmarks (peersky://bookmarks):
78123

79-
- [ ] Download and install the latest release from Github automatically
124+
- [ ] Option to add favourite pages in the nav bar (peersky://bookmarks)
80125

81-
- [ ] QR Code generator:
126+
- [ ] Archive (peersky://archive):
82127

83-
- [ ] An option to generate QR Code for every page in the URL prompt
128+
- [ ] List and showcase published content from `peersky://p2p/` apps for enhanced discoverability.
129+
- [ ] Provide metadata (e.g., creation date, content type) to improve navigation and usability.
130+
- [ ] Ability to download all the hashes of published data in a .json file.
84131

85-
- [ ] Context menu:
132+
## Development
86133

87-
- [ ] Back / forward
88-
- [ ] Reload
89-
- [ ] Generate QR code
90-
- [ ] Add to IPFS
134+
### Install dependencies
91135

92-
- [ ] Browser history:
136+
```bash
137+
npm install
138+
```
93139

94-
- [ ] peersky://history
95-
- [ ] Suggestions based on the browser history when typing in URL prompt
140+
### Start the app
96141

97-
- [ ] Bookmarks:
142+
```bash
143+
npm start
144+
```
98145

99-
- [ ] An option to add favourite pages in the nav bar (peersky://bookmarks)
146+
### Build
147+
After development of the browser, run the following command. This will create a `production` build.
100148

101-
- [ ] Keyboard shortcuts:
149+
```bash
150+
npm run build
151+
# For Intel and M1 macs
152+
```
102153

103-
- [ ] New window
104-
- [ ] Back / Forward
105-
- [ ] Reload
106-
- [ ] Find in page
107-
- [ ] Developer tools
154+
Now, the `dist` folder will appear in the root directory.
108155

109-
- [ ] Extensions:
110-
- [ ] In-browser extensions
111-
- [Ad-blocker](https://github.com/gorhill/uBlock)
112-
- [DScan](https://github.com/p2plabsxyz/dscan)
113-
- ..
114-
- [ ] Load extensions from folders
156+
```bash
157+
npm run build-all
158+
# For macOS, Linux, and Windows
159+
```
115160

116-
## 📄 Contribute
161+
## Contribute
117162

118163
- Thanks for your interest in contributing to Peersky Browser. There are many ways you can contribute to the project.
119164
- To start, take a few minutes to read the "[contribution guide](https://github.com/p2plabsxyz/peersky-browser/blob/main/.github/CONTRIBUTING.md)".
120165
- 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).
121166

122-
## ⚖️ License
167+
## License
123168

124169
Peersky Browser is licensed under the [MIT License](https://github.com/p2plabsxyz/peersky-browser/blob/main/LICENSE).
125-
126-
<hr>
127-
Don't forget to leave a star ⭐️ ~ <a href="https://twitter.com/PeerskyBrowser" target="_blank"><img src="https://img.shields.io/twitter/follow/PeerskyBrowser?style=social" alt="twitter" /></a>

banner.png

168 KB
Loading

0 commit comments

Comments
 (0)