Syndie

From The Hidden Wiki
Jump to navigationJump to search

Template:Infobox software

Syndie is an open source cross-platform computer application to syndicate (re-publish) data (mainly forums) over a variety of anonymous and non-anonymous computer networks.

Syndie is capable of reaching archives situated in those anonymous networks : I2P, Tor, Freenet.

History

Syndie has been in development since 2003 and ties in closely with the I2P network project, which is considered a parent project.
Following the departure of lead developer Jrandom in 2007, work on syndie was paused, however as of 2013 active development has once again resumed.

Concept

Syndie operates in a manner similar to blogs, newsgroups, forums, and other content tools; it allows one or more authors to privately or publicly post messages. Messages are pushed and pulled to and from archives servers (other peers that choosed to be), which are in hosted a variety of anonymous and non-anonymous locations.

Most archives servers are HTTP archives hosted inside the I2P network, but there are syndie archives in Freenet and the normal internet too. Each archive does not control the content stored on it; by default all messages are pushed and pulled by all participants. In this way, every message is backed up by every user, so should one archive go down, the content can be pushed to a different archive then pulled by other users of that archive. This means that even if all of the users and archives delete a message, as long as one person has it and there is one pushable archive, the message will be redistributed to every user.

Users have the option to delete locally stored messages after a set time, after the local storage consumes a certain amount of disk space, or by blacklists of users.

Each user can create multiple identities. Each identity is known as a forum, and users can post into their own or different forums. Each user can control their forum; for example, they may wish to run a blog by not permitting other people to start threads, but allowing them to post comments.

Technical requirements

Syndie is a Java application and as such can run on any platform on which Java is supported; although a standard widget toolkit is required for the graphical user interface versions.

Syndie is primarily a graphical application, based on the Standard Widget Toolkit for Java, but it can be run in a CLI (headless) mode.

See also

References

