Expat-IT Tech Bits




Search this site:


/ (289)
  Admin/ (123)
    Apache/ (10)
      HTTPS-SSL/ (4)
      PHP/ (3)
      performance/ (2)
    Cherokee/ (1)
    LAN/ (4)
    LVM/ (6)
    Monitoring/ (2)
      munin/ (2)
    SSH/ (6)
    SSL/ (1)
    Samba/ (1)
    VPN-options/ (7)
      OpenVPN/ (1)
      SSH-Proxy/ (3)
      Tinc/ (1)
      sshuttle/ (1)
    backups/ (17)
      SpiderOak/ (1)
      backuppc/ (5)
      dirvish/ (1)
      misc/ (6)
      rdiff-backup/ (1)
      rsync/ (1)
      unison/ (2)
    commandLine/ (24)
      files/ (8)
      misc/ (10)
      network/ (6)
    crontab/ (1)
    databases/ (15)
      MSSQL/ (2)
      MySQL/ (8)
      Oracle/ (3)
      PostgreSQL/ (1)
    dynamicDNS/ (2)
    email/ (11)
      Dovecot/ (1)
      deliverability/ (1)
      misc/ (1)
      postfix/ (7)
      puppet/ (1)
    iptables/ (3)
    tripwire/ (1)
    virtualization/ (9)
      VMware/ (1)
      virtualBox/ (8)
  Coding/ (14)
    bash/ (1)
    gdb/ (1)
    git/ (3)
    php/ (5)
    python/ (4)
      Django/ (2)
  Education/ (1)
  Hosting/ (27)
    Amazon/ (18)
      EBS/ (3)
      EC2/ (10)
      S3/ (1)
      commandline/ (4)
    Godaddy/ (2)
    NearlyFreeSpeech/ (3)
    Rackspace/ (1)
    vpslink/ (3)
  Linux/ (31)
    Android/ (1)
    Awesome/ (3)
    CPUfreq/ (1)
    China/ (2)
    Debian/ (8)
      APT/ (3)
      WPA/ (1)
    audio/ (1)
    encryption/ (3)
    fonts/ (1)
    misc/ (6)
    remoteDesktop/ (1)
    router-bridge/ (3)
  SW/ (45)
    Micro$soft/ (1)
    browser/ (2)
      Chrome/ (1)
      Firefox/ (1)
    business/ (28)
      Drupal/ (9)
      KnowledgeTree/ (6)
      Redmine/ (2)
      SugarCRM/ (7)
      WebERP/ (2)
      WordPress/ (1)
      eGroupware/ (1)
    chat/ (1)
    email/ (1)
    fileSharing/ (2)
      btsync/ (1)
      mldonkey/ (1)
    graphics/ (2)
    research/ (2)
    website/ (6)
      blog/ (6)
        blosxom/ (3)
        rss2email/ (1)
        webgen/ (1)
  Security/ (15)
    IMchat/ (2)
    circumvention/ (2)
    cryptoCurrency/ (1)
    e-mail/ (4)
    greatFirewall/ (1)
    hacking/ (1)
    password/ (1)
    privacy/ (2)
    skype/ (1)
  Services/ (1)
    fileSharing/ (1)
  TechWriting/ (1)
  xHW/ (14)
    Lenovo/ (1)
    Motorola_A1200/ (2)
    Thinkpad_600e/ (1)
    Thinkpad_a21m/ (3)
    Thinkpad_i1300/ (1)
    Thinkpad_x24/ (1)
    USB_audio/ (1)
    scanner/ (1)
    wirelessCards/ (2)
  xLife/ (17)
    China/ (9)
      Beijing/ (5)
        OpenSource/ (3)
    Expatriation/ (1)
    Vietnam/ (7)


  • 2019/06
  • 2016/07
  • 2016/05
  • 2016/02
  • 2016/01
  • 2015/12
  • 2015/11
  • 2015/06
  • 2015/01
  • 2014/12
  • 2014/11
  • 2014/10
  • 2014/09
  • 2014/07
  • 2014/04
  • 2014/02
  • 2014/01
  • 2013/12
  • 2013/10
  • 2013/08
  • 2013/07
  • 2013/06
  • 2013/05
  • 2013/04
  • 2013/02
  • 2013/01
  • 2012/12
  • 2012/10
  • 2012/09
  • 2012/08
  • 2012/07
  • 2012/06
  • 2012/05
  • 2012/04
  • 2012/03
  • 2012/01
  • 2011/12
  • 2011/11
  • 2011/10
  • 2011/09
  • 2011/08
  • 2011/07
  • 2011/06
  • 2011/05
  • 2011/04
  • 2011/02
  • 2010/12
  • 2010/11
  • 2010/10
  • 2010/09
  • 2010/08
  • 2010/07
  • 2010/06
  • 2010/05
  • 2010/04
  • 2010/03
  • 2010/02
  • 2010/01
  • 2009/12
  • 2009/11
  • 2009/10
  • 2009/09
  • 2009/08
  • 2009/07
  • 2009/06
  • 2009/05
  • 2009/04
  • 2009/03
  • 2009/02
  • 2009/01
  • 2008/12
  • 2008/11
  • 2008/10
  • 2008/09
  • Subscribe XML RSS Feed

    Creative Commons License
    This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

    This site has no ads. To help with hosting, crypto donations are accepted:
    Bitcoin: 1JErV8ga9UY7wE8Bbf1KYsA5bkdh8n1Bxc
    Zcash: zcLYqtXYFEWHFtEfM6wg5eCV8frxWtZYkT8WyxvevzNC6SBgmqPS3tkg6nBarmzRzWYAurgs4ThkpkD5QgiSwxqoB7xrCxs

    Wed, 30 Sep 2009

    /xHW/Motorola_A1200: Review of the Motorola A1200 PDA Mobile Phone aka. "Ming": So So

    The Motorola A1200[1][2] is a Linux-based line of mobile phones targeted mainly at the Chinese market (the only language options are English, Simplified Chinese, and Traditional Chinese). I chose this phone in advance because it was Open Source (Linux-based) and looked like it would satisfy my main requirements: an English system from which I could send and receive Chinese text messages, a touch-screen with handwriting recognition to facilitate my Chinese studies, and the probable capability of installing my favorite Linux Chinese-English dictionary.

    I ended up buying an older, original model really cheap for 600 RMB (just under US$100) as the latest models, the A1200e and the A1210 were being quoted at 1600-1800+ RMB.

    A bad first impression:

    So far I quite like the phone itself, but the battery fiasco is really a little unbelievable coming from a theoretically top-tier company like Motorola. I think most people would have given up on the phone already and tried to exchange it for something else. I still might, if I keep finding problems.... So far this evening I have found that my current Linux desktop cannot connect to the USB Mass Storage device on the phone, meaning I cannot use USB to get files on and off the phone. That makes the phone's onboard camera useless, and means I cannot install my dictionary.

    So I guess I will go get a bluetooth card for my desktop and try to communicate with the phone that way....

    [1] http://www.gsmarena.com/motorola_a1200-1429.php
    [2] http://direct.motorola.com/hellomoto/us/motoming/specifications.asp
    [3] http://www.fixya.com/support/t103363-phone_dosent_turn_or_nothinq
    [4] http://www.fixya.com/support/t368258-motorola_a1200_problem
    [5] http://www.abstech.com.cn/product.asp?pid=1242

    posted at: 10:20 | path: /xHW/Motorola_A1200 | permanent link to this entry

    Sun, 27 Sep 2009

    /SW/research: Do-It-Yourself RSS

    Ever cursed a site you want to check periodically for not having an RSS feed? cron / msmtp / web2mail.com offers a slightly crude solution -- crude because you get the whole page every time, not just new content.

    web2mail.com provides a means of receiving website content via e-mail. I use msmtp to send the request to web2mail.com via one of my e-mail accounts, and cron to specify the frequency and issue the e-mail.

    (I first tried to send the e-mail directly from my laptop mail server to web2mail.com, and web2mail.com did not like my e-mail and bounced it. Thus the msmtp strategy.)

    I setup one of my e-mail accounts in ~/.msmtprc as follows:

    # 163.com
    account 163
    host smtp.163.com
    auth plain
    from user@163.com
    user user
    password password

    Then in a terminal issue "crontab -e" and add the following entry:

    25 14 * * 1,4 echo -e "Subject: http://www.website-you-want-sent.com/ \n\n This is message body" | msmtp -a 163 -v www@web2mail.com

    which grabs the web page on the first and fourth days of the week at 14:25.

    posted at: 22:44 | path: /SW/research | permanent link to this entry

    Fri, 18 Sep 2009

    /Admin/commandLine/files: Copying Directories Between Machines

    When copying directories between two servers, there are two main candidates to choose from:

    scp -rp apache2/ root@server.com:/etc/

    rsync -avz -e ssh apache2 root@server.com:/etc/
    does well over poor networkdoes poorly
    requires rsync and ssh servers installed on both endsonly requires ssh server
    preserves sym linksdoes not
    can continue an interrupted transfermust start from scratch
    be careful to use ssh tunnel for secure tranferall transfers encrypted

    With rsync also be careful about the source specification. "apache2" will create an apache2 directory in the destination /etc/. But "apache2/" will copy the files contained within apache2 into the destination /etc/. You want the former.

    posted at: 08:50 | path: /Admin/commandLine/files | permanent link to this entry

    Wed, 16 Sep 2009

    /Admin/Apache/HTTPS-SSL: Desktop Apache https Quick Start

    I expect to be accessing some services on my laptop via Apache over an untrusted network in the near future, so I need to turn on SSL.

    As usual, turn on the Apache SSL module:

    cd /etc/apache2/mods-enabled/
    ln -s ../mods-available/ssl.conf .
    ln -s ../mods-available/ssl.load .
    and the default SSL configuration:
    cd /etc/apache2/sites-enabled/
    ln -s ../sites-available/default-ssl 001-default-ssl

    Now restart Apache and it just works!? Apparently there is a "snakeoil" certificate already in place to get the job done. Trivial. Thank you, Debian Apache packagers.

    posted at: 09:23 | path: /Admin/Apache/HTTPS-SSL | permanent link to this entry

    Mon, 14 Sep 2009

    /Hosting/vpslink: One Year of vpslink service

    As of September 2009 I have been running a VPS Xen server on vpslink for just over a year now, and am sufficiently satisfied with their service to start giving them six months of money at a time and increase my server to 128M so I can also run Apache. So I am now running a lightly loaded e-mail server and a web server on my vpslink VPS.

    There have been some issues with uptime in the past year, but their tech support has always been prompt in addressing outages, and generally I believe them to be a good company to work with.

    Just for the record, I bumped into another ISP[1] that challenges their low price-point with a 512M OpenVZ VPS for only $6 per month. (I believe that OpenVZ means no swap.....) If this is not a temporary teaser price, they might be worth checking out at some point.

    [1] http://w4networks.com/vps_servers.html

    posted at: 09:43 | path: /Hosting/vpslink | permanent link to this entry

    /Hosting/vpslink: Review of Virtual Private Server (VPS) at vpslink.com:

    As of summer 2008, I have been using a vpslink.com[1] VPS for a about a month now, and so far, all is well, especially the price.

    If your needs are simple, their 64 MB RAM / $7.95 plan is a good deal. If you choose XEN hosting, you also get some swap. I currently have postfix / dovecot / MySQL and a couple other minor daemons running in this skinny little RAM no problem, no swapping (and as yet, very little load! I am still setting up....)

    There is a wide choice of Linux distros to choose from for your VPS, I chose Debian.

    This is my first VPS, so I can't really compare with other service offerings. I can say that getting installed and setup was trivial, and thereafter everything works just like the same old Debian I am used to.

    The only snafu so far is some unnecessary password confusion. When you start up with the service, the same password works everywhere. However, if you start changing passwords, you will soon find that your newly changed password does not necessarily apply everywhere you think it should. And most confusing of all, at least the first time, if you reboot your server from the Control Panel on their website, the root password gets reset to the original password. Lesson: keep that original password safe, you might need it for a long time.

    I will keep this post up-to-date with my on-going experience.

    If you register for an account, be sure to use my referral code: F5H33Z. You will get a 10% discount, and I will get a few pennies as well.

    [1] http://vpslink.com/?ref=F5H33Z

    posted at: 09:35 | path: /Hosting/vpslink | permanent link to this entry

    Sun, 13 Sep 2009

    /Linux/misc: Removable Storage Should Always Mount on the Same Mount Point

    I am writing this as of the kernel 2.6.30/udev era, on Debian testing.

    I have a an external USB hard drive that I use all the time. When I boot from scratch, the default udev configuration always assigns the first partition to /dev/sda1. However, when I suspend and then resume, udev likes to put it somewhere else, /dev/sdb1 for instance. Therefore an /etc/fstab entry of the following variety:

    /dev/sda1 /mnt/usbfat vfat user,exec,dev,suid,rw,umask=0000 0 0

    will not always work because there is no guarantee the partition will get /dev/sda1 every time. The solution is to identify the partition by its label in /etc/fstab. First assign a label to the partition.

    For a FAT partition, use the mtools package. First configure mtools by adding the following line

    drive x: file="/dev/sdb1"

    to /etc/mtools.conf. (This of course assumes that the drive is being assigned currently to /dev/sdb1, which you can verify in /var/log/syslog.) Then write the label to the partion:

    # mlabel x:
    Volume has no label
    Enter the new volume label : USBFAT1

    For an ext2/ext3 partition, use:

    # e2label /dev/sdb1 USBEXT1

    For KDE users, and probably Gnome users as well, this is already enough, it should automount on insertion to the same mount point every time. If you are using a window manager with fewer bells'n'whistles, you probably need to explicitly specify the mount point. There are two ways to set up /etc/fstab. Edit /etc/fstab to contain ONE of the following lines:

    LABEL=USBFAT1 /mnt/usbfat vfat user,exec,dev,suid,rw,umask=0000 0 0


    /dev/disk/by-label/USBFAT1 /mnt/usbfat vfat user,exec,dev,suid,rw,umask=0000 0 0

    Unplug your USB drive, wait a few seconds, then plug it back in. Now type:

    mount /mnt/usbfat



    posted at: 01:51 | path: /Linux/misc | permanent link to this entry

    Sat, 12 Sep 2009

    /Linux/Debian: Quick Start Networking on Debian

    This simple tutorial is meant to show the basics of how to get networking working on Debian Linux from the command line, and assumes at least that your network card has been recognized, the appropriate kernel module has been loaded, and a viable network interface initialized for the network card. This should all happen automatically on boot or card insertion, and if it does not, getting your card to work is unlikely to be a simple task.

    (Note that there are various GUIs that try to make networking "easy" in Linux, but in my experience they do not work very well, and once you know the command line method you will rarely crave a GUI....)

    All commands in this tutorial require a root terminal. The commands we are going to use are:

    To find out what live network interfaces you have, enter ifconfig:

    # ifconfig eth1 Link encap:Ethernet HWaddr 00:30:bd:d0:16:d0 inet addr: Bcast: Mask: inet6 addr: fe80::230:bdff:fed0:16d0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:41490 errors:57 dropped:0 overruns:0 frame:0 TX packets:43735 errors:10 dropped:15 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:29486719 (28.1 MiB) TX bytes:13372215 (12.7 MiB) Interrupt:3 Base address:0x3100 lo Link encap:Local Loopback inet addr: Mask: inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:600 (600.0 B) TX bytes:600 (600.0 B)

    In the above example, "lo" is the loopback interface (important but irrelevant to this tutorial) and "eth1" is the network interface with the outside world. In eth1, note:

    inet addr:

    which tells you that eth1 has an IP address (and in fact is my wireless card as I write this). Though not always strictly true, for the purposes of this tutorial, if there is no IP address, the network is not working. Now enter "ifconfig -a":

    # ifconfig -a eth1 Link encap:Ethernet HWaddr 00:30:bd:d0:16:d0 inet addr: Bcast: Mask: inet6 addr: fe80::230:bdff:fed0:16d0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:41860 errors:66 dropped:0 overruns:0 frame:0 TX packets:44166 errors:10 dropped:15 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:29644024 (28.2 MiB) TX bytes:13420797 (12.7 MiB) Interrupt:3 Base address:0x3100 eth4 Link encap:Ethernet HWaddr 00:d0:59:c1:e6:79 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr: Mask: inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:600 (600.0 B) TX bytes:600 (600.0 B)

    Note that "eth4" has now joined the party, and does not have an IP address. eth4 in fact is my on-board wired network card which I am not using and have turned off. "ifconfig" shows all active network interfaces, and "ifconfig -a" shows all network interfaces, including those that are not turned on.

    udev is the piece of software that is supposed to assign a unique network name (eth0, eth1, eth3, wlan0, etc.) to every network card plugged into your system, which should remain stable over reboots. (Of course, you can change this behavior and even choose what name is assigned to a given card.....)

    Now have a look at the file /etc/network/interfaces with your favorite text editor. Mine looks like this:

    # The loopback network interface auto lo iface lo inet loopback # wireless card auto eth1 iface eth1 inet dhcp wireless-essid any wireless-mode Managed # internal wired card iface eth4 inet dhcp
    Interfaces with an "auto" line should be started automatically on boot, in this case lo and eth1. "man interfaces" will tell you lots more about the contents of this file, but for the simplest case,
    iface eth4 inet dhcp

    specifies the configuration of the eth4 wired interface: the network will be queried for a dynamically assigned IP address via DHCP, and

    iface eth1 inet dhcp wireless-essid any wireless-mode Managed

    will do the same for the eth1 wireless interface. The 2nd and 3rd lines give the wireless card permission to connect to any wireless access point that it can find. (Of course, one can also not use DHCP and assign a static IP, and also specify the access point.... not covered here.)

    With a /etc/network/interfaces file with the above contents, at the root prompt issuing

    ifup eth1

    will start the wireless interface. If the card finds a willing and appropriately configured access point, ifconfig should show eth1 as having an IP address. You can find out more about what is going on with your wireless card (and reconfigure it) with the iwconfig command:

    # iwconfig lo no wireless extensions. eth4 no wireless extensions. eth1 IEEE 802.11-DS ESSID:off/any Mode:Managed Frequency:2.422 GHz Access Point: 00:40:05:D0:7F:9C Bit Rate:11 Mb/s Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=61/100 Signal level=27/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:35909

    You can also have a look at what other access points the wireless card is seeing with the iwlist command:

    # iwlist eth1 scan eth1 Scan completed : Cell 01 - Address: 00:40:05:D0:7F:9C ESSID:"15hao" Mode:Managed Channel:3 Quality:16/100 Signal level:16/100 Noise level:0/0 Encryption key:off

    Just one access point in this neighborhood....

    Suppose this is your home configuration, and at work you have a wireless network called 2WIRE162 protected (not very) with a WEP key. Add the following stanza to your /etc/network/interfaces file:

    iface work inet dhcp wireless-essid 2WIRE162 wireless-mode Managed wireless-key 0642243084
    In our /etc/network/interfaces file we have three physical network interfaces (lo, eth1, and eth4) and now we have added a "logical" interface called "work". A physical interface corresponds to a network card ("lo" is a special case that does not) and a logical interface *can be* associated with any physical interface. Ie.
    ifup eth1

    will cause eth1 to connect to any open access point in the vicinity, whereas

    ifup eth1=work

    will permit eth1 to only connect to an access point with an SSID of "2WIRE162" and a WEP key of "0642243084".

    WPA encryption, unlike WEP, provides real security, but is a little complicated to setup and will not be covered here. If you want WPA, you need to configure a piece of software called "wpasupplicant".

    posted at: 09:13 | path: /Linux/Debian | permanent link to this entry

    Wed, 09 Sep 2009

    /SW/browser/Chrome: Chrome vs. Firefox

    I will probably not part ways soon with Firefox because of its vast library of very useful plugins. But Google's Chrome is quickly becoming my essential second browser. There is of course the much publicized feature that every tab in Chrome runs in its own thread, therefore the contents of one tab locking-up do not effect the other tabs.

    But Chrome also generally seems to be faster, and I have found at least one huge (for those of us living in bandwidth-starved regions of Asia) Chrome advantage in the https domain: when bandwidth is truly awful and Firefox sits quietly going nowhere for half an hour, Chrome succeeds in bringing down the page, sometimes in just a couple of minutes. The difference between a couple of minutes and a half hour to never is truly vast. No contest. Note that I have not yet tested this for http.

    [1] http://code.google.com/intl/en/chromium/

    posted at: 09:10 | path: /SW/browser/Chrome | permanent link to this entry

    /SW/business/KnowledgeTree: Installing a New KnowledgeTree instance

    If this is a first install on a new server, this guide[1] is a must read. Some of the highlights:

    apt-get install apache2 php5 php5-curl php5-mysql mysql-server mysql-client xpdf zip unzip catdoc pstotext

    apt-get install python-reportlab python-imaging python-uno antiword sun-java5-jre sun-java5-bin lynx openoffice.org-java

    And do not forget to bump memory_limit up to at least 64 in /etc/php5/apache2/php.ini.

    Get the latest source tarball from here[2][3].

    In your desired web root, make a copy of knowledgetree for this instance, then sim link a simpler name, ie.

    tar -xvf ktdms-src-oss-3.5.4a.tgz 
    mv kt-dms-oss/ kt-dms-oss-3.5.4a
    ln -s kt-dms-oss-3.5.4a/ knowledgetree

    Give ownership to the web server process:

    chown -R www-data:www-data kt-dms-oss-3.5.4a
    Create a new MySQL database for the new instance:
    #  mysql -u root -p
    Enter password: mr4gvc7s
    mysql> create database apps_kt;
    mysql> grant all on apps_kt.* to 'apps_kt'@'%' identified by 'password';
    flush privileges;

    Edit config/config.ini to agree:

    dbName           = apps_kt
    dbUser           = apps_kt
    dbPass           = password
    dbAdminUser      = apps_kt
    dbAdminPass      = password
    Now import the database from sql/mysql/install:
    mysql -u root -p apps_kt < structure.sql
    mysql -u root -p apps_kt < data.sql
    Separate out the configuration and the data:
    mv knowledgetree/var/ kt-var
    mv knowledgetree/config/config.ini kt-config.ini
    cd knowledgetree
    ln -s ../kt-var/ var
    cd config/
    ln -s ../../kt-config.ini config.ini

    Now login to the new KnowledgeTree instance with the default:

    user: admin
    password: admin

    and change the admin password.

    Anticipated path for upgrading to a new version of Knowledgetree:

    [1] http://wiki.knowledgetree.com/Debian_4_Installation_Instructions#Grab_a_few_more_packages
    [2] http://www.knowledgetree.com/try-now/knowledgetree_open_source_download
    [3] http://www.knowledgetree.com/products/opensource/downloadopensource

    posted at: 08:46 | path: /SW/business/KnowledgeTree | permanent link to this entry

    Tue, 01 Sep 2009

    /SW/fileSharing/mldonkey: mldonkey P2P File Sharing

    mldonkey[1] is kind of a special beast among P2P file sharing software in that it is basically a headless server, with GUIs being more or less an after-thought that in my experience do not really work. I started using mldonkey because I was specifically looking for headless software to run on the Donkey[2] and Kademlia[3] networks, and have found it quite simple to operate from a telnet command line.

    Defaults are all quite sane except that Kad is turned off by default, ie. this setting must be changed in downloads.ini:

    enable_kademlia = true

    Connect to and control mldonkey thusly:

    ssh user@server.com
    telnet localhost 4000
    auth admin ""

    where "mlnet" starts the mldonkey server, and the "auth" line logs in to the server. At the admin prompt, here are a subset of commands[4] that I personally find useful:

    start download: dllink <link> view download status: vd list connected servers: vm list server id assignment: id kad_boot 4166 kad_dump_known_peers kad_stats kad_load <filename> : load the peers from a contact.dat file search: s <search-text> view all queries: vs view results: vr <query-number> download search result: dd <size> <md4> exit: q stop server: kill

    [1] http://mldonkey.sourceforge.net/
    [2] http://mldonkey.sourceforge.net/EDonkey2000
    [3] http://en.wikipedia.org/wiki/Kad_Network
    {4] http://mldonkey.sourceforge.net/MLdonkeyCommandsExplained

    posted at: 02:26 | path: /SW/fileSharing/mldonkey | permanent link to this entry