Clean the duck well. Cut away the lumps of fat inside the cavity. Pat dry with paper towel.
Rub salt over the entire duck. Refrigerate overnight, about 12 hours.
Saute onions, ginger, and garlic till fragrant. Add remaining marinade ingredients. Once it’s boiling, lower the fire and simmer for 3 minutes. Set aside to cool.
Remove duck from the fridge. Tie the duck’s neck tightly with twine. Pour the marinade into the cavity and sew it securely with a trussing needle.
Place the duck head-down into a pot of boiling water. Ladle boiling water over any exposed portions of skin until it has contracted and tightened. The skin will look like tiny goosebumps.
Air dry the duck by hanging it head-down with a S hook through its neck. Place a pan underneath to catch any drip. Or place it on a cooling rack with a tray beneath and refrigerate uncovered. Air dry for 4-5 hours.
Measure maltose/honey into a small bowl, add rice vinegar and red colouring (if using). Dissolve with warm water. Brush mixture all over the duck. Repeat this step twice.
Preheat oven to 200C. Hang the duck in the oven or place on a rack above a baking pan. After you’ve placed the duck inside in the oven, insert a tray of boiling water at the bottom of the oven. Roast for 25 minutes. At the end, baste with the glaze.
Lower the heat to 180C and roast for another 30 minutes, basting again with the glaze.
The duck is fully cooked if you’re able to slice into the thickest part of the thigh easily, or when a thermometer inserted into the thigh measures 80C.
Remove and let it cool for 10 minutes on a cooling rack. Snip away the twine to drain the juices inside the duck. The juices can be used as a side gravy; just skim the fat off the surface, bring to a boil in a pan and simmer for 2 minutes to thicken the gravy.