Put the pork into a large soup pan. Cover the pork with water until it just covers the pork. Bring the water to a boil. Once the water boils, take out the pork and set aside. Pour out the water. Transfer the pork back into the soup pan and cover it with fresh water. This process will help to clean the pork and produce a clear broth.
Add in the onion, dried shrimp, and the salt. Bring the water to a boil. Reduce to low heat and simmer the soup for an hour.
While the soup is simmering, combine the 1 tablespoon of green onions, chili powder, and 2 teaspoons of oil in a pan. Cook for 10 seconds and set aside. Watch the green onions carefully because they burn easily.
Once the soup has simmered for an hour, add this mixture to the soup with the tomatoes. This mixture and the tomatoes will help give the soup its signature red color. Simmer for 30 minutes
As the soup is simmering, combine the eggs and crab paste in a small bowl. Whisk together and set aside.
Once the soup has simmered for 30 minutes, add in the egg/crab paste mixture, chicken broth, and fish sauce. Stir everything together. Once the egg and crab mixture floats to the top of the soup, the soup should be done (10-15 minutes).
Taste the soup to make sure there is enough flavor in the soup. If it tastes bland, add more fish sauce to the soup.
At this point, you can cut up the pork shoulder into bite sized pieces and add them back to broth. I personally just break it up with my ladle because they're so tender.
Now it's time to put it all together. Add some cooked vermicelli noodles to a bowl. Ladle some soup over the noodles. Make sure to add some of the crab egg mixture, tomatoes, and pork pieces to your bowl. Garnish with green onions and a squeeze of lime before serving.