Thursday, July 15, 2010

Free Windows NFS Client

If you need a free NFS windows client that works on windows (7/Vista/XP/2003 - x32 and x64) you can download a free nfs client that I made time ago in order to test nekodrive's nfs libraries.
It's very basic but it works pretty well and supports NFS v2 and v3.
It's just an exe file and a couple of dll, you don't need to install this software.

check this out here http://nekodrive.googlecode.com/files/NfsTestClient.zip

Thursday, May 13, 2010

Using DotRas

In those days I'm trying to use DotRas library in my WPF project. DotRas is a fantastic library that let you create and use a RAS/VPN connection.. In my scenario I have one application that has to activate a 3G connection (using an USB modem )in order to contact a WCF data service.
I downloaded DotRas 1.1 from the official codeplex website (dotras.codeplex.com) and I added a reference on my WPF app.. The code is quite simple:

using DotRas;

....

RasDialer dialer;

private void Connect()
{
dialer = new RasDialer();
dialer.PhoneBookPath = @"C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk";
dialer.EntryName = "TEST";
dialer.Dial();
}

Before start the program you have to create the PhoneBookEntry double clicking on rasphone.pbk or in XP Start-->Settings-->Control Panel-->Network Connection:
  • create a New Connection
  • Select the Connect to the Internet --> Next
  • Select Set up my connection manually --> Next
  • Select Connect using a dial-up modem --> Next
  • Select the modem to be used --> Next
  • Type the ISP name that must be the dialer.EntryName --> Next
  • Type the Phone number depending on your ISP. For the provider I'm using is *99# --> Next
  • Fill the account information depending on your ISP --> FINISH!
DotRas can also help to create the network connection programmatically in the code, but in my case I don't need this..

NFS client c# library 0.4.2.3

You can separately download the open source NFS client c# library 0.4.2.3 here:

http://nekodrive.googlecode.com/files/NFSClientCSharp_0_4_2_3.zip

This library is under LGPL license.

Wednesday, May 12, 2010

How to use the NFS Client c# Library

I add a wiki page that explains how to use the NFS Client c# .net library in your project.

NekoDrive uses a Library written in C# on .NET 2.0. that wraps the C++ NFS implementation. In order to use this library in your project download NekoDrive and copy in your project NekoDrive.NFS.dll, NFSv2.dll and NFSv3.dll. Add a reference in your project to NekoDrive.NFS.dll. Don't forget to include NFSv2.dll and NFSv3.dll as a content to deploy.

you download this library here:

http://code.google.com/p/nekodrive/

Example 1 - Connect to NFS server and get the exported devices

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using NekoDrive.NFS;
using NekoDrive.NFS.Wrappers;


namespace Example1
{
class Program
{
static void Main(string[] args)
{
using(NFS nfs = new NFS(NFS.NFSVersion.v2))
{
if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
{
foreach(string device in nfs.GetExportedDevices())
Console.WriteLine(device);
nfs
.Disconnect();
}
}
}
}
}

Example 2 - Connect to NFS server, mount the first exported device and get the file list

namespace Example2
{
class Program
{
static void Main(string[] args)
{
using(NFS nfs = new NFS(NFS.NFSVersion.v2))
{
if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
{
List devices = nfs.GetExportedDevices();
if(devices.Count > 0)
{
if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
{
foreach(string item in nfs.GetItemList())
{
NFSAttributes attrib = nfs.GetItemAttributes(item);
Console.WriteLine(item + " " + attrib.cdateTime.ToString() + " " + attrib.size);
}
nfs
.UnMountDevice();
}
}
nfs
.Disconnect();
}
}
}
}
}

Example 3 - Connect to NFS server, mount the first exported device and download a file in the root folder (.)

namespace Example3
{
class Program
{
static void Main(string[] args)
{
using(NFS nfs = new NFS(NFS.NFSVersion.v2))
{
if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
{
List devices = nfs.GetExportedDevices();
if(devices.Count > 0)
{
if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
{
if(nfs.Read("test.txt", ".", @"c:\test.txt") != NFSResult.NFS_SUCCESS)
Console.WriteLine(nfs.GetLastError());
nfs
.UnMountDevice();
}
}
nfs
.Disconnect();
}
}
}
}
}

Example 4 - Connect to NFS server, mount the first exported device and upload a file in the "test/sub" subfolder

