Netatalk

Last updated
Netatalk
Original author(s) University of Michigan
Developer(s) Contributors to the Netatalk project
Initial release1990;35 years ago (1990)
Stable release
4.3.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 7 September 2025
Repository https://github.com/Netatalk/netatalk , https://gitlab.com/netatalk-team/netatalk
Written in C
Operating system Unix-like operating system
Type remote access
License GNU General Public License, version 2.0
Website https://netatalk.io/

Netatalk (pronounced "ned-uh-talk") [2] is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers running macOS or Classic Mac OS.

Contents

Netatalk was originally developed by the Research Systems Unix Group at the University of Michigan for BSD-derived Unix systems [3] and released in 1990. Apple had introduced AppleTalk soon after the release of the original Macintosh in 1985, followed by the file sharing application AppleShare (which was built on top of AFP) in 1987. This was an early example of zero-configuration networking, gaining significant adoption in educational and small to mid size office environments in the late 80s. Netatalk emerged as a part of the software ecosystem around AppleTalk.

In 1986, Columbia University published the Columbia AppleTalk Package (CAP), which was an open source implementation of AppleTalk originally written for BSD 4.2, allowing Unix servers to be part of AppleTalk networks. [4] CAP also had its own implementation of AFP/AppleShare, but Netatalk appearing in 1990 claimed better performance due to software design advantages. [5] CAP and Netatalk were also interoperable, the latter being able to be run on an AppleTalk backend provided by CAP.

Since Classic Mac OS uses a forked file system, unlike the host operating systems where Netatalk would be running, Netatalk originally implemented the AppleDouble format for storing the resource fork separately from the data fork when a Mac OS file was transferred to the Unix-like computer's file system. This was required in order not to ruin most files by discarding the resource fork when copied to the Netatalk served AppleShare volume. With the release of Netatalk 3.0, the backend was re-implemented to use the Extended Attributes format that Apple had introduced with Mac OS X for backwards compatibility with Classic Mac OS resource forks.

Development history

Netatalk was created by Wesley Craig at the University of Michigan in 1990. In November 1995, version 1.3.3 was released [6] which turned out to be the final stable version of Netatalk from the original developer. New in version 1.3 was AppleTalk Phase II support, plus the ability to run on Linux hosts.

In 1997 Adrian Sun created a popular fork based on the Netatalk 1.4 beta 2 release, coding the initial implementation of the then-new AppleShare IP (AFP over TCP/IP) network layer. [7]

The Netatalk project was moved to SourceForge for revision control in July 2000. Starting from version 1.5 released on New Year's Eve in 2001, the license was changed to the GNU General Public License rather than the previous BSD license. [8] This version succeeded in de-forking the project and brought over all improvements from the aforementioned fork, including Apple II client support, encrypted authentication, and AFP 2.2 compliance. [9]

In October 2004 Netatalk 2.0 was released, which brought major improvements, including: support for Apple Filing Protocol level 3.1 (providing long UTF-8 filenames, file sizes > 2 gigabytes, full Mac OS X compatibility), CUPS integration, Kerberos V support allowing true "single sign-on", and a more reliable file and directory ID database backend.

Since version 2.0.5 in 2009, Netatalk supports the use of Time Machine over a network in a similar fashion to Apple's own Time Capsule. With version 2.2 released in July 2011, Netatalk introduced support for AFP protocol level 3.3, the penultimate revision of the protocol.

Version 3.0 of Netatalk was released in July 2012 and added ini style configuration, and Mac OS X compatible Extended Attributes as default, while removing AppleTalk networking support.

Netatalk 3.1, released in October 2013, added Spotlight support in addition to improved SMB interoperability. [10] [11] A subsequent bugfix release added support for AFP level 3.4 (introduced in OS X Mountain Lion) which is the final revision of the protocol from Apple.

Netatalk 4.0 was made available in September 2024, bringing back the support for AppleTalk removed in 3.0, while introducing support for tunneling TCP/IP traffic to MacIP, which allows LocalTalk-only Macs to connect to the Internet. The previously stand-alone Netatalk Webmin module for system administration, and the AFP test-suite were also bundled with Netatalk 4.0. In Netatalk 4.3, a SQLite CNID backend was added as a future-proof alternative to Berkeley DB which had been the database backend of choice since the v1.x release series.

At the time of writing, Netatalk runs on the Linux, FreeBSD, OpenBSD, NetBSD, Solaris, illumos, and macOS operating systems.

AppleTalk

In all Netatalk versions except the 3.x release series, the AppleTalk (DDP) protocol suite is used to allow Unix-like operating systems to serve also as print (PAP via a CUPS backend) and time (Timelord) [12] servers for Macintosh computers.

Networked Apple IIe and Apple IIGS computers can be netbooted from a Netatalk shared volume. Additionally, a suite of tools for inspecting and manipulating AppleTalk networks, as well as printing to LocalTalk connected printers from modern systems is included.

Commercial use

Netatalk is (or was previously) integrated into a range of NAS solutions, including Buffalo NAS systems, Exanet ExaStore, [13] Iomega's Home Media Network Hard Drive, [14] IXsystems TrueNAS, LaCie NAS OS, Lime Technology unRAID, [15] Napp-it, [16] Netgear ReadyNAS, QNAP NAS, Synology DiskStation, Thecus NAS, [17] and more. [18] [19]

In 2010, a company called NetAFP run by a group of Netatalk maintainers started providing commercial support for enterprise deployments of Netatalk. [20] The company merged with German Samba vendor SerNet in December 2013, signaling the end of commercial support for Netatalk in favor of SMB, which Apple had made the primary file sharing protocol with the release of Mac OS X Mavericks that same year. [21] The NetAFP website was shut down in early 2022.

