Skip to content

Commit bd0b4fb

Browse files
sanityclaude
andcommitted
chore: cleanup markdown formatting and add puppeteer helpers
- Format markdown files to follow consistent style - Add puppeteer helper scripts for testing Dioxus applications - Update .gitignore to exclude *.local/ directories - Document GitHub issue cleanup recommendations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 74f1307 commit bd0b4fb

File tree

15 files changed

+764
-267
lines changed

15 files changed

+764
-267
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ aider_stdlib_map.md
33
# Local tools and notes
44
.local-tools/
55
*.local.md
6+
*.local/
67

78
# Release artifacts (downloaded binaries)
89
release-artifacts/

LICENSE.md

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# How Freenet Licensing Works
22

33
While `freenet-core` is licensed under the GNU Affero General Public
4-
License (AGPL), this does *not* mean that all software built on Freenet
4+
License (AGPL), this does _not_ mean that all software built on Freenet
55
must also be AGPL-licensed.
66

7-
Applications that *use* Freenet—such as apps published to the network or
7+
Applications that _use_ Freenet—such as apps published to the network or
88
clients that connect to it—are typically built against `freenet-stdlib`,
99
which is licensed under the more permissive LGPL. This means your app can
1010
be licensed however you choose, including under a permissive or proprietary
@@ -236,23 +236,23 @@ produce it from the Program, in the form of source code under the
236236
terms of section 4, provided that you also meet all of these
237237
conditions:
238238

239-
- a) The work must carry prominent notices stating that you modified
240-
it, and giving a relevant date.
241-
- b) The work must carry prominent notices stating that it is
242-
released under this License and any conditions added under
243-
section 7. This requirement modifies the requirement in section 4
244-
to "keep intact all notices".
245-
- c) You must license the entire work, as a whole, under this
246-
License to anyone who comes into possession of a copy. This
247-
License will therefore apply, along with any applicable section 7
248-
additional terms, to the whole of the work, and all its parts,
249-
regardless of how they are packaged. This License gives no
250-
permission to license the work in any other way, but it does not
251-
invalidate such permission if you have separately received it.
252-
- d) If the work has interactive user interfaces, each must display
253-
Appropriate Legal Notices; however, if the Program has interactive
254-
interfaces that do not display Appropriate Legal Notices, your
255-
work need not make them do so.
239+
- a) The work must carry prominent notices stating that you modified
240+
it, and giving a relevant date.
241+
- b) The work must carry prominent notices stating that it is
242+
released under this License and any conditions added under
243+
section 7. This requirement modifies the requirement in section 4
244+
to "keep intact all notices".
245+
- c) You must license the entire work, as a whole, under this
246+
License to anyone who comes into possession of a copy. This
247+
License will therefore apply, along with any applicable section 7
248+
additional terms, to the whole of the work, and all its parts,
249+
regardless of how they are packaged. This License gives no
250+
permission to license the work in any other way, but it does not
251+
invalidate such permission if you have separately received it.
252+
- d) If the work has interactive user interfaces, each must display
253+
Appropriate Legal Notices; however, if the Program has interactive
254+
interfaces that do not display Appropriate Legal Notices, your
255+
work need not make them do so.
256256

257257
A compilation of a covered work with other separate and independent
258258
works, which are not by their nature extensions of the covered work,
@@ -271,42 +271,42 @@ sections 4 and 5, provided that you also convey the machine-readable
271271
Corresponding Source under the terms of this License, in one of these
272272
ways:
273273

