Green’s Dictionary of Slang

no shit! excl.

[shit n. (4a)/crap n.1 (4)]
[1930s+]

1. an excl. of surprise (‘really?’ ‘honestly?’) or ironic surprise (‘you don’t say!’).

2. (also no crap!) an excl. of affirmation, I mean it, this is the truth.