Fathom is a Google Summer of Code project, under the M-lab umbrella. If you're a browser wizard or JavaScript guru and interested in building neat things at the intersection of research and applications, consider joining our GSoC projects and get in touch at fathom@icsi.berkeley.edu or in the #m-lab IRC channel.
The Fathom project explores the browser as a platform for network measurement and troubleshooting. It provides a wide range of networking primitives directly to in-page JavaScript. Using Fathom's APIs you get direct TCP/UDP socket access, higher-level protocol APIs such as DNS, HTTP, and UPnP, and ready-made functionality such as pings and traceroutes.
Fathom currently supports the Firefox browser in form of a JavaScript-only extension. We're aiming to support other browsers in the near future.
API docs are available.
As a proof of concept, Fathom currently includes a connectivity debugger that we built purely using Fathom's APIs. You can run the debugger at any time by clicking "Debug my connection" in Fathom's menu. The analysis also automatically kicks in whenever Firefox flags an error to the user:
Feel free to take a look at our recent IMC paper on Fathom for a lot more details about the platform.
If you have questions or suggestions, feel free to contact us at fathom@icsi.berkeley.edu.