You need an oxidizing agent in a base that keeps it in contact with the plastic and is prevented from drying out. To quicken the process UV light (Sunlight or black light) is used.
One of the easiest agents to obtain is indeed hydrogen peroxide; less than 12% (in hair products this is 40 volume) seems to take too long: 15% oxidizes skin; 30% can launch a V2 rocket and explode. A thickened 12% peroxide cream is found in the UK as "B Blonde." In the US Redkin makes one. This precludes the mixing as in Retr0brite. It does need to be prevented from drying out as in plastic wrap (or reapplication every 15 minutes -- that was not my recommendation). Left in sunlight for anywhere from 3 to 12 hours depending on how much it needs. Some folks use black light at night or just leave it longer. The crucial issue is checking on it at regular intervals. Over oxidation will lead to brittle plastic. After you are happy with the color, rinse well. Temporarily you can coat it with a UV repellant like Armor All; long term polyurethane will work. Untreated it will reyellow in a few months as the Bromine redistributes itself.
Caveat: Clean every bit of dirt off the plastic before treatment or you will be unhappy with the results -- like cleaning your bathroom tile and leaving the grout filthy black.
There are tomes on this subject. An informed consumer is a less nasty one.