namespace Example4
{
class Program
{
static void Main(string[] args)
{
using(NFS nfs = new NFS(NFS.NFSVersion.v2))
{
if (nfs.Connect(IPAddress.Parse("161.55.201.250")) == NFSResult.NFS_SUCCESS)
{
List devices = nfs.GetExportedDevices();
if(devices.Count > 0)
{
if(nfs.MountDevice(devices[0]) == NFSResult.NFS_SUCCESS)
{
if(nfs.Write("test.txt", "test/sub", @"c:\test.txt") != NFSResult.NFS_SUCCESS)
Console.WriteLine(nfs.GetLastError());
nfs
.UnMountDevice();
}
}
nfs
.Disconnect();
}
}
}
}
}

Saturday, May 8, 2010

What is NekoDrive

The target of this project is to implement NFS (Network File System v2/v3/v4.1) over the Dokan user file system for windows. This let you mount very easily an NFS export as a local windows drive. You don't need any NFS windows client to access the NFS remote export, you can just use microsoft explorer.
NekoDrive makes Mounting NFS Linux shares very easy, and it's free!

NekoDrive 0.4.0.1

A new version of NekoDrive is out:
  • now you can set your own label on the mounted NFS drive

http://nekodrive.googlecode.com/files/NekoDrive_0_4_0_1_x86.zip

Friday, May 7, 2010

NekoDrive 0.3.2.2

NekoDrive 0.3.2.2 Virtual NFS Drive for windows is out!

in this version:
  • The download/upload speed has been dramatically improved (x3).
http://nekodrive.googlecode.com/files/NekoDrive_0_3_2_2_x86.zip

Wednesday, April 28, 2010

NekoDrive 0.3.0.1

This version adds the following features:
  • Auto start option
  • Auto mount option
  • When reduced to icon now it goes in the system tray
  • It executes explorer on the mounted drive automatically
  • Read/Write now is much faster and support big files but always with V2 Limit
Known Issues:
  • You must disable recycle bin on this drive by right click on the trash iconProperties, select the drive and chec
http://nekodrive.googlecode.com/files/NekoDrive_0_3_0_1_x86.zip

Tuesday, April 27, 2010

NekoDrive 0.2.6.1

This version fixes the following issues:

  • Cannot read/copy files > 65000 bytes

http://nekodrive.googlecode.com/files/NekoDrive_0_2_6_1_x86.zip

Saturday, April 24, 2010

NekoDrive 0.2.5.1

This version works much better than before:
  • Full tree browsing
  • Move files from/to subdirectories
  • Edit files from subdirectories
  • Options are saved for the next time you open the program
It has known issues:
  • when you delete files the Recicle Bin isn't handled correctly
  • sometimes the files aren't opened correctly
  • the V3 Protocol doesn't work yet properly so I removed from the selectionsbut I'll fix it in the next release.

You can download here http://nekodrive.googlecode.com/files/NekoDrive_0_2_5_1_x86.zip

Thursday, April 15, 2010

Patcher .NET 1.0.4 released

Is available to download Patcher 1.0.4 with relative path support!

Thursday, March 4, 2010

NekoDrive Release 0.2.0.1

today I released the 0.2.0.1 version, that allows you to copy and paste
files from/to an NFS export. There are still many bugs that will be fixed in the next
releases. Stay tuned! :)

Wednesday, March 3, 2010

Finally I released an alpha version of nekodrive (0.1.0.2).
It's still full of bugs but you can access to a remote NFS v2/v3 device and see the files and atributes.

check this out here

Wednesday, February 17, 2010

I decided to release to the open community two of my projects:

Patcher .NET is a patch generator for windows programs fully written in C#. It creates a single .exe file that embeds files to be copied on the target system, sql server script and more.รน
The license if MIT and the current release is 1.0.2.

Check it out here:
http://code.google.com/p/patcher-dot-net

NekoDrive is a NFS virtual drive for windows. You can mount a remote NFS exported device on a local drive. Is written in C, C++ and C#. It uses a modified version of oncrpc with 64bit data types support. Currently I developed NFS v2 and v3 protocol, the C# wrapper and a test NFS GUI Client. Next step will be to integrate the wrapper with the Dokan virtual file system.
The project is under GNU GPL v3 license and but the libraries are under LGPL so you can integrate those in your project.

Check it out here:
http://code.google.com/p/nekodrive/