USDT数字货币钱包|freenet

作者: USDT数字货币钱包
2024-03-07 18:48:05

Hyphanet

Hyphanet

Twitter

Mastodon

Hyphanet

About

Volunteer

Documentation

Download

Help

Language

ru

fr

Hyphanet

Hyphanet is a peer-to-peer platform for censorship-resistant and privacy-respectingpublishing and communication.

The original Freenet.

Looking for Locutus?It is now named Freenet; the team of the original Freenet continues development as Hyphanet.Read more

Download

Install Hyphanet

Learn

Protect your privacy

Contribute

Protect internet privacy and freedom

More

Reclaim Your Privacy!

Hyphanet makes it easy to publish and follow what others publish with strong privacy protections.

Plugins built on its decentralized data store make it very easy to host your own website and provide microblogging and forums, media sharing from files to video-on-demand and decentralized version tracking, blogging and spam resistance without central authority.

For an easy start you can join the global Opennet. For maximum privacy, connect to your friends and build a friend-to-friend network independent of and invisible to any centralized server. To access the global network, you either need some friends who also connect to opennet, or use the Shoeshop plugin to build a sneakernet that can even bridge separate friend-to-friend networks when your regional internet itself gets severed from the global information network.

Lots of additional information about Hyphanet and its history is available on Wikipedia.

Secret Identities

Create yours so you can speak more freely

Websites

Browse sites ranging from programming to sustainable living and publish your own

Forums

Ask questions and exchange ideas

Platform

Use decentralized applications built on the Hyphanet platform and create your own

What's New

Freenet renamed to Hyphanet

2023-06-26

In early 2023, the board of Freenet Project, Inc - the nonprofit that started work in 1999 - decided to rename its new project Locutus to "Freenet." This required that Freenet change its name. Locutus began development in 2019, and has different...

Freenet build 1497: fix severe path folding vulnerability

2023-03-04

Freenet 0.7.5 build 1497 is now available. Install Freenet for Windows, for GNU/Linux, macOS and other *nixes, or for Android. See the download page for more information and other platforms. This release fixes a severe vulnerability in path folding...

Freenet build 1496: fix keepalive, translations, windows

2023-01-11

Freenet 0.7.5 build 1496 is now available. Install Freenet for Windows, for GNU/Linux, macOS and other *nixes, or for Android. See the download page for more information and other platforms. This is a smaller release that provides three improvements...

Freenet build 1495: new user experience and performance

2022-12-29

Freenet 0.7.5 build 1495 is now available. Install Freenet for Windows, for GNU/Linux, macOS and other *nixes, or for Android. See the download page for more information and other platforms. This build improves four broad areas: new users user...

News Archives

Why we do this

I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say Daddy, where were you when they took freedom of the press away from the Internet

Mike Godwin / Electronic Frontier Foundation

Hyphanet

Navigate with Freedom

Twitter

Mastodon

gro.tcejorpteneerf@sserp

gro.tcejorpteneerf@troppus

IRC: #freenet on irc.libera.chat

Licensed under the GDFL. Website source repository

Download

Download

Freenet

About

Volunteer

Documentation

Donate

Download

Help

Facebook

Twitter

Language

ru

fr

Download

Download and install Freenet:

For WindowsFor macOS, GNU/Linux & POSIX

Freenet is free and open source software available under GPLv2+. The source code is on GitHub.WindowsDownload and run the installer (

gpg signature;

keyring)Download Freenet for WindowsIt will automatically install Freenet and other required components for you.

When done, your default browser will automatically open up to Freenet's

web-based user interface.Freenet requires Windows 8.1 or later.Note: Once a Windows version reaches end of life, we do not guarantee

any longer support, or the fact that Freenet will install and/or work in

such environments. However, it is not mandatory that Freenet will not work

on an older Windows OS. We always strongly recommend you to take security

very seriously, and run up to date software that receives security updates,

to be on the safe side.

GNU/Linux & POSIX

Get the Java-based installer (

gpg signature;

keyring).Download Freenet for GNU/Linux & POSIX

Run the file with Java, then follow the installer:You need to have a recent Java Runtime Environment (JRE), for

example

OpenJDK which can be obtained via your

package manager or from

https://adoptopenjdk.net.Java version 9 or higher is required.If there are problems, use the command line. This requires

wget which can be installed with a package manager, such as

sudo apt-get install wget on Debian or Ubuntu.wget 'https://www.draketo.de/dateien/freenet/build01496/new_installer_offline_1496.jar' -O new_installer_offline.jar;

java -jar new_installer_offline.jar;

To install on a headless system, or if you get fontconfig problems, use the -console option and follow the prompts:java -jar new_installer_offline.jar -console;

Note: We would love to have packages for most distributions.

There is a

package for Gentoo, and

a preliminary but un-maintained

Debian package.

If you would like to help, it would be much appreciated!Note: On some systems (including FreeBSD and OpenBSD) the wrapper does

not work, unless you install additional software packages and configure it.

You can start Freenet manually there, but you then don’t have

auto-updates. After installation you find the relevant classpath

arguments in wrapper.conf. Then call java directly with a command like

java -Xmx1500m -Xss512k -Dnetworkaddress.cache.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED -cp bcprov-jdk15on-1.59.jar:freenet-ext.jar:freenet.jar:jna-4.5.2.jar:jna-platform-4.5.2.jar:pebble-3.1.5.jar:unbescape-1.1.6.RELEASE.jar:slf4j-api-1.7.25.jar freenet.node.NodeStarterRelease MirrorOur releases are provided via Lysator. You can try the

http mirror or the

tor mirror

provided by

Lysator.Alternatively you can use the github release.Mirrored installationIf you have a working Freenet installation directory that you have mirrored

from one Unix machine to another (e.g. via rsync or unison), enabling the

mirrored installation is not difficult. Nothing in a Freenet installation

cares about its host's IP address; it can't, or Freenet would fail on

machines that get IP addresses from a DHCP pool.All you actually need to do is tell the system you've mirrored to that it

should start the Freenet proxy daemon for you on boot. Do crontab -l

on the source machine, find the line that is tagged "FREENET AUTOSTART" and

add that to your crontab on the mirrored machine.However: each installation has a unique identity key generated at

installation time. If you try to run two instances with the same identity at

the same time, both proxy demons will become confused and upset. Don't do

this!Using FreenetPlease try the step by step guide to setting up Freenet and various Freenet apps,

especially if installing on macOS.

We are not responsible for unofficial third party apps it recommends (including FMS),

but many Freenet users and developers use them.Firewalls and routersFreenet should work fine with most routers, but if you are having problems

and you have a firewall or router, click here for

some info.So it's running, what do I do?When the installer closes, it should open a browser window pointing to the

first-time wizard. Here you can configure basic settings, and then start

using Freenet. You can access Freenet later on via the system tray menu (

bottom right on the screen), or use the Browse Freenet shortcut on the

desktop and/or start menu. If it doesn't work, open

http://127.0.0.1:8888/ in your web browser.For best security you should use a separate browser for Freenet, preferably

in privacy mode. On Windows, the system tray menu will try to use Chrome in

incognito mode if possible. Internet Explorer does not work well with

Freenet, Firefox and Opera are widely used.If you know anyone running Freenet, you can improve your security and help to

build a robust network by connecting to their node. First, open the Add a

friend page. You and your friend should

each download their "node reference". Send the file to the other person,

and add his node reference using the form at the bottom of the page. When

both are added, your friend's node should show up on the Friends page,

probably as "CONNECTED" or "BUSY". You can set a name for your node on the

config page to make it easier to see who it is. Only add nodes run by people

you actually know, whether online or offline, as adding total strangers

harms performance and does not improve security much (they could be the bad

guys!).So I'm connected, what do I do?Freenet itself includes anonymous websites ("freesites"), filesharing,

searching, and more, but you can also use third party applications for chat,

filesharing, to help you upload freesites, etc.The Freenet Social Networking Guide explains

how to set up the main third party tools, including email, forums and

micro-blogging (Sone, a bit like twitter).It doesn't work, now what?If you have problems installing or running Freenet, please see the knowledge base,

FAQ,

chat, or

mailing list.Hardware requirementsGenerally a 1GHz processor and 1GB of RAM should be fine. Freenet will run on

smaller systems, but it uses at least 128MB of RAM, so unless the system does

nothing else it will struggle in less than 512MB. However, the processor is

less of a problem, people have been known to run it on 400MHz Pentium 2's or

ATOM's, although downloads and browsing would be slow.Freenet will use a portion of your disk for storing data, you can configure

this to any size from 100MB upwards, but we recommend at least 1GB. Freenet

also uses disk space for your downloads. Freenet's memory usage is

approximately 256MB plus 400kB for every 2GB of datastore.On 64-bit Windows, we will install a 32-bit Java Virtual Machine because of

limitations of the Java Service Wrapper.UpgradingFreenet provides an upgrade-over-Freenet mechanism: It will keep itself up to

date automatically from other Freenet nodes, and this will normally work even

if it is unable to route to them due to them being too new. This is anonymous

and secure, and we recommend people use it. However, if something is severely

broken, you can upgrade your node manually from our servers:

Windows users can upgrade to the latest-stable Freenet release

by running update.cmd in the Freenet directory.macOS, GNU/Linux, or other POSIX users may upgrade by running the update.sh

shell script in the Freenet directory.

Add friends (or connect to strangers)If you know other people who also use Freenet, you can add them as Friends.

This will make you safer against attacks on Freenet Project infrastructure

(the

seednodes).Once you are connected to 5 or more friends, you can enable high security mode.

In high security mode Freenet will only connect to your friends.

This makes your usage of Freenet almost undetectable,

but you are still able to access the rest of the network through your friends' friends friends ....You don't have to add friends right now.

If you use a "low" or "normal" security level Freenet will automatically connect to strangers and will work just fine.

