I am not sure if this is still relevant to you but I will make the following suggestions that have helped me have that click moment when it comes to proofs.
1) You need to realize how important definitions are. How can you prove a statement involving a concept that you do not fully grasp? It is essential to develop an intuition about the concepts: Why did we need to define X? Why is it relevant? Find examples that are concrete and familiar to you but also try to look for examples that feel "weird".
As the next step you should try to feel very comfortable with the formal definition and be able to manipulate it easily ( for example, if it involves epsilons and deltas). You will find that this often comes easily if you have a good intuitive grasp of the concept.
2) Start with "follow your nose" type of proofs: If you have to prove a theorem and the only tool you have is a definition then often the proof will only involve manipulating a definition in a more or less straightforward way. After practising these for a while, they will come very naturally to you, no matter the area of mathematics you are studying.
3) Following an analogy from one of my lecturers : "Maths is like a beach filled with rock pools. Each rock-pool requires a different sneaky trick to cross it and some of the sneaky tricks that you learn crossing one rock-pool can be applied to others." I think it is important for you to actively read different kinds of proofs and figure out what the key ideas and tricks are. You will often find that there are standard ways to attack certain types of proofs, often one ingenious trick that seemed completely mysterious when you first saw it becomes a standard thing to try an will come naturally to you.
4) When trying to prove a statement first do a draft version. Look closely at what you have to show. How can you simplify the result you are trying to get? After you have simplified it , are there any theorems that seem appropriate? Look closely at the assumptions, play with the concepts and what you can deduce from the assumptions.A couple of strategies will come to you and often one of them will work! Try to get the general idea of the proof and only afterwards should you care about formalizing it and filling in the details.
5) Learn form proofs you read. Why would someone try a certain trick to attack this specific problem? What in the statement of the result prompts towards a given strategy or theorem? Even when things in proofs seem to come from nowhere and there are certain steps that you think you would have never thought of, it is very instructive to look hard for clues that would suggest trying those routes.If you really can't find anything either discuss it with someone or file that trick under those "sneaky tricks" that you can apply to other rock-poles. You will eventually find that when you first read a statement you are trying to prove you automatically jot down some possible strategies from prompts in the statement.
6) Be very careful not to assume things that might seem intuitively clear to you whereas in fact there is some weird counter-example that proves you wrong. This tends to happen when one is time pressured or frustrated so look out for that!
I hope some of this helps :).
P.S: I am an undergraduate so take this with a pinch a salt. Also I apologize if I have not expressed myself very well, English is not my first language and these kind of things are often hard to explain. If someone feels like they can express any idea better please feel free to edit my answer.