A Java GUI tool for publishing freesites to the Hyphanet (formerly Freenet) network.
jSite is a wizard-style GUI application that lets you insert (upload) websites from a local directory directly into Hyphanet โ the privacy-preserving, censorship-resistant distributed network.
It communicates with a running Hyphanet node via the FCP2 protocol over a local TCP connection. No command-line knowledge required โ jSite walks you through every step from key generation to live insert.
Originally written by David 'Bombe' Roden, version 0.14 brings a full code audit, security fixes, build system modernisation, and new language support.
|
|
|
|
Walk through every step without confusion
|
Connect to your local Hyphanet node
|
|
Manage all your freesites in one place
|
Fine-grained control over what gets inserted
|
|
Efficient, resumable inserts
|
Stay up to date automatically
|
|
Use jSite in your own language
|
jSite works the way you want it to
|
Requirements: Java 11+, Git
# Clone
git clone https://github.com/blubskye/jSite.git
cd jSite
# Build (downloads Gradle automatically)
./gradlew clean build fatJarThis resolves dependencies, compiles, runs tests, and produces:
build/libs/jSite-0.14-jar-with-dependencies.jar
# Double-click the JAR, or from the command line:
java -jar build/libs/jSite-0.14-jar-with-dependencies.jar
# Use a custom config file location:
java -jar jSite-0.14-jar-with-dependencies.jar --config-file=/path/to/jsite.conf๐ก Make sure your Hyphanet node is running before launching jSite โ it connects to
localhost:9481by default.
Configure the connection to your Hyphanet node. The default settings (localhost:9481) match a standard Hyphanet install. This dialog is available from the menu but jSite starts at the Project dialog.
Create and manage your freesites. Clicking Add Project generates a new USK keypair (requires a live node connection). Use Manage Keys to import an existing keypair or copy keys from a Web of Trust identity.
Adjust per-file settings โ choose the index (default) file, rename files, override MIME types, or set up redirects. Files whose content hasn't changed since the last insert are automatically inserted as cheap redirects.
Watch the insert progress in real time. Once the node generates the final URI the Copy URI button activates. For security, avoid publishing the URI until the insert completes fully (mobile-attacker source-tracing attack).
Set a custom temp directory (useful for encrypted volumes), choose where jSite stores its config, and tune insert behaviour.
| Contributor | Role |
|---|---|
| David 'Bombe' Roden | Original author โ jSite versions 0.1โ0.13 |
| Florent 'nextgens' Daignรจre | Original contributor |
| hernic | Original contributor |
| JlXip | Original contributor |
| Presender | Original contributor |
| Stefano Calabrese | Original contributor |
| blubskye | Maintainer โ v0.14 audit, fixes & modernisation ๐ง |
| Cynthia (Hyphanet alias) | Inspired the v0.14 revival; beloved & well-known Hyphanet community member ๐ |
| Claude (Anthropic) | AI-assisted code audit, bug fixes & patches ๐ค |
| xAI / Grok | Translation assistance (ru, jp, kr, zh) ๐ |
| OpenMoji | Flag icons โ openmoji.org (CC BY-SA 4.0) ๐ |
jSite is licensed under the GNU General Public License v2.0 or later.
Copyright ยฉ 2006โ2026 David Roden and contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
See the LICENSE file for the full text.
Flag icons for Japanese, Korean, Russian, and Chinese are sourced from OpenMoji and are licensed under CC BY-SA 4.0. See NOTICE for details.
Built for the free and uncensorable web ๐๏ธ
Hyphanet โข Source โข Original Project
โญ Star this repo if jSite helped you publish on Hyphanet~ โญ