Skip to content
Freenet REference Daemon
Java HTML Other
Branch: next
Clone or download
Pull request Compare This branch is 1 commit ahead, 68 commits behind freenet:next.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx
contrib @ ce3b7d5
devnotes
generator/js
gradle
lib/freenet
src/freenet
stats/probe_test
test/freenet
.gitignore
.gitmodules
.travis.yml
AUTHORS
CONTRIBUTING.md
LICENSE
NEWS.md
README.md
build.gradle
dependencies.properties
gradlew
gradlew.bat

README.md

Build Status Coverity status

Freenet

Freenet is a platform for censorship-resistant communication and publishing. It is peer-to-peer software which provides a distributed, encrypted, decentralized datastore. Websites and applications providing things like forums and chat are built on top of it.

Fred stands for Freenet REference Daemon.

Building

We've included the Gradle Wrapper as recommended by the Gradle project. If you trust the version we've committed you can build immediately:

POSIX / Windows PowerShell:

$ ./gradlew jar

Windows cmd:

> gradlew jar

We've configured it to verify the checksum of the archive it downloads from https://services.gradle.org.

Testing

Run Tests

To run all unit tests, use

./gradlew --parallel test

You can run specifics tests with a test filter similar to the following:

./gradlew --parallel test --tests *M3UFilterTest

TODO: how to run integration tests.

Run your changes as node

To test your version of Freenet, build it with ,./gradlew jar, stop your node, replace freenet.jarin your Freenet directory withbuild/libs/freenet.jar`, and start your node again.

To override values set in build.gradle put them into the file gradle.properties in the format variable = value. For instance:

org.gradle.parallel = true
org.gradle.daemon = true
org.gradle.jvmargs=-Xms256m -Xmx1024m
org.gradle.configureondemand=true

tasks.withType(Test)  {
  maxParallelForks = Runtime.runtime.availableProcessors()
}

Contributing

See our contributor guidelines.

Licensing

Freenet is under the GPL, version 2 or later - see LICENSE.Freenet. We use some code under the Apache license version 2 (mostly apache commons stuff), and some modified BSD code (Mantissa). All of which is compatible with the GPL, although arguably ASL2 is only compatible with GPL3. Some plugins are GPL3.

You can’t perform that action at this time.