If you want your users to actually, you know, use the program, they should be able to run the program. To be able to run a program, the CPU must be able to understand the program. Processors are much dumber than people, so this means that people can also understand the program.
If you confuse your program in such a way that people do not understand it, it also means that it cannot be executed.
If you do not want people to access your code, there is only one way: do not give them to them. Put it on the server and let your users connect to it through the network.
But all this is completely unnecessary, since your code is automatically protected by copyright law in any case, which is much more powerful than any obfuscation.
source share