1 }}
     | references-column-width 
     | references-column-count references-column-count-{{#if:1|2}} }}
   | {{#if: 
     | references-column-width }} }}" style="{{#if: 2
   | {{#iferror: {{#ifexpr: 2 > 1 }}
     | Template:Column-width
     | Template:Column-count }}
   | {{#if: 
     | Template:Column-width }} }} list-style-type: {{#switch: 
   | upper-alpha
   | upper-roman
   | lower-alpha
   | lower-greek
   | lower-roman = {{{group}}}
   | #default = decimal}};">
<references group=""></references>

External links

Template:Portal bar

Template:Network-software-stub










The following is copy/paste from the page https://i2Pwiki.i2p/index.php?title=Syndie (2016-01)


Introduction

About

The software Syndie (for "Syndication") is tool like a news reader/distributor. It distribute messages of various sizes between the syndies instances of different users. All messages are encrypted and bound to a special forum/board, which are created by the users.

On syndicating (synching), the messages between two Syndie instances are exchanged, and this way all messages hop through the net from one user to another. Syndie can use different transport networks:

  • currently working (2015): I2P, Tor, clearnet
  • need to be repaired: Freenet
  • need to be developped: transport via USB stick, email, FTP, NNTP.

How to get it

Setup

Getting the default archives

Syndie comes preconfigured with several default archives addresses. Those archives that can be (un)selected during the first start.

If you start Syndie but have no archives configured (maybe you clicked cancel or ran it a long time ago), you can either:

  • Manually add some archives (see a list in the section below)

or (the destructive way), quit Syndie then:

  • Under Linux/OSX: erase '~/.syndie' (Linux/OSX) then start Syndie
  • Under Windows XP: erase C:\documents and settings\username\.syndie then start Syndie
  • Under Windows Vista/7: erase 'C:\Users\USERNAME\.syndie' then start Syndie

A list of archives

Note: a more "official" list of archives is available on https://www.syndie.i2p/wiki/

Note: you can view last uptime date of the archives with the help of https://inr.i2p

A list of archives

Note: a more

Syndicating

When synching (syndicating), your Syndie client will retrieve several forums and posts, many of which you will be able to reply to. Every user has his/her own forum and its posting rights can be as strict as desired.

To get older messages from a archive than the default setting ("2 weeks" as of 2014-03), you may change the setting "Age to treat as 'recent'" into a archive's settings (mouse: right button).

User guide

A full user guide is available, read the links in "#See also" section, where you will find a link to the eepsite "Syndie Documentation Project", then follow the link "User guide".

Setup to run a headless Syndie server

When running in CLI mode (Command Line Interface, called "headless"), Syndie use less RAM memory.

Manually

User Eche|on (2013) do start Syndie with "java -jar syndie-cli.jar /path/to/syndiearchive". Within syndie, type "prefs --paginate false" to not need press enter every x lines, then start the httpd server with this line: "httpserv --port 8080 --listeners 10 --writeable true". Should explain itself. To logout and exit, type: "exit".

Automatically (script)

If you want to run a headless Syndie server (to which other instances can sync only with), you can use the following script. Script wrote by KillYourTV, jan 2013 (ref). Confirmed working with v1.105b-0:

   
#!/bin/sh

# Syndie background archive controller
# kytv, Jan 2013

##########################################
#      Set these per your needs          #
##########################################
ARCHIVEDIR=
SYNDIECMD="java -Djava.net.preferIPv4Stack=true -jar $HOME/syndie/bin/syndie-cli.jar"
SYNDIEPORT=8080
SYNDIELISTENERS=10


##########################################
# Nothing below here should need editing #
##########################################
if [ "x$ARCHIVEDIR" = "x" ]; then
    echo "ERROR: ARCHIVEDIR not configured!" >&2
    exit 1
fi
PIDFILE="$ARCHIVEDIR/httpserv.pid"
if [ -e "$PIDFILE" ]; then
    PID=$(cat "$PIDFILE")
fi


create_config(){
    cat << EOF > "$ARCHIVEDIR/runhttpserv.syndie"
httpserv --port $SYNDIEPORT --listeners $SYNDIELISTENERS --writable true
ctrlserv
EOF
}

do_start() {
    if [ -e "$PIDFILE" ]; then
        PID=$(cat "$PIDFILE") 2>/dev/null
    else
        unset PID
    fi
    if [ "x$PID" != "x" ]; then
        if ! kill -0 "$PID" > /dev/null 2>&1; then
            rm "$PIDFILE"
        else
            echo "An instance of Syndie is already running at $PID!" >&2
            exit 0
        fi
    fi
    create_config
    echo -n "Starting Syndie..."
    cd "$ARCHIVEDIR"
    TZ=UTC nohup $SYNDIECMD --nostdin @runhttpserv.syndie . >> $ARCHIVEDIR/syndie.log 2>&1 &
    echo $! >  "$PIDFILE"
    echo "done."
}

do_stop(){
    if [ -e "$PIDFILE" ]; then
        echo -n "Stopping (this could take a while)."
        kill "$PID" 2> /dev/null
        while kill -0 "$PID" 2> /dev/null; do
            echo -n .
            sleep 1.5
        done
        rm "$PIDFILE"

        echo done.
    else
        echo "Syndie is not running." >&2
    fi
}


case "$1" in
    start)
        do_start
        ;;
status)
    if [ ! -r $PIDFILE ]; then
        echo "Cannot find $PIDFILE. Syndie is probably not running." >&2
        exit 4
    fi

    if [ ! -f $PIDFILE -o -z $PID ]; then
        echo "Syndie is not running" >&2
        exit 3
    fi

    if kill -0 $PID > /dev/null 2>&1 ; then
        echo "Syndie is running [$PID]" >&2
        exit 0
    else
        echo "Syndie is not running." >&2
        rm "$PIDFILE"
        exit 1
    fi
    ;;
    restart)
    do_stop
    sleep 2
    do_start
    ;;
    stop)
        do_stop
        ;;
    *)
        echo "Usage: $0 {stop, start, status, restart}"
        ;;
esac

Customization:

  • Suggested filename for the script: syndiectrl.sh
  • Example: ARCHIVEDIR=/home/yourusername/syndie

Using Syndie as a portable software

This is possible (ref: forum.i2p thread (2014)), just start Syndie and specify where you want the profile directory to be saved, e.g.:

Command line example for Windows:

X:\PortableApps\Syndie\bin\Syndie.exe X:\PortableApps\Syndie\Data

Command line example for Linux:

$HOME/syndie/bin/syndie.sh /your/profile/location

(this line use the default Syndie software location in order to create the default profile data, such as the new folders)

java -jar $HOME/syndie/bin/syndie.jar /your/profile/location/usr/bin/syndie /your/archive/location

(this line launches Syndie while specifying your customized profile)

For supported systems (Windows, Linux, OSX) you only need to supply Java, everything else is included within the Syndie installer. Another option is to run Syndie as a plugin to I2P.

See also

External links