Subscribe to RSS Feed

Archive for April, 2008

You may have read in a previous post how i installed Ubuntu on my sisters laptop with PXE, well this worked great, but i couldnt for the life of me get WPA to work on the wireless card, so after about a week of trying i decided to try and PXE boot windows as the laptop had no floppy drive, no CD drive and couldnt boot from USB, what follows is the result of the trials and tribulations of that experience…. enjoy. If you want a quicker, simpler installation with a vanilla XP check this Easy way to PXE Boot Windows guide.

Downloads

Step 1: Getting started.
What you’ll need:

  • The Server – Any PC running 2000/XP
  • The Source – Windows 2000/XP CD (we need to get the i386 directory)
  • The Client – Laptop capable of booting over PXE (such as the L400).
  • Tftpd32
  • SysAngel DVD Generator here or if you already have .NET framework 1.1.4322 or higher you can get the self extractible here
  • A Share. The Server must be able to share files (any Microsoft Windows computer can).
  • Working router or plain crossover cable.
  • Once you’ve collected all of the above, do the below:

  • Download and install latest DVD Generator. It’s a single EXE, double-clicking it will install / upgrade it.
  • Create a C:\OUTPUT directory to store the necessary files for your RIS Service. (There should be at least 600 Mo of free space on the selected drive, but it could be as big as 5 or 6 Go if you choose to download every available software.)
  • Share the C:\OUTPUT directory, according Read rights to everyone. Let’s keep the default share name (OUTPUT).
  • Downloading necessary sources using the DVD Generator.

  • Launch the SysAngel DVD Generator.
  • In the “1. Select your output folder” textbox, enter C:\OUTPUT.
  • In the “2. Indicate your Windows XP source”, browse to the i386 directory of the Windows XP you want to deploy.
  • In the “4. Enter Windows Serial number” textbox, you may provide a serial but this is optional.
  • Now, click the “5. Generate the SYSANGEL DVD ISO” button. Of course, we don’t really need the ISO image that will be generated, but we do need the software to download or update files used to generate the ISO. We also need the DVD Generator to prepare the Windows release.
  • When everything is done, click the “Finished the custom. Generate the ISO!” button and wait… until you get to the final screen :
  • The C:\OUTPUT folder should be all right. If you want to install Windows with a bootable DVD at a later date, burn the ISO (C:\OUTPUT\DVD.iso). Else, you can simply delete this file.
  • If DVD Generator fails to burn the DVD.iso try using your favourite burning software, you can now close the DVD Generator.
  • Continue Reading »
    35 Comments

    Apache Cheatsheet

    April 11, 2008 by Kode

    Setup a Virtual Domain
    NameVirtualHost *
    <VirtualHost *>
    DocumentRoot /web/example.com/www
    ServerName www.example.com
    ServerAlias example.com
    CustomLog /web/example.com/logs/access.log combined
    ErrorLog /web/example.com/logs/error.log

    </VirtualHost>
    Include another conf file
    Include /etc/apache/virtual-hosts/*.conf
    Hide apache version info
    ServerSignature Off
    ServerTokens Prod
    Custom 404 Error message
    ErrorDocument 404 /404.html
    Create a virtual directory (mod_alias)
    Alias /common /web/common
    Perminant redirect (mod_alias)
    Redirect permanent /old http://example.com/new
    Create a cgi-bin
    ScriptAlias /cgi-bin/ /web/cgi-bin/
    Process .cgi scripts
    AddHandler cgi-script .cgi
    Add a directory index
    DirectoryIndex index.cfm index.cfm
    Turn off directory browsing
    Options -Indexes
    Turn on directory browsing
    <Location /images>
    Options +Indexes
    </Location>
    Create a new user for basic auth (command line)
    htpasswd -c /etc/apacheusers
    Apache basic authentication
    AuthName “Authentication Required”
    AuthType Basic
    AuthUserFile /etc/apacheusers
    Require valid-user
    Only allow access from a specific IP
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Only allow access from your subnet
    Order Deny,Allow
    Deny from all
    Allow from 176.16.0.0/16
    From http://www.petefreitag.com/cheatsheets/apache/

    Continue Reading »
    No Comments

    htaccess Cheat Sheet

    April 11, 2008 by Kode

    Here is a simple cheatsheet for the .htaccess file:

    Enable Directory Browsing
    Options +Indexes
    ## block a few types of files from showing
    IndexIgnore *.wmv *.mp4 *.avi

    Disable Directory Browsing
    Options All -Indexes

    ErrorDocument 403 http://www.htaccesselite.com
    Order deny,allow
    Deny from all
    Allow from 1.1.1.1
    Redirect all but 1 IP to different site, using mod_rewrite
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
    RewriteRule .* http://www.htaccesselite.com
    Redirect Everyone but you to alternate page on your server.
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
    RewriteCond %{REQUEST_URI} !/temporary-offline\.html$
    RewriteRule .* /temporary-offline.html
    Customize Error Messages
    ErrorDocument 403 /forbidden.html
    ErrorDocument 404 /notfound.html
    ErrorDocument 500 /servererror.html

    Get SSI working with HTML/SHTML
    AddType text/html .html
    AddType text/html .shtml
    AddHandler server-parsed .html
    AddHandler server-parsed .shtml
    # AddHandler server-parsed .htm

    Change Default Page (order is followed!)
    DirectoryIndex myhome.htm index.htm index.php

    Block Users from accessing the site
    <limit GET POST PUT>
    order deny,allow
    deny from 202.54.122.33
    deny from 8.70.44.53
    deny from .spammers.com
    allow from all
    </limit>

    Allow only LAN users
    order deny,allow
    deny from all
    allow from 192.168.0.0/24

    Redirect Visitors to New Page/Directory
    Redirect oldpage.html http://www.domainname.com/newpage.html
    Redirect /olddir http://www.domainname.com/newdir/

    Block site from specific referrers
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} site-to-block\.com
    RewriteCond %{HTTP_REFERER} site-to-block-2\.com
    RewriteRule .* –

    Block Hot Linking/Bandwidth hogging
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$
    RewriteRule \.(gif|jpg)$ –

    Want to show a “Stealing is Bad” message too?

    Add this below the Hot Link Blocking code:
    RewriteRule \.(gif|jpg)$ http://www.mydomain.com/dontsteal.gif

    Stop .htaccess (or any other file) from being viewed
    <files file-name>
    order allow,deny
    deny from all
    </files>

    Avoid the 500 Error
    # Avoid 500 error by passing charset
    AddDefaultCharset utf-8

    Grant CGI Access in a directory
    Options +ExecCGI
    AddHandler cgi-script cgi pl
    # To enable all scripts in a directory use the following
    # SetHandler cgi-script

    Password Protecting Directories

    Use the .htaccess Password Generator and follow the brief instructions!

    Change Script Extensions
    AddType application/x-httpd-php .gne

    gne will now be treated as PHP files! Similarly, x-httpd-cgi for CGI files, etc.

    Use MD5 Digests

    Performance may take a hit but if thats not a problem, this is a nice option to turn on.
    ContentDigest On

    The CheckSpelling Directive

    From Jens Meiert: CheckSpelling corrects simple spelling errors (for example, if someone forgets a letter or if any character is just wrong). Just add CheckSpelling On to your htaccess file.

    The ContentDigest Directive

    As the Apache core features documentation says: “This directive enables the generation of Content-MD5 headers as defined in RFC1864 respectively RFC2068. The Content-MD5 header provides an end-to-end message integrity check (MIC) of the entity-body. A proxy or client may check this header for detecting accidental modification of the entity-body in transit.

    Note that this can cause performance problems on your server since the message digest is computed on every request (the values are not cached). Content-MD5 is only sent for documents served by the core, and not by any module. For example, SSI documents, output from CGI scripts, and byte range responses do not have this header.”

    To turn this on, just add ContentDigest On.

    Save Bandwidth
    # Only if you use PHP
    <ifmodule mod_php4.c>
    php_value zlib.output_compression 16386
    </ifmodule>

    Turn off magic_quotes_gpc
    # Only if you use PHP
    <ifmodule mod_php4.c>
    php_flag magic_quotes_gpc off
    </ifmodule>
    Taken from http://www.thejackol.com/htaccess-cheatsheet/

    Regex Character Definitions for htaccess

    #the # instructs the server to ignore the line. used for including comments. each line of comments requires it’s own #. when including comments, it is good practice to use only letters, numbers, dashes, and underscores. this practice will help eliminate/avoid potential server parsing errors.+defines any number of characters which contains neither slash nor dot.http://this is a literal statement — in this case, the literal character string, “http://”.^domain.*defines a string that begins with the term “domain”, which then may be proceeded by any number of any characters.^domain\.com$defines the exact string “domain.com”.-dtests if string is an existing directory-ftests if string is an existing file-stests if file in test string has a non-zero valueThe Options directive controls which server features are available in a particular directory.

    option can be set to None, in which case none of the extra features are enabled, or one or more of the following:

    All
    All options except for MultiViews. This is the default setting.
    ExecCGI
    Execution of CGI scripts is permitted.
    FollowSymLinks
    The server will follow symbolic links in this directory.
    Note: even though the server follows the symlink it does not change the pathname used to match against <Directory> sections.
    Note: this option gets ignored if set inside a <Location> section.
    Includes
    Server-side includes are permitted.
    IncludesNOEXEC
    Server-side includes are permitted, but the #exec command and #exec CGI are disabled. It is still possible to #include virtual CGI scripts from ScriptAliase’d directories.
    Indexes
    If a URL which maps to a directory is requested, and the there is no DirectoryIndex (e.g., index.html) in that directory, then the server will return a formatted listing of the directory.
    MultiViews
    Content negotiated MultiViews are allowed.
    SymLinksIfOwnerMatch
    The server will only follow symbolic links for which the target file or directory is owned by the same user id as the link.
    Note: this option gets ignored if set inside a <Location> section.

    Continue Reading »
    No Comments

    Usenet and Binary downloads

    April 11, 2008 by Kode
    Usenet and Binary downloads


    Purpose
    This tutorial will attempt to help you get to grips with using Usenet, including signing up to a usenet provider, searching usenet, and downloading binary files with step by step instructions.
    Introduction
    The biggest problem with the music and movie industry is that they produce crap, nobody wants to spend their hard earned money buying crap, so they will download it first, if they like it they buy it, if they dont they wont, of course, not all users will buy what they like, but if they couldnt download it chances are they still wouldnt buy it.

    Its up to industry to change their business model, in order to keep up with the modern age, but instead they blame the pirates, they spread their lies “Downloading music and films is STEALING” … uhm.. no it isnt, its copyright infringement, if i steal your car, you havent got a car, if i make a copy of your film, you still have the film.

    The more people hear the propaganda, the more they believe it, and EVEN start agreeing with it, its ludicrous. Then you have Government officials that make stupid decisions, to panda to industry, like telling ISP’s they have to monitor all their users, not only unworkable, but potentially very dangerous.

    None of this takes into account Fair Use, if i buy a film i want to be able to watch it how i like, my DVDs get scratched, so i download a copy thats not going to get damaged, because it takes several hours to rip the DVD, but only 20 minutes to download it.

    So in these increasingly hostile times Usenet seems the only way to go, it offers speed, reliability, and the option of SSL, sure, it costs money, but its not that expensive, and in my mind its worth every penny, i would personally recommend Giganews they have the worlds longest usenet binary retention, multiple gigabit-plus backbones running at a fraction of capacity, and the option of 256-bit SSL encryption among other things.
    Getting started
    Usenet is a little more difficult to use than torrents, so here is some information to help you.

    First thing you need to do is register with a usenet provider, i personally use Giganews but there are plenty to choose from.

    Second you will need a way to search usenet for this you can use, newzbin is probably the easiest and arguably the best, but its got closed registration at the moment, and you have to pay for it.

    • http://v3.newzbin.com/
    • http://nzbmatrix.com/
    • http://www.newzleech.com/
    • http://www.binsearch.info/

    Thirdly you will need a binary client, i use http://www.newsleecher.com/ there are plenty out there, but i havent found another one as fully featured and useable as this, however, you need to pay for this one as well.

    Set up the server settings with the details you get from your provider

    Continue Reading »
    No Comments
    PXE install Ubuntu via Windows

    The purpose of this article is to explain, step by step, how to install Ubuntu (Ubuntu is my distro of choice, but the steps should work equally well for other distros) using a Windows 2000/XP client.
    Introduction
    PXE (Preboot Execution Environment) is not something new, but not often used by home users, as installing an operating system by CD/DVD or USB storage is generally easier, if however you have none of those, your only real option is to network boot (Assuming you have a network port and access to the internet).
    The Problem
    I bought my sister a cheap laptop from ebay for her birthday, shes not a power user so i picked up a Dell L400 for £100, its only got a 700MHz processor in it and 256MB of RAM, but for general web browsing it will suit her, however, its a sub notebook, and so doesnt come with a cd drive, nor can it boot from a usb cd drive (took me about half an hour to find that out), so in the end my only real option was to netboot it.
    Step 1: Prerequisites

  • Get a copy of the free TFTP server by Philippe Jounin.
  • Get the ubuntu installer files. Download the folder netboot (ignore any symlinks, they may give you errors during the download).
  • That’s all we need to boot our Ubuntu installer over the network. Let’s setup the TFTP server.
    Step 2: Setting up a TFTP Server.

  • Create a directory, preferably on your C Drive. We’ll name it tftp for now.
  • copy the tftpd32.exe to c:tftp
  • Start the server by clicking on the exe
  • switch to the tab “DHCP Server” and fill in your network setup. Note that the PC you want to boot must be in the same Subnet. Enter pxelinux.0 as the boot file. The Screenshot below shows my setup.
  • Now we need to copy the Ubuntu netboot installer over to our tftp root directory:

  • copy the folder ubuntu-installer to c:tftp
  • copy the folder pxelinux.cfg from ubuntu-installer/i386/ to c:tftp
  • copy the file pxelinux.0 from ubuntu-installer/i386/ to c:tftp
  • Step 3: Booting Ubuntu
    To boot from tftp you may need to activate booting from the network interface in the BIOS. This may be done in the boot sequence settings or directly in the onboard ethernet device settings. After that, restart, lean back and watch the activities in the log viewer tab of the tftpd.
    Note: Ubuntu will let you choose a mirror and download all the files you need. The whole procedure will work with any other debian flavour almost identically. There is a nice how to on doing a PXE install via Linux instead of windows at the CCC Wiki.

    Note: this is a slightly modified version of the post from Retro at http://hugi.to/blog/archive/2006/12/23/ubuntu-pxe-install-via-windows

    Continue Reading »
    No Comments

    DS101G – MLDonkey Howto

    April 6, 2008 by Kode

    Please note, i am not the author of the following howto, i only include it in order to hopefully help you guys out, if the author wants to get in touch to give support for this article he is more than welcome to :)

    Install MLDonkey on DS101G+ – HOWTO
    (and Power PC ulterior versions with luck)
    Version française
    Tar archives

    —————————————————————

    First, I remind you that download content protected by intellectual
    property is baaaaaaaad. Now, let’s start.

    DS101G+ is a NAS (network attached storage) using a powerpc processor
    on which work a unix (linux busybox).
    So, it’s possible to copy mldonkey working for PowerPC architecture
    and its dependances to be able to use MLDonkey.

    This tutorial has been written using a DS101G+ but its in theory possible
    to do the same thing on a DS106e. You need to be someone that is not afraid
    of Unix shell and can think a minimum. (a part of the tutorial have to be
    adapted
    if the situation needed)
    Moreover, I don’t guarantee that your NAS function after these modifications
    (in fact especially if you silly copy-paste the part where you have to install
    the dependances)

    1. Prerequired
    2. Downloading
    3. Dependances copy
    4. Create a dedicated user (almost optionnal)
    5. Configuration
    6. Building MLdonkey
    7. Complementary Information
    8. License

    ###############
    1. Prerequired
    ###############

    First, access to the NAS by a shell access (SSH, telnet, etc.)
    For that, there are some good tutorials on the web.

    -> Google, http://nslu2-linux.org

    ########################
    2. Downloading
    ########################

    The full complete package (MLnet + dépendances)

    wget http://nastools/mldonkey/mldonkey-2.8.2.tar.gz
    tar -xzf mldonkey-2.8.2.tar.gz

    Others (and most recent) files are available in :
    http://nastools.free.fr/mldonkey

    #############################
    3. Dependances copy
    #############################

    Roughly, we are going to copy binary library to the linux default directories
    then
    to create symbolic links that allow MLDonkey to use these files.

    All that things happen exclusively in /usr/lib

    !! WARNING READ THIS BEFORE STARTING !!

    It may be that library copying, overwrites some existing files (because
    of updates or different versions of NAS)
    You have especially to take care to not overwriting new versions of a
    library. To know a library version, you have to see the version number in
    the real file name (the one that is not a symbolic link)

    To differ a symbolic link of a real file :

    ls -l

    lrwxrwx(…)9 00:32 libcrypto.so -> libcrypto.so.0.9.7
    lrwxrwx(…)9 00:32 libcrypto.so.0 -> libcrypto.so.0.9.7
    -rw-r–(…)6 05:16 libcrypto.so.0.9.7

    The first 2 lignes are symbolic links and the last line is a real file.

    !! WARNING READ THIS BEFORE STARTING !!

    cd mldonkey-2.8.2

    cp libz.so.1.2.2 /usr/lib/
    ln /usr/lib/libz.so.1.2.2 /usr/lib/libz.so.1
    ln /usr/lib/libz.so.1 /usr/lib/libz.so

    cp libbz2.so.1.0.2 /usr/lib/
    ln -s /usr/lib/libbz2.so.1.0.2 /usr/lib/libbz2.so.1.0
    ln -s /usr/lib/libbz2.so.1.0 /usr/lib/libbz2.so

    cp libgd.so.2.0.33 /usr/lib/
    ln -s /usr/lib/libgd.so.2.0.33 /usr/lib/libgd.so.2
    ln -s /usr/lib/libgd.so.2 /usr/lib/libgd.so

    !! WARNING READ THIS BEFORE STARTING !!

    cp libjpeg.so.62.0.0 /usr/lib/
    ln -s /usr/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so.62
    ln -s /usr/lib/libjpeg.so.62 /usr/lib/libjpeg.so

    cp libfreetype.so.6.3.5 /usr/lib/
    ln -s /usr/lib/libfreetype.so.6.3.5 /usr/lib/libfreetype.so.6
    ln -s /usr/lib/libfreetype.so.6 /usr/lib/libfreetype.so

    cp libpng12.so.0.1.2.8 /usr/lib/
    ln -s /usr/lib/libpng12.so.0.1.2.8 /usr/lib/libpng12.so.0
    ln -s /usr/lib/libpng12.so.0 /usr/lib/libpng12.so

    !! WARNING READ THIS BEFORE STARTING !!

    ##################################################
    4. Création d’un utilisateur dédié (presque optionnel*)
    ###################################################

    * you do as you want to do but its almost must-do !
    because the shell is installed of a small partition of 30 mB
    and the root directory is in this small partition

    MLdonkey is user-program that can function without root rights.
    So you can create a dedicated user to run the MLdonkey daemon.

    First, if it not already done, you have to create a /volume1/hom directory
    and mount it on /home.

    mkdir -p /volume1/home
    mkdir -p /home
    mount -o bind /volume1/home /home

    Create the mldonkey user :

    adduser mlnet

    Now, open a session under mlnet identity.

    su mlnet

    ####################
    5. Configuration
    ####################

    First, run the mlnet process gived in the package.

    ./mlnet&

    Remark : you can put mlnet anywhere you want, it is not important.
    Usually, under linux personnal compiled server daemon are stocked in
    /usr/local/sbin.

    If it’s displayed “Core started” c’est bien. (good)

    Now, we are going to allow your pc to connect to the web interface.

    Kill mldonkey process : kill %1

    Access to the configuration file :

    vi ~/.mldonkey/downloads.ini

    To use insertion mode (to write) :
    (in case of cataclysm you can leave without save : )

    Search allowed_ips ligne.
    (you can *** the file with your hand or use : )

    Complete by :

    allowed_ips = [
    "127.0.0.1";
    "VOTRE_IP";]

    You can use joker by using 255 :
    ex : 192.168.0.255 <=> 192.168.0.*
    255.255.255.255 <=> *.*.*.*

    Save the file and leave :

    Restart mldonkey : ./mlnet &
    Then on your PC : http://ip_syno:4080/

    ####################
    6. MLdonkey Building
    ####################

    You can yourself build the last MLDonkey Version by installing a
    Debian chroot jail :
    http://www.nslu2-linux.org/wiki/DS101/Debian

    To compile MLDonkey : http://www.debianaddict.org/article61.html
    (French link but command lines can help)

    ################################
    7. Complementary Information
    ################################

    Library used by mlnet :

    ldd /usr/sbin/mlnet

    libz.so.1 => /usr/lib/libz.so.1 (0×0ffcd000)
    libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0×0ff9c000)
    libgd.so.2 => /usr/lib/libgd.so.2 (0×0ff2a000)
    libpthread.so.0 => /lib/libpthread.so.0 (0×0feb9000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0×0fe77000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0×0fddc000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0×0fd96000)
    libm.so.6 => /lib/libm.so.6 (0×0fd01000)
    libdl.so.2 => /lib/libdl.so.2 (0×0fcde000)
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0×0fc05000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0×0fbd7000)
    libc.so.6 => /lib/libc.so.6 (0×0fa78000)
    /lib/ld.so.1 => /lib/ld.so.1 (0×30000000)

    All library (content also symbolic links) are available there :
    http://nastools.free.fr/mldonkey/mldonkey_libs.tar.gz

    #############
    8. License
    #############

    Copyright (c) CZH.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
    Texts. A copy of the license is in fdl.txt.

    ds-101g+ ds-106e ds-106 cs-406 MLdonkey Synology
    Compteur gratuit

    Continue Reading »
    No Comments

    QNAP TS-101

    April 6, 2008 by admin

    I bought a TS-101 a pretty long time ago, but never really used it, recently i got it back out its box and decided to have a play with it.

    Before i begin id just like to say please contact me if you know any more about the QNAP TS-101, or sign up and submit an article, we are always looking for new articles.

    I dont know what most people would use this for, it has a lot of useful features built in, but i decided to use it to store all my films, music, tv shows etc in a central place that could be accessed by anyone on the network.

    I have a pretty large DVD collection, but i tend to leave them lying about and they get scratched, so i like to download copies of the films i own (lets face it, p2p downloads are a lot quicker and simpler than trying to rip the DVD’s yourself), which gave me a great idea, the TS-101 was a built in webserver, with PHP, i decide to download some kind of cataloguing script where i could add the movies i had on the NAS and it would grab information about it from imdb.

    Which led me to 2 programs and my first issues with the TS-101, the two programs i found that would fit the bill were VCD-db from http://vcddb.konni.com/ this runs on PHP5 and supports a multitude of databases, orange isnt everybodys color (nor mine) but i think this app looks gorgeous, the other app was VideoDB from http://sourceforge.net/projects/videodb/ now this app isnt as pretty maybe, but it does have a LOT of things in its favor, it runs on PHP4 with MySQL… so whats my problem? The TS-101 Webserver has PHP4 and SQlite…

    Damnit… VCD-db fills the SQlite tickbox but not the PHP4 wheres VideoDB is the opposite, so i decided to look into modding the TS-101 myself, at the time of writing, i still havent managed to get either app working on the TS-101, but i HAVE found several interesting things out.

    *Update* Following the MySQL update at the bottom of this article, i have now managed to install VideoDB

    First things first, connecting to the TS-101, i figured there must be some way to connect to it, after searching for a while i found reference to enabling the Telnet port by doing some MD5 hashing on blah blah blah… it didnt work, maybe i did something wrong, it doesnt really matter, what i have found is the best way is to use a firmware with the Telnet already enabled, i have uploaded 2 firmwares in the downloads section, the 2.0.0 firmware from progressive, and the Optware firmware, personally i use the Optware firmware, the packages are in the unstable status, but its so much more interesting.

    To Telnet to the TS-101 i recommend using PuTTy, again you can get this from the download section, dont even bother using Windows… telnet on port 13131.

    Once you are in its time to do something, lol, i found a lot of information on creating a build environment to compile new programs from http://scratchpad.wikia.com/wiki/Open_Turbostation:Software about creating a cross compiler, using cygwin, colinux, etc, but basically the easiest way to set up a uclibc build enviroment is as follows.

    1) Download the tarball from here
    2) Copy the tarball to a Qnap share directory (e.g. Qweb)
    3) Telnet in as administrator
    4) Unpack the tarball tar -xvjf ppc.rootfs.tar.bz2
    5) Mount the new directory mount -t proc none loopmount/proc
    6) Now log into the new filesystem chroot loopmount /bin/bash

    You should now have a fully functional build environment which also includes C/C++, awk etc. This environment can now be used to build packages, with the correct shared library support. Once you have built your code, it can be used in the normal Qnap environment. Currently the Qnap runs its OS in Ram drive, so what does that mean to us? Any changes are lost at reboot! To return to the environment it is necessary relogin as administrator, navigate to the location of the dir to be loopmounted, and re-issue the mount and chroot commands.

    Doing it this way i managed to get a fair amount of packages compiled, however, remember, the TS-101 is not a Dual Core processor with 2GB of memory… compiling new packages takes a while… a LONG while, up to several hours depending on the packages, and after waiting all that time, if something doesnt work quite right, its VERY frustrating, i eventually managed to get Apache2, MySQL5 and PHP5 installed after 2 days of changing configs, doing everything i could think of, and then when i tried to start Apache it said it couldnt find the libphp5.so, i checked the dir it was looking in, and it was definately there… i wanted to kill someone at this point, lol.

    The alternative is Optware.. and in comparison its like heaven, lol.

    To install it simply download the firmware from the downloads section, then in the QNAP web administration panel go to updating the system, update the firmware, browse for the downloaded firmware and apply it.

    Once the system has rebooted, just telnet to port 13131 and you’re set, to get a list of available packages type ipkg list to install a package ipkg install to get more options type ipkg –help the only probelm is these are unstable, and not all of them work, i got nano, thttpd and php installed, however installing php-thttpd (to get thttpd with php) would not work, php-apache seemed to run but wouldnt serve php pages, so its a bit hit and miss, but its a lot more fun to play with, and hopefully these issues will be addressed at some point.

    *Update: MySQL*

    While looking on the yahoo group i found a way to install MySQL, so here it is.
    1) Telnet to the TS-101
    2) Create MySQL Share Dir: mkdir /share/HDA_DATA/MySQL
    3) Link share: ln-s /share/HDA_DATA/MySQL /share/MySQL
    4) chmod 777 /share/HDA_DATA/MySQL
    5) Upload the MySQL Package from here to the MySQL Folder.
    6) cd /share/HDA_DATA/MySQL
    7) tar xf mysql-4.1.21-TS-101-v0.1.tar
    8) /share/MySQL/install.sh /share/MySQL/mysql-4.1.21-TS-101.tgz /share/MySQL
    9) /usr/local/mysql/mysqld.sh start
    10) Try to connect MySQL /usr/local/mysql/bin/mysql mysql -u root –password=admin if it works… congrats :)

    Note:
    1. File path
    MySQL files including execution and library files are installed into /share/MySQL/mysql
    MySQl database are stored in /share/MySQL/mysqldb
    2. Because the link, /usr/local/mysql will be removed after rebooting, you have to input the following command to make the mysql link after every reboot.
    ln -s /share/HDA_DATA/MySQL /share/MySQL
    ln -sf /share/MySQL/mysql /usr/local/mysql
    /usr/local/mysql/mysqld.sh start
    3. You may also start/stop MySQL through web (login as administrator):
    http://IP_OF_YOUR_NAS_SERVER:6000/cgi-bin/MySQL/mysql.cgi
    After rebooting every time, the following commands are needed to be input to enable the MySQL web.
    ln -sf /share/MySQL/webpage /home/httpd/cgi-bin/MySQL
    chmod 755 /home/httpd/cgi-bin/MySQL/mysql.cgi

    Links:
    http://scratchpad.wikia.com/wiki/Open_Turbostation
    http://vcddb.konni.com/
    http://sourceforge.net/projects/videodb/
    http://www.qnap.com.tw/
    http://www.nslu2-linux.org/wiki/Optware/HomePage
    http://tech.groups.yahoo.com/group/OpenTurbostation
    #NormalPeopleHateMe on Undernet

    Continue Reading »
    1 Comment

    Retrieve the latest build of the 1.7.x series from http://www.anope.org
    Login to your shell and transfer the “tar.gz” via ssh or ftp.

    Now, you must ssh into your shell to begin installing.

    Once you’re inside the shell, perform the following commands (i will assume the latest version is 1.7.13):

    gunzip anope-1.7.13.tar.gz
    tar xfv anope-1.7.13.tar
    cd anope-1.7.13
    ./Config (if you choose md5 encryption of the passwords, modules such as ns_getpass will not work)
    make
    make install
    cd ..
    cd services (you should edit your services.conf to your satisfaction here)
    ./services (this will start Anope Services should the conf have no errors)

    NOTES: When editing the conf, be careful when enabling Raw. Raw is very unstable and can and WILL crash services and/or ircd(s) if not used properly.

    Continue Reading »
    No Comments

    Setting up Eggdrop

    April 6, 2008 by admin

    *NOTE – This only applies to servers where you are allowed to compile, a lot or free shell servers have their own way of setting up eggdrop automatically, if in doubt ask your provider*

    SSH to the server, then run the following commands at the command prompt:

    Install
    wget ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.17.tar.gz
    tar zxvf eggdrop1.6.17.tar.gz
    cd eggdrop1.6.17
    ./configure
    make config (compiles all modules) or make iconfig (allows you to select the modules to compile).
    make
    make install DEST=/home/name/botdir
    cd /home/name/botdir

    Configure
    Click the following link to create an eggdrop config file:
    http://www.lockstockmods.net/eggdrop/eggconf.php

    Run
    ./eggdrop -m

    Continue Reading »
    No Comments

    Setting up psyBNC

    April 6, 2008 by admin

    If you know nothing
    about bncs, a bnc is short for a ‘bouncer.’ A bnc acts as a proxy for irc,
    allowing you to hide your real IP address and use a vhost (vanity host -
    something like ‘this.is.a.l33t.vhost.com’). What are the advantages of this?
    Well, mainly there’s just one important one: It’ll stop stupid packet kiddies
    from trying to knock you off the network. Everyone hates getting disconnected,
    and with a bnc on a decent shell, you should be pretty immune. Remember though:
    the kiddies can still nuke you, but it is assumed that the shell provider has a
    high-bandwidth line that allows it to withstand the numerous packets. If your
    shell is on a 56.6, you’ll still be screwed.

    So… why psybnc? There
    are a variety of other open source bnc’s available for you to download, most
    notably EZBounce and plain-ol BNC. Both of these do the exact same basic thing
    as psybnc: hide your real host. But that’s about where the similarity ends.
    I’ve been using psy for about three months now, and I’m in love with all the
    features that it offers. To name a few:

    1. You’ll always be connected to irc. Even when you close mirc, psy will
    maintain your connection, so when you connect later, you’ll instantly be back
    on the channels you left. This also lets you hold your nick (if you need that
    feature), or hold ops on a channel.

    2. psy hides your IP even in DCC sessions. In other bncs, a direct
    client-client session is opened, thus revealing your IP. In psy, the connection
    is bounced through the shell, and your IP remains your dirty little secret ;)

    3. You can link multiple psy’s together. This allows you to share vhosts, and
    also create a small ircd, termed the ‘internal’ network on the bncs.

    There are tons more features,
    but you can just download the source and view the README.

    Now… for the first
    part of this tutorial, the Basic section, I assume you have little or no
    experience with shells/irc. For the Intermediate section, though, I assume you
    can hold your own. For most users, the Basic is as far as they need to go, but
    all the fun stuff is a bit more complicated.

    Configuring and Compiling

    Hopefully you have
    already downloaded the source. If not, you can find it here:
    style=’font-size:12.0pt;color:blue’>http://www.psychoid.lam3rz.de
    style=’font-size:12.0pt’>. After you have downloaded that, fire up your
    favorite ftp client and upload it to the root directory of your shell. The next
    step is to decompress this file (.tar.gz is kinda like a .zip file for all you
    windoze ppl out there). To do this, type “tar -zxvf
    psyBNC2.2.1.tar.gz” Notice that it’s case-sensitive. Everything in unix is
    case-sensitive. Keep that in mind for everything in the future.

    If you typed the
    correctly, you should have a “psybnc” directory on your shell. Change
    to it (”cd psybnc”). Do “ls -al” and ogle over all those
    files. Now, this next part is where it gets a bit harder. psyBNC includes a GUI
    for configuring the bnc. However, this requires ncurses to be installed on your
    shell, something a bunch of shells do not have. In my experience, most flavors
    of linux have it installed, but most others (FreeBSD, etc) don’t. So, give it a
    whirl. type “make menuconfig” If you get a GUI, congrats: the
    configuring process is much easier. If not, well, welcome to my world ;) With
    menuconfig, the GUI is very easy to follow: obviously an denotes that the
    option is selected, while indicates it’s not.

    For all those stuck
    doing it by hand, after each option I explain how to set it. For all the
    compiling options, everything is placed in the file config.h, which is found in
    the psybnc directory. Just open that file with your favorite editor on the
    shell (I use and recommend pico -> type “pico config.h”). In this
    file, if you want something added, it has to be defined. Such as: #define
    INTNET adds support for the internal network. I list each option below, and
    tell you how to define it, which is shown in blue.

    Compiling options

    Support Encryption -
    This encrypts all your passwords, and enables support for channel encryption,
    relay encryption, etc… I highly recommend you leave this enabled. #define
    CRYPT

    Encryption Type:
    (default = Blowfish) – I’m not an encryption genius. I have no clue if Blowfish
    is better than IDEA or vice-versa. I just leave it as Blowfish. #define
    BLOWFISH or #define IDEA

    Support Translation -
    This lets you type in english (or whatever your language is) and have the text
    in the channel appear in a different language. You’ll have to see the README
    for more information: I don’t use this feature. #define TRANSLATE

    Support Internal Network
    - This lets you use the internal ircd that psy has. Think of it as a big
    partyline where you can set modes/bans/topic/etc… I like it, and I recommend
    you leave it enabled. #define INTNET

    Support Traffic Logging
    - This enables support for logging channels when you’re not around. It can be
    handy, but it can also eat up your shell disk space VERY fast. So be careful if
    you enable this. (note: you can leave support for it enabled here, then disable
    it after it is compiled by simply turning it off) #define TRAFFICLOG

    Support Linkage – If you
    want your bnc to link to others (or others to link to yours), enable this. I
    use it. #define LINKAGE

    Support DCC Files / DCC
    Chat – Most people use these features, so leave em be. #define DCCFILES and
    #define DCCCHAT

    Mode: Multiuser or
    Singleuser – Duh. If you’re going to share your bnc, set it to multi. If it’s
    just you, set it to Single. #define MULTIUSER or #define SINGLEUSER

    Maxium users -
    self-explanatory #define MAXUSER n (n = # of users)

    Maximum connections -
    this is the number that each user can have. They need at least 2
    (incoming/outgoing) and more for dcc’s, multiple networks, etc. I suggest
    leaving it at 25. #define MAXCONN n (n = # of connections per user)

    Support Scripting -
    psyBNC allows user-specific scripts. I will not discuss that in this tutorial,
    but it doesn’t hurt to leave support for it enabled. #define SCRIPTING

    Support oIdentd – If
    your shell supports it, this allows users to change their ident. Most don’t
    support it. I don’t use it. (for more info on oIdentd:
    http://www.sourceforge.net) #define OIDENTD

    Support Multiple IRC
    Networks – This allows users to connect to >1 network with the same client.
    Hence, in one mirc session, the user could be on efnet, dalnet and ircnet. I
    love this feature and recommend you leave it enabled (even if you don’t plan to
    use it now). #define NETWORK

    Support proxy usage – If
    you want to further anonymize your connection by bouncing
    mirc–>bnc–>proxy–>irc, enable this. But since most irc servers
    check for open proxies, this won’t work in many cases. #define PROXYS

    Anonymous Bouncer Usage
    - Want the whole world to use your bnc? Then enable this! (not recommended)
    #define ANONYMOUS

    No Permanent
    IRC-Connections – If this is enabled, psy will disconnect you from irc when you
    disconnect rom the bnc. Otheriwse, you’ll always stay connected to irc unless
    you force it to quit. #define DYNAMIC

    Loglevel – 3 different
    options here, choose your poison. I prefer to leave them all enabled since I
    like to know everything going on with my bnc. #define LOGLEVEL n (where n is: 0
    = Errors, Warnings and Info; 1 = Errors and Warnings; 2 = Errors only)

    Use the 2.1.1 compatible
    partyline – If you’re going to be linking to old psy’s, this might be good to
    enable. But if you’re the only bnc, or if they’re all 2.2.1, no need to enable
    this option. #define PARTYCHANNEL

    Version reply – Set the
    reply psybnc will send when someone sends you a CTCP VERSION query. (note: when
    you are connected to the bnc, psy will be transparent, all ctcp’s will be
    answered by mirc. When you’re not connected, psy will only answer to the
    version ctcp as set by this option.) #define CTCPVERSION “reply”
    where reply is whatever you want to set… psy defaults to: “psyBNC 2.2.1
    by the most psychoid”

    Once you have all these
    options set, you have two choices: If you’re using menuconfig, skip to the next
    step. If you’re doing it manually, this is where you actually want to compile
    your bnc. It’s very easy to do. Simply type “make” in the psybnc
    directory. It won’t take long to compile. Once it’s done, go on to the next
    step.

    Configuring options

    If you’re using the GUI,
    all these options are accessable under the Bouncer-Config part of the menu. If
    you’re not using the GUI, all these options are in psybnc.conf, which is
    created in the psybnc directory after it is compiled. To edit these options
    manually, just edit this file. The Appendix has the proper syntax for each
    option, go there and look at them.

    Before going through
    these options, do the following: know the IP of your shell. for example, if you
    connect to “l33t.shell.com”, go into mirc and type “/dns
    l33t.shell.com” to get the numeric IP. Also, choose a port for the bnc. I
    recommend some random number that no one will guess. Ok, on to the options:

    Listening ports – You
    have to tell the bnc where to listen. You can have it listen on more than one
    port on the same IP, on multiple IPs with the same port, etc. For most people,
    listening on just one port on one IP is adequate. (the psy default is 31337,
    and you can leave it at that if you’re lame)

    Links – Don’t worry about this now.

    Bouncer Name – Name your bnc. Something like “mypsy1″ will work just
    fine.

    Host Allows – Want to restrict access to certain IPs or certian IP masks? This
    is the place to put those permissions. psy will disallow access to anyone not
    listed here. To allow anyone (provided they have the correct username and
    password) set this to “*”.

    Users – At this point, you want to just add yourself. Adding other users will
    be discussed in more detail later. In menuconfig, just select this, select
    “New” then follow the directions. Remember that to connect to psybnc,
    your ident in mirc must be set to your psybnc username. For all those manual
    people, jump down to the Appendix, which is where you should be anyway.

    DCC Host – The IP to use for all your DCC sessions (if you defined DCC
    support). I recommend setting it to the same IP that your bnc is listening on
    for simplicity.

    Congrats, your setup is complete. If you haven’t done so already, it’s time to
    compile your bnc by typing “make” at the shell prompt in your psybnc
    directory. Then type “./psybnc” to start the bouncer. Hopefully
    everything went smoothly and you’re ready to jump into the next section:

    Setting up your Account

    The first thing you need
    to do is connect to your bnc. In mirc, open up the connect dialogue box and add
    in another server. Name it “My BNC” or something like that, enter the
    IP and port, and enter the password that you chose (either through menuconfig
    or in the conf file). Now make sure that your ident is set to your username.
    It’s also a good idea to set your e-mail address to

    “username@whatever.com”. If psy can’t get an ident response from you,
    it checks your e-mail addy as verification of the username. If everything goes
    well, you’ll see this when you connect: -Welcome- psyBNC2.2.1

    Now you need to get
    connected to irc: first, you need to select your vhost. To see what vhosts are
    available, type “vhosts” at your shell prompt. For security reasons,
    there is no way to view the vhosts in psy. After your vhost is selected, you’ll
    need to add in some irc servers, and set a few other options. the commands
    follow below. All commands appear in RED, everything else after it is an
    explanation. All brackets are for my purposes, don’t use brackets in any
    command!

    /vhost
    is your vhost in alpha
    form (ie, this.is.a.cool.vhost.com and NOT 127.0.0.1)

    /addserver
    style=’font-size:12.0pt’> — server can be in alpha or numeric form…

    Once you add in the
    server, psy will auto-connect to it in a short while. You can add in more
    servers so that if one goes down, psy can reconnect to a different one. Just
    use the command above again. For server managment:

    /listservers
    style=’font-size:12.0pt’> — lists all the servers you have added

    /delserver
    style=’font-size:12.0pt’> — deletes the server with # (as shown by the
    listservers command)

    /jump
    style=’font-size:12.0pt’> — disconnects you from your current server and
    attempts to connect to the next server in your list

    /bquit
    style=’font-size:12.0pt’> — disconnects you from the server until you force it
    to connect

    /bconnect
    style=’font-size:12.0pt’> — connects you to irc

    Now, remember that psy
    will keep you connected to irc even when you’re not connected to the bnc. So,
    these commands are helpful:

    /setaway
    — psy will display this
    message to all channels you’re on when you quit the bnc. It will NOT repeat
    this message (since that’s gay). To remove the message, just type /setaway

    /setawaynick
    style=’font-size:12.0pt’> — when you quit the bnc, psy will auto-change your
    nick to the nick you set here. When you reconnect, it’ll auto change it back to
    what’s shown in the mirc nick.

    OK, now for some more
    commands that ppl find useful. Remember that ALL commands are in the README
    file that came with psybnc. I’m not going to repeat all of them.

    /playprivatelog
    style=’font-size:12.0pt’> — plays the log of all messages sent to you when you
    were disconnected from the bnc. The log will be opened in a window called
    -psyBNC.

    /eraseprivatelog
    style=’font-size:12.0pt’> — erases the aforementioned log.

    psy has a damn cool
    feature in that it allows encryption. You can encrypt text sent to a channel or
    a person. Each person needs to have the same key to view the text. This is
    helpful if you’re paranoid, or if you want to have a private conversation in a
    public channel. (Why you wouldn’t just pm is beyond me ;) It also makes you
    look l33t lol.

    /encrypt
    — make sure
    everyone you want to speak with has the same key. And they need to be using
    psybnc as well. duh.

    /listencrypt
    style=’font-size:12.0pt’> — lists your current encryptions

    /delencrypt
    style=’font-size:12.0pt’> — deletes encryption # as shown by the
    listencryption command.

    User management

    Obviously, if you have
    your bnc compiled as singleuser, this section is pointless for you. But for
    everyone else, I’m sure you want to add in other users, delete them, etc…
    Here’s the commands to do it:

    /adduser
    is what
    the person will have to set their ident to. The part is what ppl
    will see when doing a /whois. for example: /adduser jestrix :me love you long
    time –> shows this in the first line of a whois –> jestrix is
    ident@vhost * me love you long time.

    /deluser
    style=’font-size:12.0pt’> — deletes the user.

    /password
    style=’font-size:12.0pt’> — changes your password. If you’re an admin, you can
    change other ppl’s passwords: /password

    /madmin
    style=’font-size:12.0pt’> — makes a user into an admin (choose your admins
    carefully!)

    /unadmin
    style=’font-size:12.0pt’> — removes admin rights from a user.

    /bwho
    style=’font-size:12.0pt’> — see who is added to your bouncer. Also shows if
    they’re connected, what server they’re connected to, and what their IP is.

    I recommend you secure
    your bnc even more by restricting what IPs can connect to it:

    /addallow
    style=’font-size:12.0pt’> — lets whatever IP or mask you specify connect to
    the bnc. IPs can be definite, ie. 12.12.12.34 or masked, 12.12.12.*. You can
    also use hostnames and masks such as *.myisp.com.

    /listallow
    style=’font-size:12.0pt’> — lists the allowed connections.

    /delallow
    style=’font-size:12.0pt’> — deletes allow #n as shown by listallow.

    DCC stuff

    This section assumes
    that you compiled your bnc with DCCFILE and DCCCHAT. If you did not, then you
    can do all your dcc stuff as you normally would in mirc, but remember that your
    real IP will be revealed by doing this. Like I sated before, the benefit to psy
    is that it hides your IP during DCC sessions, but in order to do this, your
    life gets a bit harder. First, let’s go over the basic DCC commands:

    /dccchat
    — opens a dcc chat session with
    the user you specify.

    /dccsend
    style=’font-size:12.0pt’> — sends a file to the person you specify. The file
    MUST be in ~/psybnc/downloads/USERx (where USERx is your user #. Not sure what
    your user # is? do a /bwho

    /dccanswer
    style=’font-size:12.0pt’> — if someone sends you a dcc chat request, psy will
    inform you through a notice. You must then type this to accept the request.

    /dccget
    style=’font-size:12.0pt’> — gets a file that was dcc’d to you by someone.
    This file will be stored in the ~/psybnc/downloads/USERx directory.

    /dccsendme
    style=’font-size:12.0pt’> — tells psy to send you the file you specify. Use
    this after you get a file from another user and then want to get it from your
    shell. This is the only way people without shell access can get their files.

    /listdcc
    style=’font-size:12.0pt’> — lists all dcc’s

    /dcccancel
    style=’font-size:12.0pt’>— cancels dcc # n as shown by /listdcc

    Now for the cool stuff
    :) my favorite feature of psy is it’s ability to stay permanently connected to
    a bot through a DCC, and to ask this bot for ops. As anyone who has experience
    with running a botnet knows, one of the easiest ways for a channel to be taken
    over is to have some idiot /msg , when the bot’s nick was
    taken by someone else. With psy, however, the askop request can be done two
    ways: through the partyline when a DCC is initiated, or through a msg that
    first checks the mask of the person being sent the request. Sweet, eh? So, the
    commands to do it:

    /adddcc
    — The botname is obviously the name of the bot, The username and
    password are your personal l/p that you use to gain access to the bot’s
    partyline. The host is the host of the bot. It can be either the alpha-form, or
    the actual IP address. I prefer the actual IP address, since it’s possible DNS
    can be down. And finally, the port is the port that the bot listens on for user
    connections. Some bots listen for other bots on one port and for users on
    another, so make sure you get the right one :)

    /listdcc
    style=’font-size:12.0pt’> — lists all dcc’s

    /deldcc
    style=’font-size:12.0pt’> — deletes dcc # n as shown by /listdcc

    Now, for the askops
    part: This part assumes you added in a DCC to the bot as shown above. If you
    don’t have partyline access, you can still add an askop, but I’ll get to that
    later.

    /addask
    — The
    chan is the channel you want to get ops on, the password is your password, and
    the bot’s nick, preceded with a :-, is the bot which you have a dcc enabled to.

    /listask
    style=’font-size:12.0pt’> — lists all the askops you have

    /delask
    style=’font-size:12.0pt’> — deletes askop # n as shown by /listask

    Now, if you don’t have
    partyline access, you can add the askop in this way:

    /addask
    — where
    chan is the channel you want to be opped on, your password is your password
    (duh), and the bothost is the bot’s hostmask. A mostmask, for the uninformed,
    is formed like this: username!ident@host. Since a bot is set to use a different
    nick if someone takes their default, set the host for something like:
    *!mybot@damn.cool.vhost.com.

    Multiple Networks

    One of my other favorite
    things about psyBNC :) Do you have a bunch of channels you hang in on efnet,
    but also one or two channels on dalnet that you like to go to? If you’re like
    me, you do…but you alo hate having multiple mirc sessions open. Fret no more!
    psyBNC can solve your problems by allowing you to connect to more than one
    network with the same mirc client. For this section I’ll assume that you’re
    familiar with most of the commands in psy. If not, get familiar with them
    before you try to do this. Ok, let’s get into the commands.

    The first thing you need
    to do is add in another network:

    /addnetwork
    style=’font-size:12.0pt’> — adds in a network with the name you specify. Keep
    in mind that network names are case-sensitive. Furthermore, you’ll be typing
    the name a lot, so if you’re adding in dalnet, use the name “dal” or
    “dn” or something similar.

    Once you have the
    network added, you need to choose your vhost for that network. If you don’t
    choose one, it’ll default to the IP the bnc is on, usually something gay like
    “my-shell-company.com”. So:

    /vhost
    style=’font-size:12.0pt’> — sets your vhost on the network you specify.

    See this command? This
    is the format for ALL commands used on multiple networks. Simply prefix the
    syntax of the command with . So, to give some other examples:

    /addserver
    dn~irc.dal.net:6667 — adds in the
    server irc.dal.net with port 6667 to the “dn” network.

    /join dn~#fxp
    style=’font-size:12.0pt’> — joins #fxp on network dn. (btw, I hear that some
    freaky ppl hang in this particular channel ;)

    /msg dn~joeschmoe beeyatch
    style=’font-size:12.0pt’> — sends the message “beeyatch” to user
    with the nick joeschmoe on network dn.

    Now, some weird things
    about multiple networks:

    1. Your nick in the nicklists for channels on other networks will show the nick
    you’re using on your primary network. So, even if you do: /nick dn~TwatMuffin,
    even though other ppl will now see you as TwatMuffin in their list, you’ll see
    yourself as jestrix, or whatever nick you use.

    2. If you get
    opped/voiced in a channel, you won’t see it in the nicklist. You’ll just appear
    to be a regular schmoe.

    3. Let’s say JoeSmith is
    in #chat on efnet, your primary network. You head over to dalnet, and he’s
    there in #fxp. Everyone else in #fxp will look like dn~BobJones, but JoeSmith
    will be just JoeSmith. If you try to msg him by dbl-clicking on his nick int he
    dalnet channel, you’ll really be sending a msg to him on efnet. You have to use
    dn~JoeSmith to talk with him on dalnet.

    Some final things. Maybe
    you don’t always want to be on more than one network. I prefer to always be on
    efnet, and then head to my other networks when I want to talk with ppl there.
    So:

    /bconnect ~
    style=’font-size:12.0pt’> — connects you to the network you specify (assuming
    you have servers added for that network)

    /bquit ~
    style=’font-size:12.0pt’> — quits you from that network. You’ll still be
    connected to your primary network. Note, if you do /bquit, you’ll be quitted
    from ALL your networks.

    OK, multiple networks
    also includes the psy “internal network”. Think of it as an ircd
    inside your bnc. By using the network name “int” you can create
    private channels that only ppl connected to your bnc can access. For example,
    /join int~#partyline will have you join the internal channel #partyline. You
    can set modes/ops/topic in the internal channels just like you would on a
    normal channel. do a whois on someone in an internal channel, it looks neat ;)
    You can also privately msg other people connected to your bnc: /msg $.
    Prefix it with a $ and psy will send it directly to the person on the bnc; it
    will not pass through the irc server.

    Linking

    A cool aspect of psy is
    the ability form a psy-net through the linkage of multiple psybncs. The benefit
    of this is to create a private internal network secure from snooping, and
    secure from takeovers! Furthermore, you can let ppl on other bouncers use your
    machine’s vhosts if you wish.

    So, to create a link to
    another bouncer:

    /linkto
    :

    The other bouncer would
    have to do the following:

    /linkfrom [name of other
    bnc] :

    To view all your links:

    /listlinks

    I love to have everything
    encrypted, including my links. To create an encrypted link:

    /setlinkkey
    :

    After doing this on both psy’s, do:

    /relink
    style=’font-size:12.0pt’> on either bouncer to reset

    To enable the sharing of
    vhosts:

    /relaylink [name of other
    bnc] :n — where n=0 to disable vhost
    sharing; 1 to enable it.

    Final note: If you use
    hostmasks to restrict connections to your bnc, you must add the other bnc’s IP
    as an allowed host!!

    Appendix

    For one reason or
    another, you might want to edit your psybnc.conf (especially if menuconfig
    doesn’t work for you). So, here are the applicable lines and what they mean.
    I’m sure I’ve missed a few lines, so if you find anything and know what it
    does, please email me. Note that ALL the variables in psybnc.conf are
    capitalized and that there are no spaces on either side of the =.

    Variables are shown in
    orange.

    ###SYSTEM SETTINGS###

    PSYBNC.SYSTEM.PORT1=
    style=’font-size:12.0pt’> The port your bnc is going to listen on. use a PORTx
    variable if you want multiple ports.

    PSYBNC.SYSTEM.ME=
    style=’font-size:12.0pt’> The name of your bouncer.

    PSYBNC.SYSTEM.HOST1=
    style=’font-size:12.0pt’>The IP your bnc is going to listen on. Use HOSTx for
    multiple hosts.

    PSYBNC.SYSTEM.DCCHOST=
    style=’font-size:12.0pt’> The IP that will be used for DCC sessions.

    PSYBNC.HOSTALLOWS.ENTRY0=
    style=’font-size:12.0pt’> The first IP that will be allowed to connect to your
    bouncer. Use *;* for everyone. This can include masks. The first * indicates
    the IP, not sure what the * after the ; denotes… can’t find anything anywhere
    about it.

    ###USER SETTINGS###

    (note that USER1 can be substituted for USERx)

    USER1.USER.LOGIN=
    style=’font-size:12.0pt’> The login name for the user (ident)

    USER1.USER.NICK=
    style=’font-size:12.0pt’> The nick the user will use on irc.

    USER1.USER.USER=
    style=’font-size:12.0pt’> The ‘real name’ of the user (what appears in the
    whois)

    USER1.USER.PASS=
    style=’font-size:12.0pt’> The password of the user (this will be shown in
    encrypted form; if you change the password in psybnc, then restart it, the
    password will become encrypted.)

    USER1.USER.RIGHTS=
    style=’font-size:12.0pt’> 0-not an admin; 1-an admin

    USER1.USER.ACOLLIDE=
    style=’font-size:12.0pt’> 0-disable anti-collide; 1-enable anti-collide

    USER1.USER.SYSMSG=
    style=’font-size:12.0pt’> 0-Do not show system messages to the user; 1-Show
    them

    USER1.USER.VHOST=
    style=’font-size:12.0pt’> The user’s vhost

    USER1.USER.AWAYNICK=
    style=’font-size:12.0pt’> The user’s away nick

    USER1.USER.AWAY=
    style=’font-size:12.0pt’> The user’s away msg

    USER3.USER.LEAVEMSG=
    style=’font-size:12.0pt’> The message shown when you disconnect from the bnc

    USER1.USER.VLINK=
    style=’font-size:12.0pt’> (0/1) Not sure what this does (default =0)

    USER1.USER.PPORT=
    style=’font-size:12.0pt’> (0/1) Not sure what this does (default =0)

    USER1.USER.PARENT=
    style=’font-size:12.0pt’> (0/1) Not sure what this does (default =0)

    USER1.USER.QUITTED=
    style=’font-size:12.0pt’> 0-User is connected to irc; 1-User is quitted

    USER1.USER.DCCENABLED=
    style=’font-size:12.0pt’> 0-dcc is diabled; 1-dcc is enabled.

    USER1.USER.AIDLE=
    style=’font-size:12.0pt’> 0-anti-idle is disabled; 1-it’s enabled.

    USER1.USER.LEAVEQUIT=
    style=’font-size:12.0pt’> 0-when the user disconnects from teh bnc, they stay
    on all their channels; 1-when they quit, they leave all the channels, but still
    stay connected to irc.

    USER1.USER.AUTOREJOIN=
    style=’font-size:12.0pt’> 0-if you get kicked when not on the bnc, psy will not
    rejoin the channel; 1-psy sill rejoin the channel for you if you get kicked.

    USER1.USER.LASTLOG=
    style=’font-size:12.0pt’> (0/1) Not sure what this does (default =0)

    USER1.SERVERS.SERVER1=
    style=’font-size:12.0pt’> The first server of the user.

    USER1.SERVERS.PORT1=
    style=’font-size:12.0pt’> The port for server number 1.

    USER1.CHANNELS.ENTRY0=
    style=’font-size:12.0pt’>The first channel the user wants to sit on.

    USER1.CHANNELS.KEY0=
    style=’font-size:12.0pt’>The key for the first channel. (This is NOT encrypted)

    USER1.INTCHANS.ENTRY0=
    style=’font-size:12.0pt’> An internal channel the user wants to sit on.

    USER1.AOP.ENTRY1=
    style=’font-size:12.0pt’>Entry for someone to get ops from your client int he
    form of hostmask;password. (not covered in this tutorial)

    ###LINKAGE STUFF###

    LINKS.LINK1.PORT=
    style=’font-size:12.0pt’> Port for link 1

    LINKS.LINK1.NAME=
    style=’font-size:12.0pt’> name of the otehr bnc

    LINKS.LINK1.IAM=
    style=’font-size:12.0pt’> name of the other bnc (redundant?)

    LINKS.LINK1.HOST=
    style=’font-size:12.0pt’> IP of the link

    LINKS.LINK1.PASS=
    style=’font-size:12.0pt’> Password for the link (used only by the bncs)

    LINKS.LINK1.ALLOWRELAY=
    style=’font-size:12.0pt’> 0-Do not share vhosts; 1-Allow the sharing of vhosts

    LINKS.LINK1.CRKEY=
    style=’font-size:12.0pt’> Key set by negotiation between the bncs

    LINKS.LINK1.TYPE=
    style=’font-size:12.0pt’> 0-Your bouncer links to theirs; 1-Their bouncer links
    to yours.

    ###DCC AND ASKOP
    STUFF###

    (note: I don’t recommend editing any of these variables through psybnc.onf
    -> use the commands in mirc.

    USER1.DCC.ENTRY0=
    style=’font-size:12.0pt’> Stuff pertaining to DCC #0

    USER1.ASK.ENTRY0=
    style=’font-size:12.0pt’> Stuff pertaining to AskOp #0

    Setting Crontab

    The basic form for a
    crontab entry is (to the best of my knowledge):

    <minute> <hour> <day> <week> <month> <process
    to run>

    So, if you like to check every 10min, it would be:

    0,10,20,30,40,50 * * * * <process to run>

    Included with psybnc is
    psybncchk. Open this file and change the line that reads
    PSYBNCPATH=/set/path/here. Set it to your psybnc directory of course. Make sure
    it has execute perms (chmod 700 psybncchk)!

    Then add the following
    to your crontab (use crontab -e to edit your crontab): (this example is for a
    check every 10 minutes:

    0,10,20,30,40,50 * * * * /l33t/shell/psybnc/psybncchk >/dev/null 2>&1

    The >/dev/null
    2>&1 part tells crontab not to send you an e-mail whenever it restarts
    psybnc. Omit that part if you like e-mail.

    This document was written by jestrix

    Continue Reading »
    No Comments