all fabric dyes will dye canvas but really the practicallity of the operation all depends on the size of the item in question. Also remember that due to the process of dying material you will render the waterproofing useless. :o)
amd as a PS, as I have just noticed that the heading for the question was 'camping' I reckon you are talking about a tent, if you need a cheap waterproofer for tents use Johnsons water seal which is a product used to seal brickwork, it is excellend and a fraction of the price you are charged in camping shops for the stuff. :o)