274-
- a) Convey the object code in, or embodied in, a physical product
275-
(including a physical distribution medium), accompanied by the
276-
Corresponding Source fixed on a durable physical medium
277-
customarily used for software interchange.
278-
- b) Convey the object code in, or embodied in, a physical product
279-
(including a physical distribution medium), accompanied by a
280-
written offer, valid for at least three years and valid for as
281-
long as you offer spare parts or customer support for that product
282-
model, to give anyone who possesses the object code either (1) a
283-
copy of the Corresponding Source for all the software in the
284-
product that is covered by this License, on a durable physical
285-
medium customarily used for software interchange, for a price no
286-
more than your reasonable cost of physically performing this
287-
conveying of source, or (2) access to copy the Corresponding
288-
Source from a network server at no charge.
289-
- c) Convey individual copies of the object code with a copy of the
290-
written offer to provide the Corresponding Source. This
291-
alternative is allowed only occasionally and noncommercially, and
292-
only if you received the object code with such an offer, in accord
293-
with subsection 6b.
294-
- d) Convey the object code by offering access from a designated
295-
place (gratis or for a charge), and offer equivalent access to the
296-
Corresponding Source in the same way through the same place at no
297-
further charge. You need not require recipients to copy the
298-
Corresponding Source along with the object code. If the place to
299-
copy the object code is a network server, the Corresponding Source
300-
may be on a different server (operated by you or a third party)
301-
that supports equivalent copying facilities, provided you maintain
302-
clear directions next to the object code saying where to find the
303-
Corresponding Source. Regardless of what server hosts the
304-
Corresponding Source, you remain obligated to ensure that it is
305-
available for as long as needed to satisfy these requirements.
306-
- e) Convey the object code using peer-to-peer transmission,
307-
provided you inform other peers where the object code and
308-
Corresponding Source of the work are being offered to the general
309-
public at no charge under subsection 6d.
274+
- a) Convey the object code in, or embodied in, a physical product
275+
(including a physical distribution medium), accompanied by the
276+
Corresponding Source fixed on a durable physical medium
277+
customarily used for software interchange.
278+
- b) Convey the object code in, or embodied in, a physical product
279+
(including a physical distribution medium), accompanied by a
280+
written offer, valid for at least three years and valid for as
281+
long as you offer spare parts or customer support for that product
282+
model, to give anyone who possesses the object code either (1) a
283+
copy of the Corresponding Source for all the software in the
284+
product that is covered by this License, on a durable physical
285+
medium customarily used for software interchange, for a price no
286+
more than your reasonable cost of physically performing this
287+
conveying of source, or (2) access to copy the Corresponding
288+
Source from a network server at no charge.
289+
- c) Convey individual copies of the object code with a copy of the
290+
written offer to provide the Corresponding Source. This
291+
alternative is allowed only occasionally and noncommercially, and
292+
only if you received the object code with such an offer, in accord
293+
with subsection 6b.
294+
- d) Convey the object code by offering access from a designated
295+
place (gratis or for a charge), and offer equivalent access to the
296+
Corresponding Source in the same way through the same place at no
297+
further charge. You need not require recipients to copy the
298+
Corresponding Source along with the object code. If the place to
299+
copy the object code is a network server, the Corresponding Source
300+
may be on a different server (operated by you or a third party)
301+
that supports equivalent copying facilities, provided you maintain
302+
clear directions next to the object code saying where to find the
303+
Corresponding Source. Regardless of what server hosts the
304+
Corresponding Source, you remain obligated to ensure that it is
305+
available for as long as needed to satisfy these requirements.
306+
- e) Convey the object code using peer-to-peer transmission,
307+
provided you inform other peers where the object code and
308+
Corresponding Source of the work are being offered to the general
309+
public at no charge under subsection 6d.
310310

311311
A separable portion of the object code, whose source code is excluded
312312
from the Corresponding Source as a System Library, need not be
@@ -382,23 +382,23 @@ Notwithstanding any other provision of this License, for material you
382382
add to a covered work, you may (if authorized by the copyright holders
383383
of that material) supplement the terms of this License with terms:
384384

