Giter VIP home page Giter VIP logo

hydranode's Introduction

Hydranode

Modular MultiPlatform P2P Client Framework

====

Historical Notes

I developed this project between 2004 until 2006 as means of learning advanced C++ programming. The original website is still up at http://www.hydranode.com/, where you can also download precompiled binaries.

There are no guarantees at this point that any of the code compiles with modern compilers, nor that the client actually works well (or at all) in the eDonkey2000 and BitTorrent networks.

I'm making this codebase available on GitHub in the hopes that someone might be able to find useful bits in here, may it be for educational or other reasons.

What follows is the original README from 2006.

====

Compilation

Hydranode consists of many components, plugins and libraries, many of which have external dependancies. In order to compile Hydranode, you need the following tools/libraries installed on system:

Once you have all that, run "bjam release" in the Hydranode source tree. Hydranode Engine, it's support libraries and plugins will be compiled. The main executable is "hydranode". "hlink" executable allows sending links to a running Hydranode. Supplemental executables include 'pfwd' (for UPnP port forwarding), 'bget' (allows directly downloading torrents) and 'httpget' (same as bget, for http links).

To compile Hydranode Graphical User Interface, run "bjam release hngui". The executable is created at hngui/release subdir. Note that the interface loads it's skin images from backgrounds/ subdir from the executable, so you need to copy the hngui/backgrounds dir to hngui/release/backgrounds. The interface also requires Qt4 libraries to be copied to it's directory (or added to PATH environment variable); the required DLL's are QtCore4, QtGui4, QtNetwork4 and QtXml4.

The user interface attempts to connect to Hydranode Engine on port 9990 on localhost by default (cgcomm module must be loaded in core for this to work). Failing that, the interface starts core process internally, looking for core executable named 'hydranode-core.exe' in current directory. Note that the core executable name is different from what is created when you compile the core, so renaming is required. This design decision was done to clarify which process is core and which is interface.

Usage

There are two ways you can use Hydranode. One way (easiest, recommended) is to simply start hydranode-gui executable, and let it run core process internally. This is also the default behaviour.

Alternatively, you can run core and gui processes separately. To do that, run the core executable (hydranode or hydranode-core) separately. Make sure you also load the cgcomm module (enabled by default since 0.3 release). For list of command-line options, pass --help parameter to the core executable.

With core running, you can either use the shell interface (available since 0.1 version) or cgcomm / graphical interface (available since 0.3 version). If you are running the core on a different box than the interface, you need to pass the ip/port of the core machine to the interface, e.g. 'hydranode-gui.exe 192.168.0.1 9990'.

Hydranode stores all it's configuration files in config/ subdir (on windows), or $(HOME)/.hydranode directory (on POSIX systems). Changing config.ini or gui.ini while core or interface is running is not supported - use hnshell's 'config' command or user interface Settings page to make changes instead.

Completed downloads are placed to config/incoming directory, but it's possible to set incoming directory for each download separately (from user interface).

Both cgcomm and hnshell accept connections from localhost only by default. If you want to allow remote connections, set the 'ListenIp' setting in the corresponding section of config.ini to the IP to listen on, e.g. if you want to allow connections only from your LAN, set it to your LAN IP (192.168.0.1 for example). If you want to allow connections from anywhere (not recommended), set it to 0.

More help or support

Should you run into trouble using Hydranode, have feature requests or found a bug, feel free to contact us either via the Support Forums at http://forum.hydranode.com, or posting a Support Ticket at http://dev.hydranode.com/newticket.

Should you need to contact the developers directly, send an e-mail to madcat (at) hydranode (dot) com.


Happy downloading,

Alo Sarv - madcat (at) hydranode (dot) com, on behalf of Hydranode Development Team.


hydranode's People

Contributors

alosarv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.