This page replaces the old wiki page Developers.GettingStarted.QuickGuide. The original step-by-step instructions are not recoverable and toolchains have changed since, so we split this into a historical overview and modern, generic guidance. Neither part is official project documentation.
Historical overview
- Language and frameworks: C++ with Microsoft Foundation Classes (MFC) and the Boost libraries.
- Platform: Windows desktop application.
- Version control: Subversion, hosted by SourceForge. Wikipedia lists the repository as
svn.code.sf.net/p/shareaza/code/. - License: GPL-2.0-or-later since the 2.0 source release on 1 June 2004.
- Releases: stable versions plus revision-numbered debug builds for testers, for example the 2.4.0.x builds in early 2009. See the 2.4 changelog page.
Getting the source today
# Read-only checkout of the official repository (Subversion)
svn checkout https://svn.code.sf.net/p/shareaza/code/trunk shareaza-trunk
If trunk isn’t the layout you expect, browse the repository on SourceForge first and check for branches and tags.
Modern guidance for a legacy MFC codebase
- Build in a disposable environment. Use a Windows virtual machine with the Visual Studio C++ workload and the MFC component installed. Legacy projects often need older platform toolsets or project upgrades.
- Expect dependency drift. Old Boost and third-party library versions may not compile with current compilers. Pin versions rather than upgrading everything at once.
- Treat network code as hostile-input code. P2P parsers handle untrusted data from the internet. Enable compiler hardening (
/GS, ASLR, DEP, Control Flow Guard) and fuzz parsers before running a modified build on a public network. - Don’t redistribute unofficial builds as “Shareaza”. Use a different name for forks to avoid confusing users, which was the core harm of the fake Shareaza sites.
- Respect the GPL. If you distribute binaries, provide the corresponding source.
Where to talk to the project
Use the official channels listed on our support page.