Oxalic acid is the best for all types of rust removal, and can be bought cheaply (like a couple dollars/pounds/euros per pound), though it might take a bit of finding at that price. However A quick look on ebay US gives 10 lbs for $20.98.
If the rust is very oily add a bit of ethylene glycol n-butyl ether, aka
2-n-butoxyethanol aka Cellosolve. Bit pricier, maybe 4-6 dollars/pounds/euros per pound. Again a quick ebay, US $13 for 500 ml - a bit expensive, try local merchants instead, ebayUK £6 for 500 ml, better.Use 1% oxalic acid and a dash of washing-up liquid dissolved in warm water, plus 0-5% Cellosolve if needed, depending on oiliness. Soak for up to 24 hours, usually a lot less, mild agitation. If the rust is very thick, try up to about 5% oxalic acid.
Neutralise used acid with chalk, washing soda, baking soda, or similar weak base, then pour down drain.
Oxalic acid is an acid and will burn skin, eyes, lungs etc. It is also toxic, but not very toxic - eg a teaspoonful won't kill an adult.
But it won't dissolve chrome, paint, or iron (unless you leave it for a very long time) - just rust.
-- Peter Fairbrother