Circle CI


Sambal is a ruby samba client

Quite a bit of code was borrowed from - Thanks!


Add this line to your application's Gemfile:

gem 'sambal'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sambal


A working installation of samba, specifically the "smbclient" command line utility. See for more information. On a mac this can be installed through homebrew, like this:

brew install samba

On the Mac it can probably also be installed both through Fink and MacPorts.

On Linux (Ubuntu) it's as easy as:

apt-get install smbclient

It should be available in a similar way on all major Linux distributions.


client = 'WORKGROUP', host: '', share: '', user: 'guest', password: '--no-pass', port: 445) # returns hash of files
client.put("local_file.txt","remote_file.txt") # uploads file to server
client.exists?("remote_file.txt") # checks if file is on server
client.put_content("My content here", "remote_file") # uploads content to a file on server
client.get("remote_file.txt", "local_file.txt") # downloads file from server
client.del("remote_file.txt") # deletes files from server
client.exists?("some_directory") # checks if directory is on server"some_directory") # changes directory on server
client.close # closes connection


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request