Tube-like Tool that sticks to the surface of a mesh

Tube settings / snapping / every point

More in detail here, discussing issues with rotation.