385-
- a) Disclaiming warranty or limiting liability differently from the
386-
terms of sections 15 and 16 of this License; or
387-
- b) Requiring preservation of specified reasonable legal notices or
388-
author attributions in that material or in the Appropriate Legal
389-
Notices displayed by works containing it; or
390-
- c) Prohibiting misrepresentation of the origin of that material,
391-
or requiring that modified versions of such material be marked in
392-
reasonable ways as different from the original version; or
393-
- d) Limiting the use for publicity purposes of names of licensors
394-
or authors of the material; or
395-
- e) Declining to grant rights under trademark law for use of some
396-
trade names, trademarks, or service marks; or
397-
- f) Requiring indemnification of licensors and authors of that
398-
material by anyone who conveys the material (or modified versions
399-
of it) with contractual assumptions of liability to the recipient,
400-
for any liability that these contractual assumptions directly
401-
impose on those licensors and authors.
385+
- a) Disclaiming warranty or limiting liability differently from the
386+
terms of sections 15 and 16 of this License; or
387+
- b) Requiring preservation of specified reasonable legal notices or
388+
author attributions in that material or in the Appropriate Legal
389+
Notices displayed by works containing it; or
390+
- c) Prohibiting misrepresentation of the origin of that material,
391+
or requiring that modified versions of such material be marked in
392+
reasonable ways as different from the original version; or
393+
- d) Limiting the use for publicity purposes of names of licensors
394+
or authors of the material; or
395+
- e) Declining to grant rights under trademark law for use of some
396+
trade names, trademarks, or service marks; or
397+
- f) Requiring indemnification of licensors and authors of that
398+
material by anyone who conveys the material (or modified versions
399+
of it) with contractual assumptions of liability to the recipient,
400+
for any liability that these contractual assumptions directly
401+
impose on those licensors and authors.
402402

403403
All other non-permissive additional terms are considered "further
404404
restrictions" within the meaning of section 10. If the Program as you

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616
</a>
1717
</div>
1818