However, your (or someone else's) government may be able to find out who you are with enough effort. Be careful!Verifying SignaturesDownload the Freenet Project signing keys and import them into your keyring: pub 2048R/0xEAC5EBF07AA9C2A3 2013-04-29

Key fingerprint = DBB7 7338 3BC3 49C9 5203 ED91 EAC5 EBF0 7AA9 C2A3

pub 4096R/0x00100D897EDBA5E0 2013-09-21 [expired: 2016-09-08]

Key fingerprint = 0046 195B 2DCA B176 D394 09CD 0010 0D89 7EDB A5E0

uid Steve Dougherty (operhiem1 Release Signing Key)

sub 4096R/0x7BF0F7B36AC8B380 2013-09-21 [expired: 2016-09-15]

pub 4096R/0xFF24CA421946AA94 2013-09-24 [expires: 2018-09-23]

Key fingerprint = B76D 4AA7 96D8 403E ED78 C9F9 FF24 CA42 1946 AA94

uid Matthew Toseland (2013-2018 key, higher key length)

uid Matthew Toseland (2013-2018 key, higher key length)

sub 4096R/0xF877E62895C42009 2013-09-24 [expires: 2018-09-23]

pub 4096R/0xB67C19E817A8D846 2016-01-02 [expires: 2018-01-03]

Key fingerprint = 5D77 D9A4 2E28 0F5A FF8F 2EBF B67C 19E8 17A8 D846

uid Stephen Oliver

sub 4096R/0x9BCDD1614041F59E 2016-01-02 [expires: 2018-01-03]

sub 4096R/0x1652EBA5AC1BB386 2016-01-02 [expires: 2018-01-03]

sub 4096R/0x38A62E479684F2F2 2016-01-02 [expires: 2018-01-03]

pub 4096R/0xB41A6047FD6C57F9 2017-02-23

Key fingerprint = B30C 3D91 069F 81EC FEFE D0B1 B41A 6047 FD6C 57F9

uid Arne Babenhauserheide (freenet releases)

uid Arne Babenhauserheide (ArneBab)

Freenet

Navigate with Freedom

Facebook

Twitter

gro.tcejorpteneerf@sserp

gro.tcejorpteneerf@troppus

IRC: #freenet on irc.libera.chat

© Copyright The Freenet Project Inc. | All Rights Reserved

About

About

Freenet

About

Volunteer

Documentation

Donate

Download

Help

Facebook

Twitter

Google+

Language

en

zh-tw

fr

es

About

什么是 Freenet?

I worry about my child and the Internet all the time, even though she's too

young to have logged on yet. Here's what I worry about. I worry that 10 or

15 years from now, she will come to me and say 'Daddy, where were you when

they took freedom of the press away from the Internet?

--Mike Godwin, Electronic Frontier Foundation

Freenet 是一个免费软件,您可以通过它匿名的分享文件、浏览和发布“Freesite”(只能在 Freenet 网络中访问的网站)、在论坛中发帖,不用担心被审查。Freenet 是去中心化的,很难被攻击。如果使用它的“暗网(Darknet)”模式,用户仅会连接到他们的好友,那么他人很难侦测到这个用户。Freenet 节点之间的通讯是加密的,并通过其他节点路由。因此要了解谁在请求某些信息、请求的内容是什么,是极其困难的。用户通过贡献自己的互联网带宽和他们的一部分硬盘空间(称为“数据存储(Data Store)”)来储存文件。根据文件的流行程度,文件会自动被保留或删除。不流行的文件被删除,可以腾出更多的空间给流行的文件。文件是加密的,因此用户无法轻易得知它的“数据存储”内储存了什么内容,因此也不会因其被追究责任。聊天论坛、网站和搜索功能,都是基于该分布式“数据存储”构建。Freenet 自诞生起已被下载超过 200 万次,用来在全世界分发敏感受审查的信息,包括中国和中东国家。Freenet 中的先驱思想和概念也深深影响了学术界。我们在 2000 年的论文《Freenet:一个分布式匿名信息存储和接收系统》(Freenet: A Distributed Anonymous Information Storage and Retrieval System), 是 2000 年被引用次数最多的计算机科学论文(来源:Citeseer)。Freenet 也给世界法律和哲学论文带来了灵感。Ian Clarke,Freenet 的创造者和项目协调人,被 2003 年《麻省理工科技评论 》杂志(MIT's Technology Review)评为世界百强革新者。在最近的开发中,我们引入了一个重要的功能(在其他类似网络中鲜见),称为“暗网(Darknet)”:用户仅与自己信任的人互相连接,这能够极大的降低他们的风险,同时仍然能够通过他们朋友的朋友的朋友来连接到整个 Freenet 网络。这能够让那些“使用 Freenet 即违法”的地方的人们使用 Freenet。政府很难封禁它,用户无需“翻墙隧道”就可以进入“自由的世界”。Written by Ian Clarke

A DisclaimerSuggested prior readingThe importance of the Free flow of informationCensorship and freedomThe solutionIsn't censorship sometimes necessary?But why is anonymity necessary?And what of copyright?But how will artists be rewarded for their work without copyright?Alternatives to Copyright

The Philosophy Behind Freenet

A Disclaimer

There are many reasons why people get involved in the Freenet Project. Some

share the views outlined in this document; some share variations of these views,

which are also served by what we are trying to achieve; and some just enjoy the

technical challenge. These are the ideas which motivated me to architect the

system in the first place, but not necessarily the views that everyone involved

in the Freenet Project holds.

Suggested prior reading

For this document to make sense, you should probably know what Freenet is. You

can get a good overview from What is Freenet?.

The importance of the Free flow of information

Freedom of speech, in most western cultures, is generally considered to be one

of the most important rights any individual might have. Why is the freedom to

share ideas and opinions so important? There are several ways to answer this

question.

Communication is what makes us human

One of the most obvious differences between mankind and the rest of the animal

kingdom is our ability to communicate sophisticated and abstract concepts. While

we constantly discover that animal's communication ability is more sophisticated

than previously assumed, it is unlikely that any other animal approaches our own

level of ability in this area.

Knowledge is good

Most people, given the option of knowing something and not knowing something,

will choose to have more information rather than less. Wars have been won and

lost over who was better-informed. This is because being better-informed allows

us to make better decisions, and generally improve our ability to survive and be

successful.

Democracy assumes a well informed population

Many people today live under democratic governments, and those who don't,

probably want to. Democracy is an answer to the question of how to create

leaders, while preventing them from abusing that power. It achieves this by

giving the population the power to regulate their government through voting,

yet the ability to vote does not necessarily mean that you live in a

democratic country. For a population to regulate their government effectively

it must know what their government is doing, they must be well informed. It

is a feedback loop, but this loop can be broken if the government has the

power to control the information the population has access to.

Censorship and freedom

Everyone values their freedom, in fact, many consider it so important that

they will die for it. People like to think that they are free to form and

hold whatever opinions they like, particularly in western countries. Consider

now that someone had the ability to control the information you have access

to. This would give them the ability to manipulate your opinions by hiding

some facts from you, by presenting you with lies and censoring anything that

contradicted those lies. This is not some Orwellian fiction, it is standard

practice for most western governments to lie to their populations, so much

so, that people now take it for granted, despite the fact that this

undermines the very democratic principles which justify the government's

existence in the first place.

The solution

The only way to ensure that a democracy will remain effective is to ensure

that the government cannot control its population's ability to share

information, to communicate. So long as everything we see and hear is

filtered, we are not truly free. Freenet's aim is to allow two or more people

who wish to share information, to do so.

Isn't censorship sometimes necessary?

Of course no issue is black and white, and there are many who feel that

censorship is a good thing in some circumstances. For example, in some

European countries propagating information deemed to be racist is illegal.

Governments seek to prevent people from advocating ideas which are deemed

damaging to society. There are two answers to this however. The first is that

you can't allow those in power to impose "good" censorship, without also

enabling them to impose "bad" censorship. To impose any form of censorship a

government must have the ability to monitor and thus restrict communication.

There are already criticisms that the anti-racism censorship in many European

countries is hampering legitimate historical analysis of events such as the

second world war.

The second argument is that this "good" censorship is counter-productive even

when it does not leak into other areas. For example, it is generally more

effective when trying to persuade someone of something to present them with

the arguments against it, and then answer those arguments. Unfortunately,

preventing people from being aware of the often sophisticated arguments used

by racists, makes them vulnerable to those arguments when they do eventually

encounter them.

Of course the first argument is the stronger one, and would still hold-true

even if you didn't accept the second. Basically, you either have censorship,

or you don't. There is no middle-ground.

But why is anonymity necessary?

You cannot have freedom of speech without the option to remain anonymous.

Most censorship is retrospective, it is generally much easier to curtail free

speech by punishing those who exercise it afterward, rather than preventing

them from doing it in the first place. The only way to prevent this is to

remain anonymous. It is a common misconception that you cannot trust

anonymous information. This is not necessarily true, using digital signatures

people can create a secure anonymous pseudonym which, in time, people can

learn to trust. Freenet incorporates a mechanism called "subspaces" to

facilitate this.

And what of copyright?

Of course much of Freenet's publicity has centered around the issue of

copyright, and thus I will speak to it briefly. The core problem with

copyright is that enforcement of it requires monitoring of communications,

and you cannot be guaranteed free speech if someone is monitoring everything

you say. This is important, most people fail to see or address this point

when debating the issue of copyright, so let me make it clear:

You cannot guarantee freedom of speech and enforce copyright law

It is for this reason that Freenet, a system designed to protect Freedom of

Speech, must prevent enforcement of copyright.

But how will artists be rewarded for their work without copyright?

Firstly, even if copyright were the only way that artists could be rewarded

for their work, then I would contend that freedom is more important than

having professional artists (those who claim that we would have no art do not

understand creativity: people will always create, it is a compulsion,

the only question is whether they can do it for a living).

Secondly, it could be questioned whether copyright is effective even now. The

music industry is one of the most vocally opposed to enhancements in

communication technology, yet according to many of the artists who should be

rewarded by copyright, it is failing to do so. Rather it has allowed

middle-men to gain control over the mechanisms of distribution, to the

detriment of both artists and the public.

Alternatives to Copyright

Fortunately it won't come to this. There are many alternative ways to reward

artists. The simplest is voluntary payment. This is an extension of the

patronage system which was frequently used to reward artists prior to

copyright, where a wealthy person would fund an artist to allow them to

create full-time. The Internet permits an interesting extension of this idea,

where rather than having just one wealthy patron, you could have hundreds of

thousands, contributing small amounts of money over the Internet.

We actually practice what we preach in this regard too, on the 15th of March

2001 the Freenet Project started taking donations, and within a week we had

collected over $1000.

Current Contributors

Ian Clarke

Freenet is based on Ian's paper "A Distributed Decentralised Information

Storage and Retrieval System". Ian started the Freenet Project around July of

1999, and continues to coordinate the project.

Learn more about Ian on his personal website.

Matthew Toseland

Matthew has been working on Freenet since before the 0.5 release. His work

and that of others has resulted in dramatic improvements to the performance

and stability of the network.

Oskar Sandberg

Oskar was also one of the earliest contributors to the Freenet Project,

and has made some important theoretical breakthroughs that lead to the

beginning of Freenet 0.7, see the papers page.

Florent Daignière

Since 2003, Florent has improved various aspects of the software and

performed the project's system administration. In his day job, he is the

Technical Director of Matta Consulting,

a boutique security consultancy firm and currently works on

safepass.me, an Active Directory password filter.

Michael Rogers

Michael has mostly contributed detailed simulations as part of the Google

Summer of Code. He has been helpful in designing the new transport layer.

Steve Dougherty

The current release manager. He joined in GSoC 2013 and has been a

driving force behind tackling long standing issues in Freenet.

xor

The Developer of the Web of Trust and Freetalk. He worked on the Web

of Trust in part-time for one year and is now working as volunteer

again.

David (Bombe) Roden

The developer of the site insertion tool jSite and of Sone, the Social

Network over Freenet.

Ximin Luo

A debian developer who currently works on packaging Freenet.

Bert Massop

Works on the Freenet core and wherever there is need.

TheSeeker

A long term contributor who, among other things, helps keep the

contact between the core developers and users in active subgroups.

Tommy[D]

A Gentoo packager who untangled all the dependencies of Freenet and

packaged it cleanly in Gentoo.

Arne Babenhauserheide

The current maintainer of pyFreenet and infocalypse. He also writes

articles and tutorials for Freenet.

The translatorsA dilligent team of people from various backgrounds who make it

possible to ship Freenet and this website in many different languages.Many more great hackersThis list is missing many freesite authors, plugin writers, and a host

of other people who contributed in various ways.Anonymous Contributors

Eleriseth

Works on Freenet core and communicates via FMS.

Somedude

The developer of the Freenet-based Forum system FMS, of FreenetHG and

of FLIP, chat over Freenet.

The folks from Frost

A group of users and programmers who use an old spammable

Freenet-based forum system which has been abandoned by most of the

core developers. They are active, however, and though it takes time

for their contributions to reach to core development, they take part

in Freenet development.

Previous Contributors

Thomas Markus

A dutch developer and statistic-enthusiast. He now works at Topicus.Education.

Scott Miller

Scott is responsible for the implementation of much of the cryptography

elements within Freenet.

Steven Starr

Steven helps with administration of Freenet Project Inc, and is an advisor to

the project on business and publicity matters.

Dave Baker

Dave's main contribution has been Freemail,

his Summer of Code project to build a working email-over-Freenet system,

as well as some debugging and core work in various places.

Robert Hailey

Robert has helped improve the speed and security of Freenet by finding two

major bugs, and has recently contributed some code.

David Sowder

David (Zothar) has helped the Freenet Project as time permits and interest

directs, including configuration, statistics and peer management via FCP,

the FProxy stats page and Node 2 Node Messages (N2NM/N2NTMs).

And hundreds of others, who either haven't asked to be added here, who

prefer to remain nameless, or who we just haven't got around to thanking. Not to

mention thousands of users, testers, and

donors!论文

Measuring Freenet in the Wild: Censorship-resilience under Observation (PDF)

Observations and measurements on the live Freenet network. Includes suggestions

for improvement. This was submitted to PETS 2014.

The Dark Freenet (PDF)

Detailed paper about the Freenet 0.7.5 network, as opposed to its routing

algorithm, which is detailed in the below papers. Includes some new

simulations. This has been submitted to PET 2010. Video of Small World talk, Berlin, December 2005

This is a video of a talk given by Ian Clarke and Oskar Sandberg at the Chaos

Computer Congress in Berlin, December 2005, describing the (then) new

architecture for Freenet 0.7. You can also download the slideshow, and the source for the Java demo (requires Java 1.5).

Searching in a Small World (PDF)

Oskar Sandberg's licentiate thesis describing a simple decentralized

mechanism for constructing small world networks that is inspired by Freenet's

original design. Part II of the thesis describes the basis for the new

Darknet architecture.

Distributed routing in Small World Networks (PDF)

A paper by Oskar Sandberg describing the theoretical basis for the new

"Darknet" routing mechanism employed by Freenet 0.7. Chaos Computer Congress Talk (slideshow)

This is a slideshow for a talk given

at the Chaos Computer Congress on 30th Dec 2005 in Berlin, Germany by Ian

Clarke and Oskar Sandberg. It described the new "darknet" approach to be

employed in Freenet 0.7. A Java demonstration to accompany the talk is

also available.

Switching for a small world (PDF)

A thesis by Vilhelm Verendel exploring ways to optimise the swapping algorithm.

Protecting Freedom of Information Online with Freenet (PDF)

An IEEE Internet Computing article describing the Freenet architecture circa

2002 - probably the best introduction to the theory behind Freenet.

FreeNet White Paper (PDF)

Original white paper by Ian Clarke, Division of Informatics, University of

Edinburgh 1999.

Attack Resistant Network Embeddings for Darknets (PDF)

A proposal for changing the darknet swapping algorithm which we are still

considering (we have some doubts about long-term performance). A Contribution to Analyzing and Enhancing Darknet Routing (PDF)

A proposal for changing the routing algorithm which we are still considering

(the worst case performance i.e. when a block has been lost may be

unacceptable).

Presentation: Towards "Dark" Social Networking Services (Strufe et al.) (PDF)

An interesting presentation by the group responsible for the two above papers.

Pisces: Anonymous Communication Using Social Networks

An algorithm for setting up onion-like tunnels on darknets.

Routing in the Dark: Pitch Black (

citeseer) (PDF)

A paper describing some attacks on Freenet 0.7's location swapping algorithm.

We have solutions for this but they are still being tested.

The most up to date reference is of course the source code, but there is also some useful documentation on

the wiki (you may have to search a bit),

and most implemented ideas have been discussed in detail on

the mailing

lists at some point, more recently often in-Freenet

forums such as FMS, or

the bug tracker hosted by MantisHub.

Freenet

Navigate with Freedom

Facebook

Twitter

Google+

1,058 Followers

1,042 Likes

gro.tcejorpteneerf@sserp

gro.tcejorpteneerf@troppus

IRC: #freenet on chat.freenode.net

© Copyright The Freenet Project Inc. | All Rights Reserved

Releases · hyphanet/fred · GitHub

Releases · hyphanet/fred · GitHub

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

hyphanet

/

fred

Public

Notifications

Fork

202

Star

980

Code

Pull requests

59

Actions

Projects

0

Security

Insights

Additional navigation options

Code

Pull requests

Actions

Projects

Security

Insights

Releases: hyphanet/fred

Releases

Tags

Releases · hyphanet/fred

Freenet / Hyphanet 1498 pre1

14 Oct 22:29

ArneBab

build01498-pre1

838c5cd

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

Freenet / Hyphanet 1498 pre1

Pre-release

Pre-release

⚠ The Windows installer is currently not signed!

Shorten description of sharesite freesite for english

gzip: replace test workaround by fixing the output of the compressor — thanks to Bombe for the SingleOffsetReplacingOutputStream!

replace GregorianCalendar with java.time.OffsetDateTime in CurrentTimeUTC — thanks to Veniamin Fernandes

CSS: Support word-wrap: anywhere

Move UPnP2 to normal plugins. It does not seem broken, but UPnP does

Move Library plugin to advanced plugins because new users tend to get lost with it

html-filter: allow summary and details html element. Thanks to naejadu

Add a bit of styling to the plugin list (for winterfacey) — thanks to Bombe

Remove option that to load plugins from central server — thanks to Bombe!

fix: invalid max store size showed bytes with GiB suffix

polish: show datastore size warning with GiB suffix

Refine ClientRequestSelectorTest, PersistentJobRunnerImplTest, SplitFileFetcherStorageTest, and SplitFileInserterStorageTest — thanks to Veniamin Fernandes

Change deprecated jcenter() maven repo to mavenCentral() — thanks to Veniamin Fernandes

Fix JarClassLoader’s ability to work with ServiceLoader — thanks to Bombe!

refactor the browser warning wizard page

fix the flag size of nepal — thanks to Percept0r@NYZkOs7eQ…!

Switch swiss flag to civil and state ensign — thanks to Percept0r@NY

bookmarks: Add Opennet SeedNodes stats site

Reorder starting bookmarks: FFS → clean spider → Index of Indexes

Re-order default software bookmarks by ease of use from fproxy

Add generate media site to the default bookmarks

Show the noderef in basic-mode: it is now robust enough

Added tests for PebbleUtils — thanks to Bombe!

Fix NPE when subsets are not initialized — thanks to Bombe

reduce logging for too many excluded sub-arrays thanks to Hiina

disable setting for new-load-management (NLM broke nodes)

add utility to disable a config option, thanks to Bombe

merge debian package as default build action thanks to DC*/desyncr! This resolves one of our high impact tasks.

Assets

18

All reactions

build01497: 2023-02-28

04 Mar 19:57

ArneBab

build01497

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

e3bb502

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01497: 2023-02-28

Latest

Latest

Freenet 0.7.5 build 1497 is now available. [overview]

This release fixes a severe vulnerability in path folding that allowed

to distinguish between downloaders and forwarders with an adapted

node that is directly connected via opennet.

This vulnerability was reported to the Project by Prof. Ming Yang and

Prof. Zhen Ling from the School of Computer Science and Engineering,

Southeast University, Prof. Xinwen Fu from the Miner School of

Computer & Information Sciences, University of Massachusetts Lowell,

and Yonghuan Xu from School of Cyber Science and Engineering,

Southeast university.

Yonghuan also provided support in fixing the vulnerability. Thank you

very much!

To reduce the probability of hitting other problems in path folding,

we also merged the pull-request to completely avoid path folding at

HTL 17 or higher.

Thank you for using Freenet!

AB

Developer changelog:

2023-02-28

Changes in 1497:

This release fixes a severe vulnerability in path folding that allowed

to distinguish between downloaders and forwarders with an adapted

node that is directly connected via opennet.

This vulnerability was reported to the Project by Prof. Ming Yang and

Prof. Zhen Ling from the School of Computer Science and Engineering,

Southeast University, Prof. Xinwen Fu from the Miner School of

Computer & Information Sciences, University of Massachusetts Lowell,

and Yonghuan Xu from School of Cyber Science and Engineering,

Southeast university.

Yonghuan also provided support in fixing the vulnerability. Thank you

very much!

To reduce the probability of hitting other problems in path folding,

we also merged the pull-request to completely avoid path folding at

HTL 17 or higher.

Due to changes in the infrastructure, this release has to re-use the

Windows Installer from 1496, so newly installed nodes on Windows will

still be vulnerable for a few minutes after installation until they

auto-update. This should get fixed in 1498.

Besides this change, there’s a German translation fix by an anonymous

contributor: Email → E-Mail.

And a fix for a test that points towards the need to check the

compression code on newer JDKs.

- AB

[include shortlogs of any installer or plugin changes]

---

Arne Babenhauserheide (3):

Fix l10n: Email → E-Mail. Anonymous contribution - thank you!

re-add delay; check noderef to match RequestHandler.finishOpennetInner

Do not send a duplicate Ack on path folding — thanks to Yonghuan

Arne Babenhauserheide (freenet releases) (2):

Update default bookmark editions

Build 1497

Matthew Toseland (5):

Don't relay noderefs at high HTL

Don't accept noderefs either at high HTL

Missing return, oops

Comments

Replace outdated comment with an assertion

Veniamin Fernandes (1):

Fix compression result comparison in the GzipCompressorTest for newer JDKs

Assets

11

1

chromer030 reacted with thumbs up emoji

All reactions

1 reaction

1 person reacted

build01496

07 Jan 01:45

ArneBab

build01496

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

8b4a699

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01496

2023-01-07

Freenet 0.7.5 build 1496 is now available.

Fix keepalive

-------------

This fixes breakage in keepalive by ignoring a negative maxsize.

This was broken by a fix to the client

to actually honor the maxsize which was ignored before,

so ignoring invalid values provides a compatibility layer

for old plugins.

Update translations

-------------------

Imported updated translations from transifex.

The biggest changes were done by the Russian team,

adding or updating almost 200 translations.

The German team changed over 70 translations.

And 1 to 7 changes were done by teams

es, fa, fi, fr, hu, it, ja, nb-no,

nl, pt (br and PT), sv, zh-cn and zh-tw.

A big thank you for your work!

Bookmark curation

-----------------

Replaced the unmaintained freemail site in the default bookmarks

by a maintained one — thanks to Cynthia!

Further changes

---------------

- add meta charset tests

- add missing test annotations — thanks to vwoodzell!

Thank you for using Freenet!

- AB

Developer changelog:

2023-01-07

Changes in 1496:

- fix keepalive regression — thanks to PlantEater for tracking it down and fixing it!

- fix negative maxsize per new fetch override

- also override maxTempLength

- LowLevelGetException also return the throwable because the error doesnt help, the real gets hidden

- update translations, thanks to the translators on transifex, especially the Russian ones!

- add meta charset tests

- replace unmaintained freemail site by maintained one — thanks to Cynthia!

- add missing test annotations — thanks to vwoodzell!

- AB

---

Arne Babenhauserheide (5):

Add meta Charset tests

bookmarks: replace unmaintained freemail site by maintained one — thanks to Cynthia!

fix: actually detect charset

de-horrify test :-)

CONTRIBUTING.md with easy to work with rule

Arne Babenhauserheide (freenet releases) (5):

update translations

remove more references to Frost from translations

update news

Update default bookmark editions

Build 1496

PlantEater (1):

- fix negative maxsize per new fetch override - also override maxTempLength - LowLevelGetException also return the throwable because the error doesnt help, the real gets hidden

Vaughan Woodzell (1):

Add missing test annotations

Assets

11

1

d0p1s4m4 reacted with thumbs up emoji

All reactions

1 reaction

1 person reacted

Freenet 0.7.5 build 1495

03 Dec 13:40

ArneBab

build01495

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

623e592

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

Freenet 0.7.5 build 1495

2022-12-29

Freenet 0.7.5 build 1495 is now available with many improvements.

New users

There is a new firsttime wizard for single-step setup, contributed

by redwerk and finally merged after resolving dependency-requirements.

To further ease the start, the bookmarks are re-organized with

"starting points" at the top.

User experience

For integration in browser extensions, TheSeeker added support for

the schemes web+freenet and ext+freenet which do not need further

allow-listing by browsers to use.

CometZ@6DtYG~ created a new theme sky-dark-static, a clean dark scheme,

simpler than Winterfacey.

To enable more beautiful Freesites, Spider Admin, naejadu and vwoodzell

extended the CSS filter to enable sticky, transition, and word-wrap.

The m3u-player is now only inserted into sites which contain at least

one video or audio tag. When a part of a stream fails, it is now skipped,

allowing for continuous playback without user-intervention.

Performance

For better lifetime of larger files, the healing size is increased

from 16 to 256 MiB, so a 512 MiB file will keep working if accessed

once every 10 days. To keep alive files explicitly, you can use the

keepalive plugin.

And the pending keys optimizations by Eleriseth should reduce the CPU

load on very fast nodes with many peers.

Further technical improvements

finally merged the HashingAPI by unixninja92, a GSoC project that had

gotten lost in the pull requests. This provides an easy and

well-tested way to create and verify different types of Hashes from byte

arrays, including Sha256 and TigerTree.

#258

old announcement fixes by toad were finally merged

unit tests were upgraded to junit4, thanks to vwoodzell!

the client getter method now honors the max size argument

Thank you for using Freenet!

Assets

20

All reactions

build01494: 2022-06-25

24 Jun 23:29

ArneBab

build01494

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

684b47a

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01494: 2022-06-25

Freenet 0.7.5 build 1494 is now available.

This build improves four broad areas:

streaming on demand,

configuration,

security, and

bugfixes.

Streaming provides improved video and audio:

Video sizes are more robust when the size changes between subsequent videos.

Audio tags no longer try to display the overlay.

This finally enables convenient Samizdat Radio

To help modernize the configuration of existing nodes,

Freenet now shows a user alert once every Freenet update if the datastore is

below 10% of available space with a link to the store size wizard page

to make it easy to increase the store. Thanks to Trivuele!

Also the bandwidth settings now parse the bit suffix correctly

(lowercase b in kbps is bit, not byte).

The security received improvements both for friend to friend mode,

for opennet, and to tools for Freesites:

Friend-to-Friend mode now randomizes pitch black defense times

and waits at least 12 hours between pitch black mitigations

to prevent timing attacks.

Opennet is hardened by disabling the write local to datastore

functionality when opennet is enabled; it can be useful on a

small darknet, but on opennet it makes it easier to find downloaders.

Thanks to Trivuele!

Also a FOAF mitigation was fixeb that wasn't operational, because it lacked

a conversion to percent. Thanks to freedom-of-depression!

The /imagecreator/ tool, among other changes, now ensures

that requested image sizes are sane — thanks to Oleh from Redwerk

Finally it’s now easier to build fred without network access. Thanks to Trivuele!

In addition to these improvements, bugs got fixed:

fix build with modern Java: add opens jvmargs on java 17.

remove Frost on ChatForumsToadlet from non-updated translations

(removed 2019 from the original english).

fix parts of the German translation.

Do not store blocks in the cache, if they are eligible for the store

(should increase usable cache size). Thanks to Trivuele!

A big thank you to all contributors and reviewers

for getting this release in shape!

And thank you for using Freenet!

AB

Developer changelog:

2022-06-24

Changes in 1494:

Show a user alert (once every Freenet update) if the datastore is

below 10% of available space with a link to the store size wizard page

to make it easy to increase the store ― thanks to Trivuele

Do not store blocks in the cache, if they are eligible for the store

(should increase usable cache size) thanks to Trivuele

m3u-player: more robust sizes, do not use overlay for audio. This

finally enables convenient Samizdat Radio

randomize pitch black defense times and wait at least 12 hours

between pitch black mitigations to prevent timing attacks

bandwidth settings: parse bit suffix correctly

improve /imagecreator/ thanks to Oleh from Redwerk

Disable write local to datastore functionality when opennet is

enabled; it can be useful on a small darknet, but on opennet it

makes it easier to find downloaders. thanks to Trivuele

make it easier to build fred without network access thanks to Trivuele

fix build with modern Java: add opens jvmargs on java 17

fix: a FOAF mitigation wasn t operational, because it lacked a

conversion to percent. thanks to freedom-of-depression

remove Frost on ChatForumsToadlet from non-updated translations

(removed 2019 from the original english)

fix parts of the German translation

AB

Arne Babenhauserheide (12):

randomize pitch black defense times

remove unnecessary import

remove more unnecessary imports

use UTC clock

wait at least 12 hours between pitch black mitigations

bandwidth: parse bit suffix correctly

fix parts of de-translation

remove Frost on ChatForumsToadlet from non-updated translations (removed 2019 from the original english)

add opens jvmargs on java 17

m3u-player: more robust sizes, do not use overlay for audio.

remove old unconditional logging line that has been ignored for a decade now and pollutes the log

change misleading naming — thanks to Steve for the review!

Arne Babenhauserheide (freenet releases) (4):

Update default bookmark editions

updated NEWS

updated NEWS

Build 1494

Oleh Shklyar (12):

allow /imagecreator/?width=200&height=100&text=200x100 url from freesites

Path availability Fix (using link filter)

Validate image size

Optimization of maximum font size algorithm

Validate image size

Clean

Clean

Timestamp

ImageCreatorToadletTest

Removed alignment using spaces

To date, there is no reason to open access

Reducing opened API

Trivuele (6):

Make it easier to build without network access

Allow only doing a single wizard step

User alert if datastore is below 10% of available space -- rebased without new datastore settings

Disable write local to datastore functionality when opennet enabled

Nothing ever triggers onAbortDownstreamTransfers()

Stop storing blocks twice

freedom-of-depression (1):

fix FOAFMitigationHack

What's Changed

Allow ImageCreator url from freesites by @Olezha in #682

randomize pitch black defense times by @ArneBab in #747

bandwidth: parse bit suffix correctly by @ArneBab in #764

Propagate translation changes by @ArneBab in #767

m3u-player: more robust sizes, do not use overlay for audio. by @ArneBab in #768

add opens jvmargs when building on java 17 by @ArneBab in #769

remove old unconditional logging line that has been ignored for a dec… by @ArneBab in #770

fix FOAFMitigationHack by @ArneBab in #772

Trivuele batch 1 v3 by @ArneBab in #776

Stop storing blocks twice by @ArneBab in #779

Full Changelog: build01493...build01494

Contributors

ArneBab and Olezha

Assets

18

All reactions

testing 1494 pre-1: optimization and safety

18 Jun 17:59

ArneBab

build01494-pre1

e6877ef

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

testing 1494 pre-1: optimization and safety

Pre-release

Pre-release

1494 Testing release

Assets

11

❤️

1

yashwant975 reacted with heart emoji

All reactions

❤️

1 reaction

1 person reacted

build01493: 2022-03-28

29 Mar 06:03

ArneBab

build01493

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

95b91d6

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01493: 2022-03-28

Freenet 0.7.5 build 1493 is now available. [overview]

This build provides four core improvements:

Curated default bookmarks, including an actively maintained index and Shoeshop for sneakernet

Better peer scaling for very fast nodes

Updated defaults to adapt to the higher capacities of modern systems.

Compatibility with Java 17, first in the installers, with the following update for all nodes

The curated default bookmarks provide a much better first-start

experience. Previously new users saw mostly outdated sites in

inactive indexes.

Adding Shoeshop to enable sneakernet which can connect separate

Freenet networks even if no internet connection can be established

now provides all the tools for selfpublishing, not only in the

style of publishing an online blog (which is already easy with

Sharesite) or sending a file to an independent printer, but in the

much more self-reliant style, resourcefulness and rebellious spirit

of classical samizdat.

Adjusted peer-scaling fixes a conceptual problem: Fast nodes could

not utilize their bandwidth well enough, because the previous

peer-scaling did not take the aggregated bandwidth limit of the

peers into account. Now very fast nodes have linearly scaling

peer-counts to make it more likely that the capacity of their peers

added together matches the capacity of the fast node. The absolute

upper limits stay in place, because they are needed to preserve

privacy. There are also no changes to the peer-scaling of slower

nodes.

The fixed scaling should improve the performance of the whole

network because it avoids creating artificial bottlenecks.

Changes to the defaults are a doubled thread limit of newly

installed nodes (increased from 500 to 1000), with the stack size

per thread reduced by half to avoid higher memory consumption, the

datastore size is increased from 20GiB to 100GiB, because SSDs are

much faster and more resilient than before, and the default

bandwidth to offer if the actual speed cannot be found is doubled

to 32KiB/s.

These newer defaults should also improve the first-time user

experience.

Compatibility with Java 17 took longer than we hoped, because it

required deploying a newer wrapper and changes to the classpath.

This makes it easier to support packages for modern Linux, and it

should avoid losing nodes when Java updates itself (starting from

the next update this also applies to existing nodes; we have to

deploy the update code in 1493 so it can run during the update to

1494).

All together these changes should improve the user experience for

new people, give sneakernet the visibility it deserves, and

increase the performance of the network as a whole.

And last, but definitely not least, our translation team at

transifex updated enough of the the German, Persian, Finnish,

Italian, Japanese, Norwegian, Portuguese, Russian, and Swedish

texts in Freenet that we can ship the new versions. Thank you

very much!

That Freenet can keep moving forward and help people worldwide to

exercise their basic rights and freedoms is the work of amazing

volunteers, both contributors and people running Freenet nodes.

Thank you for your contributions, and thank you for using Freenet!

AB

Developer changelog:

2022-03-28

Changes in 1493:

Update the wrapper files in dependencies.properties to 3.5.30

This change sets a consistent wrapper-version for Windows, *Nix, and

also OSX, thanks to operhiem1 for the review

Pseudonymous people found found a bug in our splitfile inserter that

TheSeeker tracked down to its source. It threw an exception if the

checksum was exactly [0,0,0,0], thanks to operhiem1 for the review

Update default bookmarks: Replace inactive indexes, add Shoeshop,

show active sites first. Thanks to AC4BB21B for the review!

Fix FreenetURI intern() to not forget edition of USK — thanks to

debbiedub!

Replace Pointer.SIZE with Native.POINTER_SIZE for JNA 5.x — thanks

to Leo3418 and Bombe

fix peer scaling for very fast peers:

Very fast nodes have more peers to fix a conceptual mistake

(did not take the aggregated bandwidth limit of the peers into account).

Thanks to TheSeeker for the review!

more resilient noderef parsing for easier friend-to-friend connections

try replacing spaces by newlines in noderefs when parsing fails

Accept FreenetURI in add peer field; only try regular url on failure

— thanks to desyncr for the review

Add warning about surveillance through voice recognition tech

Updater changes to add Java 17 support for existing nodes to

wrapper.conf (required module opens for Java 17 to wrapper.conf)

during the following update (to 1494)

add output of filtered file to the OggFilterTest

Installer changes:

Java 17 support

increase default datastore size to 100GiB, because SSDs are much

faster today

Set standard thread limit to 1000

decrease default thread stack size for reduced memory usage

(512KiB)

Increase default bandwidth to 32KiB/s. This should improve

performance for new nodes where UPnP does not give the speed.

thanks to operhiem1 for the review

AB

Changes in the installers:

java-installer:

Arne Babenhauserheide (8):

wrapper.conf: open the modules required for Java 16 and Java 17

wrapper.conf: increase count for commented out args, too

decrease per-thread stacksize to 256k

Get and load sharesite by default instead of ThawIndexBrowser

increase default max memory limit to 768 for computers with more than 4GiB of memory

fix: no equal sign after Xss

512k thread stack

update wrapper.jar, binaries and libs to upstream version 3.5.30

update jna on classpath when run without wrapper to 4.5.2

Arne Babenhauserheide (freenet releases) (3):

Merge branch 'TheSeeker-patch-1' into next

Merge branch 'next' of github.com:freenet/java_installer into next

detect Java 9 to 18

TheSeeker (1):

update jna dependency versions

wininstaller-innosetup:

Arne Babenhauserheide (8):

Update wrapper.conf

decrease per-thread stacksize to 256k

fix: no equal sign after Xss

only set Java 9+ options on w64

also lookup java 64 under non-explicit 64 key

allow 1024 MiB of memory on a machine with more than 4GiB

update the wrapper to the build with Java 9+ support created by Steve in 2018

remove 32bit note for Java installer (because it is no longer correct)

Arne Babenhauserheide (freenet releases) (11):

Update bundled JRE to 10.0.2 for Windows x64

reference zip, not exe

declare var

{tmp}\ so this is not empty

note why zip

Merge branch 'innosetup-windows-x64-support' of https://github.com/desyncr/wininstaller-innosetup

Merge branch 'desyncr-innosetup-windows-x64-support'

end line with carriage return newline

update FreenetTray.exe to version from cc614654fe8a4ae1a22db9b67b7bdf012268590c support-java-registry-with-JRE

Merge branch 'master' of github.com:freenet/wininstaller-innosetup

note that gh actions runs can be retriggerd

DC* (6):

Reference bundled zip for extraction

Fix syntax error

Simplify command and remove unnecessary compression

Mistakenly removed fred_deps.iss

Pre-unpack jre zip before creating installer

Merge remote-tracking branch 'origin/master' into innosetup-windows-x64-support

Changes in fred:

Arne Babenhauserheide (33):

add output of filtered file to the OggFilterTest

fix peer scaling for very fast peers:

correctly mark bytes with uppercase b

fix: apply max peers after increasing targetPeers for fast nodes

add voice recognition warning

try replacing spaces by newlines in noderefs when parsing fails.

Accept FreenetURI in add peer field; only try regular url on failure

note effectively published field

actually replace instead of doing the wrong thing

actually working more liberal noderef parsing

add max size to the fetched noderef

add required module opens for Java 17 to wrapper.conf

increase default datastore size to 100GiB, because SSDs are much faster today

Set standard thread limit to 1000

Use Logger instead of System.out.println

make the 50% slow fraction assumption explicit

break long line

log after setting limit for consistency

update NEWS

update default bookmarks.

update NEWS

Increase default upload bandwidth if none detected to 32KiB/s

remove options with duplicated upload bandwidths.

delete l10n for no longer existing bookmarks

Add fetchpullstats to the bookmarks

Move inactive flogs to the end of the flog list

fix: this threw an exception if the checksum was exactly [0,0,0,0].

Update the wrapper files in dependencies.properties to 3.5.30

1493 NEWS

1493 NEWS

fix: NEWS structure was broken

typo

cleaner NEWS description and remove duplicate entry

Arne Babenhauserheide (freenet releases) (7):

Update default bookmark editions

Update default bookmark editions

Update default bookmark editions

Update default bookmark editions

NEWS changes

Update default bookmark editions

Build 1493

Debora Wöpcke (2):

Add test to verify that intern() does not modify an USK

Correct so that FreenetURI intern() doesn't forget suggestedEdition

Yuan Liao (1):

Replace Pointer.SIZE with Native.POINTER_SIZE for JNA 5.x

Assets

18

All reactions

build01493-pre1

20 Mar 18:47

ArneBab

build01493-pre1

9182aa4

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01493-pre1

Pre-release

Pre-release

Merge branch 'next' of github.com:freenet/fred into next

Assets

11

All reactions

Freenet build 1492: video, diagnostics, pitch black mitigation, and plugin updates

27 Oct 22:39

ArneBab

build01492

This tag was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

e3089e8

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

Freenet build 1492: video, diagnostics, pitch black mitigation, and plugin updates

Freenet 0.7.5 build 1492 is now available. [overview]

This release finalizes the mitigation of the pitch black attack

with a test that shows that the mitigation is effective at

reducing the impact of the attack and recovering from it.

This mitigation was sponsored by nlnet as part of the

Horizon 2020 program of the EU: https://nlnet.nl/project/Freenet-Routing/

The video-player was optimized to prevent most visual flickering.

To help performance analysis, there is now a diagnostics component

with thread runtime information. You can activate it in the advanced core settings of your node.

Thanks to DC*.

And several plugins received updates:

KeyUtils got bugfixes from TheSeeker

Library now searches all indexes if you just hit search — thanks to redwerk.

Library now also allows setting a custom link suffic (docname) — thanks to TheSeeker.

Spider got bugfixes from redwerk and juiceman.

FlogHelper provides simple clickable audio and video tags.

Just put a m3u link into the video tag to have video-on-demand.

Included Bugfixes if fred (the Freenet Reference Daemon):

skip in support.io.SkipShieldingInputStream must return

non-negative. Thanks to dennisnez.

NodeConfig was reading a particular config from default on every

start up. Thanks to desyncr.

OpenJDK 16+ compat: add wrapper.conf argument to allow access to

internal openjdk modules.

Correct "current size" option in Wizard => datastore size.

Thanks to AC4BB21B.

Sidenote: What is the pitch black attack?

On Freenet, every node has a location on a circle.

To optimize routing, pure friend-to-friend nodes (no opennet)

swap these locations (without changing connections).

The pitch black attack steals the locations one by one

and replaces them with a single one,

so that after a while all nodes are at the same location.

Then no sensible routing is possible anymore.

The mitigation detects when parts of the circle are devoid of routing nodes

and fills up the holes by switching there.

If you want to help us get better, please help us get the current

pending pull-requests in shape for merging, by reviewing and/or by

improving already reviewed but inactive pull-requests

(only on clearnet, because the pull-requests are there):

https://github.com/freenet/wiki/wiki/Large-Pull-requests-that-need-work

We now also have a list of high-impact tasks:

USK@xPkwhS3czAr5oi6yNgLQ7Ld7RbUZuY6eGniS0n5FZtc,WXVIZrZyLlZugJgJKYvbF9SPfKAUAQX9gAX6g7FGNVE,AQACAAE/high-impact-tasks/0

That said: If someone asks you "what is Freenet", you could for example answer:

Freenet is a peer-to-peer platform for

censorship-resistant and privacy-respecting

publishing and communication.

or

Freenet is a communication system that covers the needs for protection

expected from a secure data broker for Multi-Party Data Exchange in IoT for Health.

(source: https://www.igi-global.com/chapter/using-freenet-as-a-broker-for-multi-party-data-exchange-in-iot-for-health/257911 )

This is what Freenet already accomplished.

And we could only get this far together, because without users,

it is hard for sofware to make a difference.

Thank you for using Freenet!

Arne Babenhauserheide

Developer changelog:

2021-10-27

Changes in 1492:

Fred:

The diagnostics component provides thread runtime statistics. Thanks to DC*.

#727

The multi-node test to show that the mitigation against the pitch

black attack works.

#736

The m3u-player for video on demand over Freenet now prevents most

visual flickering.

#734

Clickable labels for checkboxes. Thanks to AC4BB21B.

#741

Fix: skip in support.io.SkipShieldingInputStream must return

non-negative. Thanks to dennisnez.

#737

Fix: NodeConfig was reading a particular config from default on every

start up. Thanks to desyncr.

#739

OpenJDK 16+ compat: add wrapper.conf argument to allow access to

internal openjdk modules.

#740

Fix: Correct "current size" option in Wizard => datastore size. Thanks to

AC4BB21B.

#742

Plugins:

KeyUtils:

Fix API call to allow compiling, and

Fix extra bytes display for composed SSK.

both thanks to TheSeeker.

hyphanet/plugin-KeyUtils#17

hyphanet/plugin-KeyUtils#16

Library:

search with unchecked boxes thanks to redwerk

hyphanet/plugin-Library#14 -

custom index docname thanks to TheSeeker

hyphanet/plugin-Library#18

Spider:

Fix writing to the bucket and Replace SortedIntSet thanks to redwerks

hyphanet/plugin-Spider#6

Fix build thanks to Juiceman

hyphanet/plugin-Spider#5

FlogHelper

Add new media tags in tool menu: audio and video thanks to

AlexandreRio

hyphanet/plugin-FlogHelper#19

(you can simply set an uploaded m3u file as as source of a video

and it will show up on your flog as video on demand)

related: Florent fixed our website build (Thank you!), so we can release

there again. I polished our theme and the messaging on the index-page.

https://freenetproject.org/

Arne Babenhauserheide

Arne Babenhauserheide (20):

Update FlogHelper to version 36

m3u-player: prevent flickering on track-transitions by keeping the size fixed and overlaying an image of the video

Add real node pitch black mitigation test

pitch-black-mitigation: prevent undamped oscillations of the pitch-black-mitigation

document pitch black node test

fix error-prone clock usage

OpenJDK 16+ compat: add wrapper.conf argument to allow access to internal openjdk modules

wrapper.conf: only add --illegal-access=permit on java 9+

refactor (pull out function) and fix the width for even less flickering

make size preservation robust and flexible

use real sizes for canvas

simplify fixing the size during updates

alwag, always divide by explicit floats

add error handling

fix: supports modules should be true when the threshold version (9) is smaller or equal to the current version

Add note about RealNodePitchBlackMitigationTest.java to the simulator/readme.txt

add a SECURITY.md

note that there are no known unfixable identification attacks against F2F-mode, note sybil and restructure a bit

improve SECURITY.md

SECURITY.md: typo: tipps -> tips

Arne Babenhauserheide (freenet releases) (7):

update KeyUtils to 0.5.6 v5028 from commit 4c0b6e11ac66e781dbcb5a9a1ddabf351629c6b6

update Library to 37 from commit cd45f9a5634c82e693d5fe1a870ad6120b9fe980

update Library to 53 from commit c5367b4ceffb2f9a011d68cae0bb205933fe6033

update FlogHelper to actual 36 from commit 085e4edff9d96c344168bf983c27056a869f5770

Update default bookmark editions

Update default bookmark editions

Build 1492

DC* (56):

Add thread cpu to diagnostics

Add NodeDiagnostic module with NodeThreadDiagnostics

Don't use single class imports

Fix indentation

Don't use single class imports

Create Diagnostics component to be able to scale to support multiple diagnostics easily

Add license headers to new files

Move thread info building into its own method

Make NodeDiagnostics field private

Flatten NodeDiagnostics interface

Flatten NodeDiagnostics interface

Create NodeDiagnostics and ThreadDiagnostics interfaces and default implementations

Reduce visibility for fields in ThreadDiagnostics

Use atomicReference for nodeThreadInfo list

Use thread interval to build data points

Fix calculation CPU time percentage

Use NodeDiagnostics type interface rather than default implementation

Use DefaultNodeDiagnostics implementation

Remove unnecessary finals in contructor

Remove unnecessary throw exception

Remove unnecessary copy

Fix CPU time percentaje calculation

Use Comparator class to simplify threads sorting

Use single loop to calculate delta and display

Rename private field to follow convention

Show percentage cpu time between process threads

Separate presentation from actual data for NodeThreadInfo

Compute % CPU by calculate the total CPU time from all threads, not only nodestat's

Renaming internal variables

Re-introduce delta CPU Time and simplify code structure

Output formatting in DiagnosticToadlet

Handle case when thread.getThreadGroup returns null

Remove long -> double coercion Purge inactive threads from threadsCpu list

Use NodeThreadSnapshot to hold thread list, total CPU and interval

Update ConfigToadlet to support enabling/disabling node diagnostics module

Avoid unnecessary casting to double for getCpuTimeDelta

Declare interface rather than implementation

Clean up nodeConfig callback

Update configuration description

Check thread snapshot is available when displaying

Simplify description and normalize names

Clean up unnecessary space

Correct language and simplify terms

Fix grammar mistake on translation for DiagnosticsDescription

Calculate CPU time as % of wall time

Avoid possible race condition on start up

Add docblock to threadStats method

Fix tab vs space mix up

Remove unneccessary code style fixes

newline at end of line

Create threadSnapshot inner class to avoid pooler executor messing thread'...

Assets

11

1

desyncr reacted with hooray emoji

All reactions

1 reaction

1 person reacted

build01492-pre1: update FlogHelper to actual 36 from commit 085e4edff9d96c344168bf983c…

24 Oct 20:46

ArneBab

build01492-pre1

83d0564

This commit was signed with the committer’s verified signature.

ArneBab

Arne Babenhauserheide

GPG key ID: B41A6047FD6C57F9

Learn about vigilant mode.

Compare

Choose a tag to compare

View all tags

build01492-pre1: update FlogHelper to actual 36 from commit 085e4edff9d96c344168bf983c…

…27056a869f5770

Assets

10

1

desyncr reacted with hooray emoji

All reactions

1 reaction

1 person reacted

Previous 1 2 3 4 5 6 Next

Previous Next

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

Download

Download

Hyphanet

About

Volunteer

Documentation

Download

Help

Twitter

Mastodon

Language

ru

fr

Download

Download and install Hyphanet:

For Windows

For macOS, GNU/Linux & POSIX

Hyphanet is free and open source software available under GPLv2+. The source code is on GitHub.

Windows

Download and run the installer (gpg signature; keyring)

Download Hyphanet for Windows

It will automatically install Hyphanet and other required components for you.

When done, your default browser will automatically open up to Hyphanet's

web-based user interface.

Hyphanet requires Windows 8.1 or later.

Free code signing provided by

SignPath.io, certificate by SignPath

Foundation.

Note: Once a Windows version reaches end of life, we do not guarantee

any longer support, or the fact that Hyphanet will install and/or work in

such environments. However, it is not mandatory that Hyphanet will not work

on an older Windows OS. We always strongly recommend you to take security

very seriously, and run up to date software that receives security updates,

to be on the safe side.

GNU/Linux & POSIX

Get the Java-based installer (gpg signature; keyring).

Download Hyphanet for GNU/Linux & POSIX

Run the file with Java, then follow the installer:

You need to have a recent Java Runtime Environment (JRE), for

example OpenJDK which can be obtained via your

package manager or from

https://adoptopenjdk.net.

Java version 9 or higher is required.

If there are problems, use the command line. This requires

wget which can be installed with a package manager, such as

sudo apt-get install wget on Debian or Ubuntu.

wget 'https://www.draketo.de/dateien/freenet/build01497/new_installer_offline_1497.jar' -O new_installer_offline.jar;

java -jar new_installer_offline.jar;

To install on a headless system, or if you get fontconfig problems, use the -console option and follow the prompts:

java -jar new_installer_offline.jar -console;

Note: We would love to have packages for most distributions. There

is a package for Gentoo, and a

Debian package. The debian

Package also works on WSL2 (but not WSL1). If you would like to help,

it would be much appreciated!

Note: On some systems (including FreeBSD and OpenBSD) the wrapper does

not work, unless you install additional software packages and configure it.

You can start Hyphanet manually there, but you then don’t have

auto-updates. After installation you find the relevant classpath

arguments in wrapper.conf. Then call java directly with a command like java -Xmx1500m -Xss512k -Dnetworkaddress.cache.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED -cp bcprov-jdk15on-1.59.jar:freenet-ext.jar:freenet.jar:jna-4.5.2.jar:jna-platform-4.5.2.jar:pebble-3.1.5.jar:unbescape-1.1.6.RELEASE.jar:slf4j-api-1.7.25.jar freenet.node.NodeStarter

Release Mirror

Our releases are provided via Lysator. You can try the

http mirror or the tor mirror

provided by Lysator.

Alternatively you can use the github release.

Mirrored installation

If you have a working Hyphanet installation directory that you have mirrored

from one Unix machine to another (e.g. via rsync or unison), enabling the

mirrored installation is not difficult. Nothing in a Hyphanet installation

cares about its host's IP address; it can't, or Hyphanet would fail on

machines that get IP addresses from a DHCP pool.

All you actually need to do is tell the system you've mirrored to that it

should start the Hyphanet proxy daemon for you on boot. Do crontab -l

on the source machine, find the line that is tagged "FREENET AUTOSTART" and

add that to your crontab on the mirrored machine.

However: each installation has a unique identity key generated at

installation time. If you try to run two instances with the same identity at

the same time, both proxy demons will become confused and upset. Don't do

this!

Using Hyphanet

Please try the step by step guide to setting up Hyphanet and various Hyphanet apps,

especially if installing on macOS.

We are not responsible for unofficial third party apps it recommends (including FMS),

but many Hyphanet users and developers use them.

Firewalls and routers

Hyphanet should work fine with most routers, but if you are having problems

and you have a firewall or router, click here for

some info.

So it's running, what do I do?

When the installer closes, it should open a browser window pointing to the

first-time wizard. Here you can configure basic settings, and then start

using Hyphanet. You can access Hyphanet later on via the system tray menu (

bottom right on the screen), or use the Browse Hyphanet shortcut on the

desktop and/or start menu. If it doesn't work, open

http://127.0.0.1:8888/ in your web browser.

For best security you should use a separate browser for Hyphanet, preferably

in privacy mode. On Windows, the system tray menu will try to use Chrome in

incognito mode if possible. Internet Explorer does not work well with

Hyphanet, Firefox and Opera are widely used.

If you know anyone running Hyphanet, you can improve your security and help to

build a robust network by connecting to their node. First, open the Add a

friend page. You and your friend should

each download their "node reference". Send the file to the other person,

and add his node reference using the form at the bottom of the page. When

both are added, your friend's node should show up on the Friends page,

probably as "CONNECTED" or "BUSY". You can set a name for your node on the

config page to make it easier to see who it is. Only add nodes run by people

you actually know, whether online or offline, as adding total strangers

harms performance and does not improve security much (they could be the bad

guys!).

So I'm connected, what do I do?

Hyphanet itself includes anonymous websites ("freesites"), filesharing,

searching, and more, but you can also use third party applications for chat,

filesharing, to help you upload freesites, etc.

The Hyphanet Social Networking Guide explains

how to set up the main third party tools, including email, forums and

micro-blogging (Sone, a bit like twitter).

It doesn't work, now what?

If you have problems installing or running Hyphanet, please see the knowledge base, FAQ, chat, or mailing list.

Hardware requirements

Generally a 1GHz processor and 1GB of RAM should be fine. Hyphanet will run on

smaller systems, but it uses at least 128MB of RAM, so unless the system does

nothing else it will struggle in less than 512MB. However, the processor is

less of a problem, people have been known to run it on 400MHz Pentium 2's or

ATOM's, although downloads and browsing would be slow.

Hyphanet will use a portion of your disk for storing data, you can configure

this to any size from 100MB upwards, but we recommend at least 1GB. Hyphanet

also uses disk space for your downloads. Hyphanet's memory usage is

approximately 256MB plus 400kB for every 2GB of datastore.

On 64-bit Windows, we will install a 32-bit Java Virtual Machine because of

limitations of the Java Service Wrapper.

Upgrading

Hyphanet provides an upgrade-over-Hyphanet mechanism: It will keep itself up to

date automatically from other Hyphanet nodes, and this will normally work even

if it is unable to route to them due to them being too new. This is anonymous

and secure, and we recommend people use it. However, if something is severely

broken, you can upgrade your node manually from our servers:

Windows users can upgrade to the latest-stable Hyphanet release

by running update.cmd in the Hyphanet directory.

macOS, GNU/Linux, or other POSIX users may upgrade by running the update.sh

shell script in the Hyphanet directory.

Add friends (or connect to strangers)

If you know other people who also use Hyphanet, you can add them as Friends.

This will make you safer against attacks on Hyphanet Project infrastructure

(the seednodes).

Once you are connected to 5 or more friends, you can enable high security mode.

In high security mode Hyphanet will only connect to your friends.

This makes your usage of Hyphanet almost undetectable,

but you are still able to access the rest of the network through your friends' friends friends ....

You don't have to add friends right now.

If you use a "low" or "normal" security level Hyphanet will automatically connect to strangers and will work just fine.

However, your (or someone else's) government may be able to find out who you are with enough effort. Be careful!

Verifying Signatures

Download the Hyphanet Project signing keys and import them into your keyring:

pub 2048R/0xEAC5EBF07AA9C2A3 2013-04-29

Key fingerprint = DBB7 7338 3BC3 49C9 5203 ED91 EAC5 EBF0 7AA9 C2A3

pub 4096R/0x00100D897EDBA5E0 2013-09-21 [expired: 2016-09-08]

Key fingerprint = 0046 195B 2DCA B176 D394 09CD 0010 0D89 7EDB A5E0

uid Steve Dougherty (operhiem1 Release Signing Key)

sub 4096R/0x7BF0F7B36AC8B380 2013-09-21 [expired: 2016-09-15]

pub 4096R/0xFF24CA421946AA94 2013-09-24 [expires: 2018-09-23]

Key fingerprint = B76D 4AA7 96D8 403E ED78 C9F9 FF24 CA42 1946 AA94

uid Matthew Toseland (2013-2018 key, higher key length)

uid Matthew Toseland (2013-2018 key, higher key length)

sub 4096R/0xF877E62895C42009 2013-09-24 [expires: 2018-09-23]

pub 4096R/0xB67C19E817A8D846 2016-01-02 [expires: 2018-01-03]

Key fingerprint = 5D77 D9A4 2E28 0F5A FF8F 2EBF B67C 19E8 17A8 D846

uid Stephen Oliver

sub 4096R/0x9BCDD1614041F59E 2016-01-02 [expires: 2018-01-03]

sub 4096R/0x1652EBA5AC1BB386 2016-01-02 [expires: 2018-01-03]

sub 4096R/0x38A62E479684F2F2 2016-01-02 [expires: 2018-01-03]

pub 4096R/0xB41A6047FD6C57F9 2017-02-23

Key fingerprint = B30C 3D91 069F 81EC FEFE D0B1 B41A 6047 FD6C 57F9

uid Arne Babenhauserheide (freenet releases)

uid Arne Babenhauserheide (ArneBab)

Hyphanet

Navigate with Freedom

Twitter

Mastodon

gro.tcejorpteneerf@sserp

gro.tcejorpteneerf@troppus

IRC: #freenet on irc.libera.chat

Licensed under the GDFL. Website source repository

Freenet

Freenet

Facebook

Twitter

Google+

Freenet

About

Volunteer

Documentation

Donate

Download

Help

Language

en

zh-tw

fr

es

Freenet

Browse websites, post on forums, and publish files within Freenet with strong privacy protections.

下载

Get the software

Learn

Learn to protect your privacy

捐款

Give to protect online privacy and internet freedom

贡献

Work to protect online privacy and internet freedom

More

What is Freenet

Freenet is a peer-to-peer platform for censorship-resistant communication and publishing.

下载

Freenet Features

Browse websites, post on forums, and publish files within Freenet with strong privacy protections.

秘密身份

Create yours so nobody knows who you are

浏览网站

Freenet is home to sites ranging from programming to sustainable living

论坛

Ask questions and exchange ideas

平台

Build your own decentralized application on the Freenet platform

What's New

News about Freenet, internet freedom and privacy rights.

Freenet build 1485 released

2020-02-14

Freenet 0.7.5 build 1485 is now available.This release adds checking for Ogg Theora video files thanks to redwerk: Freenet can now display video safely.For files whose size does not shrink a lot by compression, compression is now skipped. This should...

Details

Statistical results without false positives check are most likely wrong

2019-09-09

Like every other privacy network, Freenet is a target of statistical attacks to trace the activity of its users.Studies that investigated tracing Freenet users were built on unrealistic idealized setups or simplistic routing, so that their results...

Details

Freenet build 1484 released

2019-03-23

Freenet 0.7.5 build 1484 is now available.This release fixes the last blocking problems with the new build based on gradle and JNA and adds new features.Thesnark discovered a way to circumvent the content filter, which was fixed by operhiem1. This bug...

Details

Freenet build 1483 released

2018-11-18

Freenet 0.7.5 build 1483 is now available. [overview]This build is the second step to fix increased resource consumption in release 1481: the peer count is reduced.the thread priority on Windows is below normal instead of background. There were many...

Details

News Archives

Why we do this

I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say Daddy, where were you when they took freedom of the press away from the Internet

Mike Godwin / Electronic Frontier Foundation

Freenet

Navigate with Freedom

Facebook

Twitter

Google+

1,058 Followers

1,042 Likes

gro.tcejorpteneerf@sserp

gro.tcejorpteneerf@troppus

IRC: #freenet on chat.freenode.net

© Copyright The Freenet Project Inc. | All Rights Reserved

The Freenet Project · GitHub

The Freenet Project · GitHub

Skip to content

Toggle navigation

Sign in

freenet

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

The Freenet Project

Declare your Digital Independence

294

followers

United States of America

https://freenet.org/

X

@freenetorg

Overview

Repositories

Projects

Packages

People

More

Overview

Repositories

Projects

Packages

People

Popular repositories

freenet-core

freenet-core

Public

Declare your digital independence

Rust

2k

66

freenetorg-website

freenetorg-website

Public

The code behind https://freenet.org/ and https://staging.freenet.org/

JavaScript

7

2

kweb-up-poc

kweb-up-poc

Public

Proof of concept of new Freenet UI based on Kweb

4

1

freenet-stdlib

freenet-stdlib

Public

Freenet development standard library

Rust

2

4

able-templates

able-templates

Public

1

websitemirror

websitemirror

Public

Repositories

Type

Select type

All

Public

Sources

Forks

Archived

Mirrors

Templates

Language

Select language

All

JavaScript

Rust

Sort

Select order

Last updated

Name

Stars

Showing 6 of 6 repositories

freenet-core

Public

Declare your digital independence

Rust

2,001

Apache-2.0

66

30

(2 issues need help)

10

Updated Mar 3, 2024

freenetorg-website

Public

The code behind https://freenet.org/ and https://staging.freenet.org/

JavaScript

7

AGPL-3.0

2

7

1

Updated Feb 26, 2024

freenet-stdlib

Public

Freenet development standard library

Rust

2

Apache-2.0

4

0

0

Updated Feb 18, 2024

websitemirror

Public

0

Apache-2.0

0

0

0

Updated Jan 26, 2024

able-templates

Public

1

Apache-2.0

0

0

0

Updated Dec 2, 2022

kweb-up-poc

Public

Proof of concept of new Freenet UI based on Kweb

4

GPL-3.0

1

0

0

Updated Oct 26, 2018

People

Top languages

Rust

JavaScript

Most used topics

Loading…

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

Introduction - Freenet Manual

Introduction - Freenet Manual

1. IntroductionComponents2. Overview3. Contracts4. Delegates5. User InterfacesArchitecture6. P2P Network7. Intelligent RoutingDeveloper Guide8. Tutorial: Create an App9. Contract interfaces10. freenet.toml formatExamples11. Antiflood Tokens12. Blind Trust TokensCommunity and Support13. CommunityReference14. Glossary

Light

Rust

Coal

Navy

Ayu

Freenet Manual

Introduction

Freenet is a distributed, decentralized alternative to the centralized World

Wide Web, designed to unleash a new era of innovation and competition, while

protecting freedom of speech and privacy.

At the core of Freenet is the Freenet kernel, which runs on users' computers,

smartphones, or other devices. The kernel is tiny, less than 5 MB, allowing it

to be installed in a matter of seconds and is compatible with a wide range of

hardware.

Freenet is a peer-to-peer network, which means

that computers that are part of the network self-organize into a global network

without any central authority, and the work of hosting services is distributed

among the users.

Freenet

net

This page is built with Kweb, which

requires JavaScript to be enabled. Freenet Dev FAQ BlogDeclare your digital independenceThe centralization of the internet poses a fundamental threat to individual freedom. In 2024, a few corporations control most internet services and infrastructure. These corporations wield immense power over most of us with little accountability, enabling them to censor content, exploit our data, and exclude users from services they depend on —all with profound implications for democracy. We need a solution urgently.

Introducing Freenet — a decentralized replacement for the world wide web. Acting as a global, shared, decentralized computing platform, Freenet can either be accessed via a standard web browser or integrated into third-party applications.

Freenet is not merely a tool for developers; it offers a pathway for anyone seeking greater control and freedom in their digital interactions. You can build or use decentralized services for messaging, social media, email, and e-commerce. These applications are designed for scalability and interoperability, secured through modern cryptographic techniques.

Watch Ian's TalkRead User ManualChat on MatrixVisit GitHubLatest News

September 7th, 2023 - Talk + Q&A - Building Decentralized Software on Freenet - X / YouTube / Rumble

June 9, 2023 - AmA with Ian about Freenet on r/privacy subreddit

May 20, 2023 - Freenet on the front page of Slashdot

May 19, 2023 - Freenet on Hacker News

May 6, 2023 - Freenet makes the front page of r/programming

GitHub - freenet/freenet-core: Declare your digital independence

GitHub - freenet/freenet-core: Declare your digital independence

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

freenet

/

freenet-core

Public

Notifications

Fork

66

Star

2k

Declare your digital independence

freenet.org/

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0

LICENSE-APACHE

MIT

LICENSE-MIT

2k

stars

66

forks

Branches

Tags

Activity

Star

Notifications

Code

Issues

30

Pull requests

10

Discussions

Actions

Projects

0

Wiki

Security

Insights

Additional navigation options

Code

Issues

Pull requests

Discussions

Actions

Projects

Wiki

Security

Insights

freenet/freenet-core

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

 mainBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History2,178 Commits.github.github  appsapps  cratescrates  dockerdocker  docsdocs  modulesmodules  network-monitornetwork-monitor  schemas/flatbuffersschemas/flatbuffers  scriptsscripts  stdlib @ f28e671stdlib @ f28e671  teststests  .gitignore.gitignore  .gitmodules.gitmodules  Cargo.lockCargo.lock  Cargo.tomlCargo.toml  LICENSE-APACHELICENSE-APACHE  LICENSE-MITLICENSE-MIT  README.mdREADME.md  View all filesRepository files navigationREADMEApache-2.0 licenseMIT license

Freenet

The Internet has grown increasingly centralized over the past two decades, such

that a handful of companies now effectively control the Internet infrastructure.

The public square is privately owned, threatening freedom of speech and

democracy.

Freenet is a software platform that makes it easy to create decentralized

alternatives to today's centralized tech companies. These decentralized apps

will be easy to use, scalable, and secured through cryptography.

To learn more about Freenet as a developer read The User

Manual. For an introduction to Freenet watch Ian's

talk and Q&A - YouTube /

Vimeo.

Status

Freenet is currently under development. Using our development

guide, developers can experiment with

building decentralized applications using our SDK and testing them locally.

Applications

Examples of what can be built on Freenet include:

Decentralized email (with a gateway to legacy email via the @freenet.org

domain)

Decentralized microblogging (think Twitter or Facebook)

Instant Messaging (Whatsapp, Signal)

Online Store (Amazon)

Discussion (Reddit, HN)

Video discovery (Youtube, TikTok)

Search (Google, Bing)

All will be completely decentralized, scalable, and cryptographically secure. We

want Freenet to be useful out-of-the-box, so we plan to provide reference

implementations for some or all of these.

How does it work?

Freenet is a decentralized key-value database. It uses the same small

world routing algorithm as

the original Freenet design, but each key is a cryptographic contract

implemented in Web Assembly, and the value

associated with each contract is called its state. The role of the

cryptographic contract is to specify what state is allowed for this contract,

and how the state is modified.

A very simple contract might require that the state is a list of messages, each

signed with a specific cryptographic keypair. The state can be updated to add

new messages if appropriately signed. Something like this could serve as the

basis for a blog or Twitter feed.

Freenet is implemented in Rust and will be available across all major operating

systems, desktop and mobile.

What is Locutus?

Locutus was the working title used for this successor to the original Freenet,

in March 2023 it was renamed to "Freenet", this repository was

renamed from locutus to freenet-core in September 2023.

What is Hyphanet?

The original Freenet codebase is now called Hyphanet. It is still actively

developed by the same maintainers as before, and is available

here.

Stay up to date

Chat with us

We're in #freenet-locutus on

Matrix. If you have questions you can also ask

here.

Many developers are active in r/freenet,

but remember that Reddit engages in political and ideological censorship so

don't make this your only point of contact with us.

Acknowledgements and Funding

Protocol Labs

In addition to creating the excellent

libp2p which we use for low-level

transport, Protocol Labs has generously supported our work with a grant.

FUTO

FUTO has generously awarded Freenet two Legendary Grants to support Freenet

development.

Supporting Freenet

If you are in a position to fund our continued efforts please contact us on

twitter or by email at ian at freenet dot

org.

License

This project is licensed under either of:

Apache License, Version 2.0, (LICENSE-APACHE or

http://www.apache.org/licenses/LICENSE-2.0)

MIT license (LICENSE-MIT or

http://opensource.org/licenses/MIT)

About

Declare your digital independence

freenet.org/

Topics

rust

cryptography

privacy

decentralized

p2p

distributed-hash-table

freenet

Resources

Readme

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0

LICENSE-APACHE

MIT

LICENSE-MIT

Activity

Custom properties

Stars

2k

stars

Watchers

45

watching

Forks

66

forks

Report repository

Releases

1

v0.0.6

Latest

Sep 29, 2023

Sponsor this project

Contributors

20

+ 6 contributors

Languages

Rust

94.7%

TypeScript

4.2%

Makefile

0.6%

JavaScript

0.2%

Dockerfile

0.1%

Shell

0.1%

Other

0.1%

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.