Buying a decent gasoline can in the US (retail) can be a challenge.
The original spout design (Home Depot, Lowes etc.) was an overcomplex mishmash of a locking mechanism with a spring-loaded thing going on. It had like 5 pieces and maybe worked for about 6 months before moisture got to the spring. It didn't function at all at that point and was frustrating when gas didn't come out.
This replacement does exactly what you want a spout to do, and uses the same components (gasket, screw-on base, and yellow end cap) and functions with a breather tube.
I chose Polycarbonate for a material for its improved resistance to gasoline and solvents, but if you don't have it a PLA plus may work out for you.
The breather tube is a press-fit into the bottom of the spout to better pour gas when tipped, or add a bit of superglue for some insurance. Print it flat on its side (has a flat surface).
Solidworks file is included for any modifications you need.
The author marked this model as their own original creation.