19-
This is the freenet-core repository. To learn more about Freenet please visit our website
19+
This is the freenet-core repository. To learn more about Freenet please visit our website
2020
at [freenet.org](https://freenet.org/).
2121

2222
# Decentralize Everything
2323

24-
Freenet is the internet as it should be—fully decentralized, designed to put you back in control. Imagine a global shared
25-
computer where you can communicate and collaborate freely, without reliance on big tech. Freenet lets you regain your
24+
Freenet is the internet as it should be—fully decentralized, designed to put you back in control. Imagine a global shared
25+
computer where you can communicate and collaborate freely, without reliance on big tech. Freenet lets you regain your
2626
digital independence.
2727

28-
Freenet is a peer-to-peer network that transforms users’ computers into a resilient, distributed platform on which anyone
29-
can build decentralized services. Every peer contributes to a fault-tolerant collective, ensuring services are always
28+
Freenet is a peer-to-peer network that transforms users’ computers into a resilient, distributed platform on which anyone
29+
can build decentralized services. Every peer contributes to a fault-tolerant collective, ensuring services are always
3030
available and robust.
3131

32-
Today’s web is a series of siloed services, but every system built on Freenet is fully interoperable by default. Freenet
32+
Today’s web is a series of siloed services, but every system built on Freenet is fully interoperable by default. Freenet
3333
apps can be built with popular web frameworks, accessed through any browser just like the web.
3434

3535
## Build Instructions

apps/freenet-email-app/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ local node, which simulates a node on the network.
3737
```bash
3838
git submodule update --init --recursive
3939
```
40+
4041
### Note about MacOS
42+
4143
Email account creation currently does not work on MacOS
4244

4345
## Prepare the Freenet email contracts and delegates
@@ -59,6 +61,7 @@ This delegate is located inside the modules folder of freenet-core:
5961
- ...
6062

6163
Add the target directory for the project. This should be an absolute file path to freenet-core/target.
64+
6265
```bash
6366
export CARGO_TARGET_DIR="... freenet-core/target"
6467
```

apps/freenet-microblogging/README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ Prepare the microblogging app web and posts contracts.
3131
The app is located inside the `apps/freenet-microblogging` folder:
3232

3333
- `freenet-core/`
34-
- `apps/`
35-
- `freenet-microblogging/` <-- this folder contains the microblogging app
36-
- `contracts/` <-- this folder contains the contract source code
37-
- `posts/` <-- this folder contains the posts contract
38-
- `build/` <-- the generated folder that contains the compiled contract binary with version + wasm
39-
code
40-
- `src/` <-- this folder contains the source code of the contract
41-
- ...
42-
- `web/` <-- this folder contains the web app source code, web app built with node and webpack
43-
- `build/` <-- the generated folder that contains the compiled web app binary with version + wasm
44-
code
45-
- `container/` <-- this folder contains the web contract container, a simple contract associated
46-
with the web app, as the state.
47-
- `src/` <-- this folder contains the source code of the web app
48-
- ...
49-
- `Makefile` <-- this file contains the build instructions for building and running the web app, and
50-
the local node.
34+
- `apps/`
35+
- `freenet-microblogging/` <-- this folder contains the microblogging app
36+
- `contracts/` <-- this folder contains the contract source code
37+
- `posts/` <-- this folder contains the posts contract
38+
- `build/` <-- the generated folder that contains the compiled contract binary with version + wasm
39+
code
40+
- `src/` <-- this folder contains the source code of the contract
41+
- ...
42+
- `web/` <-- this folder contains the web app source code, web app built with node and webpack
43+
- `build/` <-- the generated folder that contains the compiled web app binary with version + wasm
44+
code
45+
- `container/` <-- this folder contains the web contract container, a simple contract associated
46+
with the web app, as the state.
47+
- `src/` <-- this folder contains the source code of the web app
48+
- ...
49+
- `Makefile` <-- this file contains the build instructions for building and running the web app, and
50+
the local node.
5151

5252
To build the microblogging application, go to the `apps/freenet-microblogging` folder and run the following command:
5353

apps/freenet-ping/README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,28 @@ This project includes two Makefiles to help you set up and run a local Freenet n
8585
- `run-ping.mk`: Builds and runs the ping application.
8686

8787
### Start Local Network
88+
8889
1. Navigate to the `freenet-core/scripts` directory:
90+
8991
```bash
9092
cd freenet-core/scripts
9193
```
9294

9395
2. First, clean any previous setup and create necessary directories:
96+
9497
```bash
9598
make -f local-network.mk clean
9699
make -f local-network.mk setup N_GATEWAYS=1 N_NODES=2
97100
```
98101

99102
3. Start the gateway:
103+
100104
```bash
101105
make -f local-network.mk start-gateways N_GATEWAYS=1
102106
```
103107

104108
4. Start the nodes:
109+
105110
```bash
106111
make -f local-network.mk start-nodes N_NODES=2
107112
```
@@ -112,6 +117,7 @@ This project includes two Makefiles to help you set up and run a local Freenet n
112117
```
113118

114119
The network will be configured with:
120+
115121
- 1 Gateway on port 3101
116122
- Node 1: WebSocket port 3001, Network port 3102
117123
- Node 2: WebSocket port 3002, Network port 3103
@@ -135,26 +141,30 @@ make -f local-network.mk clean
135141
## Build and Run Ping
136142

137143
1. Navigate to the `freenet-core/apps/freenet-ping` directory:
144+
138145
```bash
139146
cd freenet-core/apps/freenet-ping
140147
```
141148

142149
1. View available options:
150+
143151
```bash
144152
make -f run-ping.mk help
145153
```
146154

147-
2. Build the contract and application:
155+
1. Build the contract and application:
156+
148157
```bash
149158
make -f run-ping.mk build
150159
```
151160

152-
3. Run ping towards node 1:
161+
1. Run ping towards node 1:
153162
```bash
154163
make -f run-ping.mk run WS_PORT=3001
155164
```
156165

157166
You will see something like this:
167+
158168
```bash
159169
2024-05-14T15:33:20.685412Z INFO freenet_ping: 154: put ping contract successfully! key=Cuj4LbFao6vzZ5VtvZAKZ64Y99qNh7MpTUdaCcEkU4oR
160170
2024-05-14T15:33:20.729883Z INFO freenet_ping: 146: Hello, ubiquitous-letters!
@@ -163,6 +173,7 @@ You will see something like this:
163173
```
164174

165175
You can customize the ping behavior with these parameters:
176+
166177
```bash
167178
make -f run-ping.mk run WS_PORT=3001 FREQUENCY=2000 TTL=7200
168179
```
@@ -182,4 +193,4 @@ make -f run-ping.mk clean
182193

183194
## Feedback
184195

185-
If you encounter any issues please let us know in our [Matrix](https://matrix.to/#/#freenet-locutus:matrix.org) channel or by submitting a [Github Issue](https://github.com/freenet/freenet-core/issues).
196+
If you encounter any issues please let us know in our [Matrix](https://matrix.to/#/#freenet-locutus:matrix.org) channel or by submitting a [Github Issue](https://github.com/freenet/freenet-core/issues).

0 commit comments

Comments
 (0)