Skip to content
Mike edited this page Mar 14, 2024 · 6 revisions

Introduction

In the mid-late 90's I worked at Microsoft in the Windows Networking division as a tester on a product called Services for Macintosh (SFM). SFM was only available on Windows Server, so it was generally out of reach of everyday users so they could share files easily between their Macs and Windows machines.

I always wanted a simple server solution so I could share files between my own Windows and Mac clients. So, years later, I started development on a user-mode solution that would provide personal file sharing between the two platforms simply by launching an app on Windows. This Personal AFP Server was written from the ground up, starting from scratch spanning decades of on-and-off development.

I got it generally working well enough to meet my needs, but after a while it just sat around and I didn't even use it anymore. Recently however, I got back into the Retro/Classic Macintosh scene and realized I needed it again, so I resurrected the project. The codebase needed modernization and updating and many bugs needed to be addressed.

So, here we are today with the v2.0.0 release, which is the first release of the server to anyone but myself.

Technical Details

Here are some details you may find interesting about how the server was developed...

  • The server is developed using C++ and has been updated to the latest C++20 standard where applicable.
  • Windows NTFS file streams are used to accommodate the different "forks" of a Macintosh file. The streams are also used to hold other metadata for the Macintosh files, such as FinderInfo and character mapping tables for mapping Macintosh file names between Mac and Windows.
  • The server can maintain an unlimited number of Macintosh client connections. However, the server was ultimately designed to serve as a personal file server, so I would not try to accommodate more than a few connections simultaneously as large numbers of simultaneous connections have not been thoroughly tested.
  • The server uses the built-in file and user security model on the Windows client. So, Macintosh clients can only do to your file system what you configured the Windows file system to allow or deny for specific users. As a general rule however, it is not recommended to put your server on the internet or questionable public networks as there has not been extensive testing performed on the security of the server.
  • Apple Filing Protocol (AFP) versions 2.2 through 3.2 are supported (mostly).
  • Only AFP over TCP/IP is supported, AppleTalk connections are not, sorry.

NOTE: The server was designed for personal use on a local network only. Use at your own risk!

Accessing shares from the Mac

To access shares you have shared out using the Personal AFP Server, open the Chooser on the Mac client (MacOS), or use server connect (MacOS X). On MacOS, use the Server IP Address button in the chooser to enter your Windows computer's IP address.

chooser_ip

Enter the credentials for a Windows user account. It is recommended that you create an account specifically for logging into the server from a Mac. Remember you will be using old technology for encrypting your passwords between the Mac and this AFP Server.

chooser

Finally, choose the volume(s) you wish to mount.

volumes

Clone this wiki locally