Diff: [root] @ 7be8a6cad28 | faq | css

Merge branch 'hellage'

Merged: <a href="/diff/cec78e2ef23fadf99695878594c5ca5723bbe6a2">cec78e2ef23fadf99695878594c5ca5723bbe6a2</a> <a href="/diff/4e15a6cfb3b9e169288e53dab852233a9f89c131">4e15a6cfb3b9e169288e53dab852233a9f89c131</a>

File created: 33188 hellnet/feedback [Diff]

diff --git a/hellnet/feedback b/hellnet/feedback
new file mode 100644
index 0000000..ff663ee
-- /dev/null
++ b/hellnet/feedback
@@ -0,0 +1,3 @@
h1. Hellnet feedback

Hellnet "mailing list":mailto:hellnet@googlegroups.com ("web":http://groups.google.com/group/hellnet)
\ No newline at end of file

File created: 33188 hellnet/hellage/admin [Diff]

diff --git a/hellnet/hellage/admin b/hellnet/hellage/admin
new file mode 100644
index 0000000..e11a3b0
-- /dev/null
++ b/hellnet/hellage/admin
@@ -0,0 +1,13 @@
h1. How to run your own Hellage index

First, see [[use]] for installing Hellage.

Then, see [[/hellnet/hspawn/use#metatrees]] for information how to create your own meta key.

Last, run

bc. $ hellage-genmeta mykey hackage

Where @mykey@ is your key alias and @hackage@ is your meta name.

This will download index and packages from [http://hackage.haskell.org] and store links in your meta. If download of certain package is stalled for too long, feel free to interrupt the program; next time it will start where it ended, only need to re-download index.
\ No newline at end of file

File created: 33188 hellnet/hellage/index [Diff]

diff --git a/hellnet/hellage/index b/hellnet/hellage/index
new file mode 100644
index 0000000..b9d81bc
-- /dev/null
++ b/hellnet/hellage/index
@@ -0,0 +1,4 @@
use - How to use it
admin - How to run your own mirror

Hellage is a distributed "Hackage":http://hackage.haskell.org/ haskell packages' repository mirror.
\ No newline at end of file

File created: 33188 hellnet/hellage/use [Diff]

diff --git a/hellnet/hellage/use b/hellnet/hellage/use
new file mode 100644
index 0000000..4367b7d
-- /dev/null
++ b/hellnet/hellage/use
@@ -0,0 +1,68 @@
h1. How to use Hellage

h2. Install

This may be insanely difficult. Or not.

First, "install Hellnet":/hellnet/hspawn/build. If you manage it, the rest is simple:

bc. $ cabal install hellage

or, @git clone git://git.bitcheese.net/hellage && cd hellage && runghc Setup.hs install@ and have fun.

h2. Actually use it

First, you need to add at least one Hellnet node to your nodelist. You can use bitcheese.net:6666 for now.

bc. $ hell-nodes handshake bitcheese.net 6666

Then you need to run hellage daemon on your machine:

bc. $ hellage 8da7ec91e46c4b1444bd1b1a151a038a0544fad23266111a8a84178efb9499cb756a265bbe456bd9ec9ba309bf146f8453ba17201ff968e181e36b5efe54fc1f hackage

Here, *8da7ec...* is my encryption key ID and *hackage* is meta name of hellage. If you plan to use this (or any other) key often, you can create an alias:

bc. $ hell-meta alias add voker57_key 8da7ec91e46c4b1444bd1b1a151a038a0544fad23266111a8a84178efb9499cb756a265bbe456bd9ec9ba309bf146f8453ba17201ff968e181e36b5efe54fc1f

and then refer to this key as "voker57" everywhere:

bc. $ hellage voker57_key hackage

This command will run hellage on its default port, which is 6609. If you want to change it, run hellage with -p 64657.

*WARNING WARNING*: Currently hellage does not bind to localhost, thus anybody with access to port can use it. Use firewalls or whatever to protect.

Now, let's add hellage to cabal's sources:

bc. $ editor ~/.cabal/config

Search out the @remote-repo:@, comment it out and add hellage:

bc. -- remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo: hellage:http://localhost:6609

Update the hellage index:

bc. $ wget http://localhost:6609/update -O- 2>/dev/null

If result is "Failed" then something went wrong and hellage won't work. Check node connectivity.

Then, run @cabal update@ to get package index:

bc. $ cabal update

If everything was OK, then you can download packages now:

bc. $ cabal install empty

Congratulations! You got hellage up and running.

h2. Tricks

* If you don't like to keep a terminal emulator constantly running, i suggest using "daemontools":http://packages.debian.org/sid/daemontools or "dtach":http://dtach.sourceforge.net/ or "screen":http://www.gnu.org/software/screen/ for daemonizing hellage.
* You can update hellage via hellage!

h2. Troubleshooting / Feedback

If you succeeded, or failed, in installing hellage by this manual, share your experience in "hellnet mailing list":http://groups.google.com/group/hellnet.
\ No newline at end of file

File: hellnet/hspawn/build [Diff]

diff --git a/hellnet/hspawn/build b/hellnet/hspawn/build
index e510dd9..dc23e18 100644
-- a/hellnet/hspawn/build
++ b/hellnet/hspawn/build
@@ -2,11 +2,11 @@ h1. Building hspawn from source

Warning: this requires lot of magic

h2. Downloading Manually

Get the latest source from git: @git clone git://git.bitcheese.net/Hellnet@

Requirements are: "GHC":http://haskell.org/ghc 6.10 6.12 (didn't check with other compilers), "Cabal":http://haskell.org/cabal (you will have to install them manually, as described "here":http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html) HTTP, Lucu, Crypto (these are Cabal packages, you can install them with @cabal install name@)

Once you have all those installed, Hellnet can be built with

@@ -18,4 +18,12 @@ On first stage, Cabal may complain about missing dependencies, you'll have to in

Alternatively, if you don't want to mess with Cabal, you can just run 'make', it will compile all the executables in current folder. They are static and can be safely moved.

h2. Via cabal

Hellnet is available on Hackage. To install it, you'll need working Cabal setup (see above). Then

bc. $ cabal install hellnet

And pray, since not all packages on hackage are ready for GHC 6.12 and you may have to patch them.

Now, to the next step, [[use]].
\ No newline at end of file

File created: 33188 hellnet/hspawn/serve [Diff]

diff --git a/hellnet/hspawn/serve b/hellnet/hspawn/serve
new file mode 100644
index 0000000..a051d04
-- /dev/null
++ b/hellnet/hspawn/serve
@@ -0,0 +1,24 @@
h1. Running your own Hellnet node

First: You will not be serving unrelated content, only stuff you downloaded.

h2. Why?

* That is the only way to publish your own metatrees for now
* You help the network

h2. How?

[[build|Install hellnet]].

bc. $ hell-serve 6666

6666 is server port, which should be open to Internet. This will launch Hellnet server.


bc. $ hell-nodes handshake bitcheese.net 6666

If response is "Handshake successful", all is good. Server have added you to its nodelist and will announce your address to everybody, who in turn will be able to download your chunks and metatrees.

Otherwise, read the message and fix the error.
\ No newline at end of file

File: hellnet/hspawn/use [Diff]

diff --git a/hellnet/hspawn/use b/hellnet/hspawn/use
index e4d52a1..e51a38b 100644
-- a/hellnet/hspawn/use
++ b/hellnet/hspawn/use
@@ -51,7 +51,7 @@ bc. % hell-get "hell://file/04e69a4c0cf881dfe487cb76551e0cbfabde629453765dd647f2

And after short wait read the text of GPL.


h2(#metatrees). Meta trees

[[/hellnet/tech/metatrees|Meta trees]] are tool to publish named information to Hellnet and keep it updated. Authenticity of information is guaranteed via digital signatures.

File: hellnet/index [Diff]

diff --git a/hellnet/index b/hellnet/index
index 950ba43..9b067e3 100644
-- a/hellnet/index
++ b/hellnet/index
@@ -1,3 +1,13 @@
tech - descriptions of technologies used in Hellnet
hspawn - documentation related to Haskell implementation
protocols - protocols' documentation
crypto - cryptographic stuff used in Hellnet
hellage - distributed hackage mirror using Hellnet
philosophy - about the project, its goals and idea
feedback - how to provide feedback & get help on Hellnet

Hellnet is a project to create simple, distributed, anonymous data sharing network.

You can see current state of matters on [[status]] page.

Current use cases: [[hellage]], [[general file sharing & setup|hspawn/use]]

File created: 33188 hellnet/philosophy [Diff]

diff --git a/hellnet/philosophy b/hellnet/philosophy
new file mode 100644
index 0000000..63bace5
-- /dev/null
++ b/hellnet/philosophy
@@ -0,0 +1,9 @@
h1. Hellnet philosophy

Hellnet is simple. It tries to rely on already existing things.

Hellnet is not for playing hide-and-seek with law enforcement. It's for simple, reliable distribution of legal content. No esprit de corps: you store only what you like to store, no other people's CP on your hard drive.

_...or is it me too lazy to write code for sophisticated routing and shared storage?_

Hellnet is named so because I like this name.
\ No newline at end of file

By Voker57 on 2010-03-02 22:53:02 +0300 Powered by bitcheese wiki engine