Expat-IT Tech Bits

Home

Contact

Links

Search this site:

Categories:

/ (287)
  Admin/ (122)
    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/ (6)
      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/ (30)
    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)

Archives:

  • 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.
    PyBlosxom

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

    Thu, 11 Jul 2013


    /SW/fileSharing/btsync: BitTorrent Sync

    Your own personal "dropbox". The puppet configuration below is for my personal convenience in deploying to multiple machines. BitTorrent Sync[1] is really easy to install and use without Puppet. On each machine you want to sync, just put the btsync in some convenient subdirectory, start it from within that directory, point your browser to http://localhost:8888/, and there tell it which directory to sync and what the shared "secret" is for that directory, and it should then just work for machines on the same network. Without further ado, here is my Puppet module:

    class btsync ($syncdir) {
    
        # BitTorrent Sync: setup of multiple nodes
        #
        # Note that because btsync is not yet packaged for Debian/Ubuntu, I am using
        # the sync directory to distribute new versions of btsync to the nodes. However,
        # this means the initial installation must be "primed" for a new installation:
        # place the btsync executable required on the new node in the sync directory, named
        # as "btsync_", ie. btsync_amd64 / btsync_i386 / btsync_x86_64 for most Linux people.
        #
        # Note that this configures all nodes with the same basic settings, but 
        # WITHOUT shares. You must login to the webUI at http://VPN-IP:8888/
        # and manually specify shares for each machine with this configuration.
        # This line
        #       "listen" : "<%= ipaddress_zentuxnet %>:8888"
        # in btsync.conf.erb is where I am setting the webUI listen restriction.
        # Replace with "0.0.0.0:8888" to allow connections from anywhere.
        #
        # btsync --generate-secret
    
        $btuser = 'btuser'
        $installdir = '/usr/local/btsync'
    
        user { $btuser:
            ensure => present,
        }
    
        file { "$installdir":
            ensure => directory,
            mode   => 740,
            owner  => $btuser,
            group  => $btuser,
            recurse => true,
            before => Exec['copybt'],
        }
        file { "$syncdir":
            ensure => directory,
            mode   => 640,
            owner  => $btuser,
            group  => $btuser,
            recurse => true,
        }
    
        # verify the latest version of btsync is installed (contained in the sync dir)
        exec { copybt:
            command => "cp $syncdir/btsync_$architecture $installdir/btsync",
            path   => "/usr/bin:/usr/sbin:/bin",
            unless => "diff $syncdir/btsync_$architecture $installdir/btsync >/dev/null",
            require => File["$syncdir"],
            notify => File["$installdir/btsync"],
        }
        file { "$installdir/btsync":
            ensure => file,
            mode   => 740,
            owner  => $btuser,
            group  => $btuser,
        }
        
        # configuration file for basic settings. Note that template is inserting
        # machine-specific values for:
        # * hostname
        # * webUI listen IP address (set to my VPN IP)
        file { "$installdir/sync.conf":
            ensure => file,
            mode   => 640,
            owner  => $btuser,
            group  => $btuser,
            require => File["$syncdir"],
            notify  => Service["supervisor"],
            content => template("btsync/sync.conf.erb"),
        }
        
        # supervisord because no init.d script. And keeps the thing running if it falls down.
        # Restart fails without the custom "restart" and the sleep period.
        package { 'supervisor': }
        service { 'supervisor':
            ensure     => running,
            restart    => "/etc/init.d/supervisor stop && sleep 3 && /etc/init.d/supervisor start",
            subscribe  => File['/etc/supervisor/conf.d/btsync.conf'],
            require => Package["supervisor"],
        }
        file { "/etc/supervisor/conf.d/btsync.conf":
            ensure => file,
            mode   => 640,
            owner  => root ,
            group  => root,
            require => Package["supervisor"],
            content => template("btsync/btsync.conf.erb")
        }
        
    }
    

    Two file templates are referenced, and can be downloaded from here:

    [1] http://labs.bittorrent.com/experiments/sync.html

    posted at: 03:18 | path: /SW/fileSharing/btsync | 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
    mlnet&
    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 121.7.215.212 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