Making seamless, scalable objects
You can do this by using Position texture coordinates.

Just use the Position output of the Input > Geometry node for your texture coordinates.  This uses absolute world-space instead of the scaled local-space, so the textures will not be stretched.  To get it to map from all directions, select Box on the image texture node.