I am 20 years old and a good boy, overall. I discovered pornography and masturbation at about age 13 or so. I got very into both of those things and etched those neuron pathways in good and deep, turning it into an addiction. I've tried to stop countless times, but just couldn't.
This year in yeshiva is my strongest year ever. So far I've had a 42 day campaign, followed by a 33 day campaign (on the GYE chart). And now that I'm on the forum, I hope to get lots of support from my holy brothers here, and to give lots of support to others as well.
Although I have not made it to Day 90 yet, I've assembled a list of things that work for me. Perhaps others can learn something from it. There are 3 categories:
The base level of trouble with regard to masturbating is physically stimulating the milah. Obviously touching the milah deliberately to excite is problematic, but even just casually rubbing or flicking or whatever can be problematic. Therefore, my first rule is never to touch the milah ever under any circumstances. Also, if a certain body position is associated with masturbation you must avoid it. For example, I psychologically associate lying on my back with this sin, so I make sure to never lie on my back. (All these tips are Halachos as well).
The handbook talks about this and it's pretty obvious, but you have to do your best to stay away from any and all inappropriate visual contact with anything triggering. Thank G-d I don't have an issue with the internet because I have a great filter, but even one glimpse at an attractive woman can set me haywire sometimes, if she strikes me a certain way.
Therefore, one must avoid women in general, and if you must go out, make sure to enter "low-scan mode". That means to lower your gaze so you can see in front of you about 5-10 feet, so you don't see women from far away.
Fantasies come and go even to the greatest of people. You can't feel bad about the fact that you get them, because everyone does. The problem is when we continue thinking about them. The way to deal with fantasies is to distract yourself with other things.
THE BIGGEST YESOD IN FIGHTING THE YETZER HARA IN GENERAL, IS TO REALIZE THAT HE IS STRONG AND WE ARE WEAK. How does one win a battle like that? By running away. Every time you feel a battle coming you MUST distract yourself immediately. (For me, learning or reviewing math helps distract me a lot).