Netatalk Logo, captured from the University of Michigan's website in 2000 Netatalk Logo (1996).gif
Netatalk Logo, captured from the University of Michigan's website in 2000

While a project at the University of Michigan, Netatalk's logo was the head of the BSD Daemon on a daisy chained serving tray, mimicking the icon design language that Apple used for AppleTalk and AppleShare in Classic Mac OS. [22]

A new stylized Daemon logo was introduced with Netatalk 2.0. [23] This is the logo that the project uses to this day.

See also

Notes

    References

    1. https://netatalk.io/4.3/ReleaseNotes4.3.2.{{cite web}}: Missing or empty |title= (help)
    2. "Netatalk FAQ". Research Systems Unix Group. The University of Michigan. Retrieved 14 September 2025. How do I pronounce netatalk? Ah, good question! The unenlightened often mis-pronounce this word \'net-'a-to.k\. The correct pronunciation is \'ned-*-to.k\ (the 't' is soft, like d, and the first 'a' is a schwa).
    3. "Netatalk FAQ". Research Systems Unix Group. The University of Michigan. Retrieved 14 September 2025. netatalk is a kernel-level implementation of the AppleTalk Protocol Suite, originally for BSD-derived systems.
    4. "Mabam/CAP". GitHub .
    5. "Netatalk FAQ". Research Systems Unix Group. The University of Michigan. Retrieved 14 September 2025. The primary difference between netatalk and CAP is structure, in two ways. First, netatalk is a kernel-level implementation of AppleTalk. This means that packet reception in general and routing in particular are both efficient and easy to implement. It also means that new link-layers (e.g. we support some FDDIs, one could add PPP) can easily be added. CAP, on the other hand, relies on several less efficient tho more available methods (e.g. DDP-over-UDP, NIT, Berkeley Packet Filters). The second structural difference is in coding style. netatalk is an integration of AppleTalk into the Berkeley Unix networking paradigm. All of the semantics useful to the UDP/TCP programmer are useful to the netatalk-AppleTalk programmer, e.g. sendto(), select(). In contrast, CAP is written with the semantics of MacOS.
    6. Wesley Craig (17 November 2025). "netatalk 1.3.3". netatalk-admins (Mailing list). Retrieved 14 September 2025.
    7. Bill McGonigle (2 March 2001). "Netatalk Faq-O-Matic". Netatalk Faq-O-Matic. Archived from the original on 2 March 2001. Retrieved 12 January 2023. Over the past couple years Adrian Sun has pretty much taken over the application development and has added a slew of new features, including AFP over TCP and bug fixes.
    8. The Netatalk Development Team (31 December 2001). "Netatalk 1.5 The New Year's Release" . Retrieved 14 September 2025. Starting with version 1.5pre7, Netatalk is now licensed under the GNU General Public License (GPL), which is used by many Open Source/Free Software projects as their license of choice. We chose this license to allow us to develop Netatalk as freely as possible and to ensure that Netatalk will stay free in the future.
    9. "Netatalk Roadmap". 14 September 2025.
    10. "Netatalk 3.1.0" . Retrieved 14 September 2025.
    11. "11. Sharing". FreeNAS® 11.2-U3 User Guide. 11.1. Apple (AFP) Shares. Retrieved 2014-01-02.
    12. "Mac Time Client/Server". The University of Melbourne. 19 February 1996. Archived from the original on 3 March 2001. Retrieved 12 January 2023. The tardis/Timelord package allows the Macintosh time to be set over an AppleTalk network from a Macintosh or UNIX/CAP based time server.
    13. P. V. Anthony (2005-09-19). "Netatalk / Re: [Netatalk-admins] Video Editing". netatalk-admins (Mailing list). Retrieved 2019-02-17.
    14. "Serial port (Home Media)". NAS-Central Iomega Wiki. Archived from the original on 2018-08-17. Retrieved 2019-02-17.
    15. "Release Notes". unRAID Wiki. Retrieved 2019-02-17.
    16. "napp-it // webbed ZFS NAS/SAN appliance for OmniOS, OpenIndiana and Solaris : Extensions" . Retrieved 2019-02-17.
    17. "N0204 beta firmware V3.00.10.1". Thecus. Retrieved 2019-02-17.
    18. Ralph Böhme (September 22, 2011). "Status of Netatalk and AFP support by NAS vendor, update" . Retrieved 2019-02-17.
    19. Ralph Böhme (January 18, 2011). "Status of Netatalk and AFP support by NAS vendor" . Retrieved 2019-02-17.
    20. "NetAFP Netatalk Support". NetAFP. 15 August 2010. Archived from the original on 15 August 2010. Retrieved 11 January 2023.
    21. Ralph Böhme (11 December 2013). "SerNet expands Apple Support – NetAFP joins SerNet". SerNet. SerNet Service Network GmbH. Retrieved 11 January 2023. SerNet is joined by Ralph Böhme from NetAFP to further strengthen the SAMBA team. Böhme is the main developer of Netatalk, a free AFP implementation for Linux servers. [...] "Many users and manufacturers use Netatalk as Linux servers for Apple clients. Over the next two years, they need to migrate to SMB," says Ralph Böhme.
    22. "Research Systems Unix Group: Netatalk". Archived from the original on 2019-03-14.
    23. "Netatalk 2.0 Manual" (PDF). 3 January 2005. Retrieved 14 September 2025.