@sam1920,
Here's a secret that I hope will empower you.
It does not matter whether what he says when he yells is true or not. It does not matter if he is angry. It does not matter if you really aren't a perfect mother or whatever he is claiming.
All that matters is that he does this. And it hurts you. And you let him.
Do you want to be doing this for the rest of your days? Forget the kiss with your friend (despite the fact that it was horribly disrespectful). This guy just doesn't seem to see anything wrong with being nasty to you.
And you might not want to be listening to his crap anymore, when you're 45 and have been listening for 20 years and you've been so worn down by his animosity that you think there's nothing else out there for you.
Seriously consider whether fixing this relationship (assuming you even could) would be at all worth it, for you and your child(ren) and make your decision based on that.