Faits: A. A._, ressortissant marocain né en 1972, se trouve en détention préventive depuis le 24 avril 2007, sous les préventions notamment de vol, vol d'importance mineure, brigandage, dommages à la propriété, violation de domicile, contrainte sexuelle et viol sur une personne incapable de résistance. Il lui est notamment reproché d'avoir drogué une femme avant d'abuser d'elle. Il aurait également drogué une victime pour lui soustraire quelque 600 fr. La libération du prévenu a été refusée à plusieurs reprises par décisions du Juge d'instruction cantonal et du Juge d'instruction de l'arrondissement de l'Est Vaudois. Par arrêt du 14 novembre 2007, le Tribunal d'accusation vaudois a confirmé l'une de ces décisions. Les charges étaient suffisantes, en particulier s'agissant de l'accusation de viol: sur ce point, les déclarations de la victime paraissaient crédibles, et celles du prévenu avaient varié; il existait un risque de fuite et de récidive. Une nouvelle demande de mise en liberté a été rejetée le 16 avril 2008. Par arrêt du 23 mai 2008, le Tribunal d'accusation a confirmé cette décision, en renvoyant à son précédent arrêt. Le prévenu ne faisait valoir aucun argument ou circonstance nouveaux. Le risque de fuite était réel, compte tenu de la nationalité du prévenu et de l'absence d'attaches particulières avec la Suisse. Il était aussi à craindre qu'en cas de libération, le prévenu ne commette de nouvelles infractions afin d'améliorer son train de vie. B. Par acte du 11 juin 2008, A._ forme un recours en matière pénale assorti d'une demande d'assistance judiciaire. Il conclut à l'annulation de l'arrêt du Tribunal d'accusation et à sa mise en liberté immédiate. Le Tribunal d'accusation se réfère à son arrêt. Le Ministère public renvoie à l'arrêt attaqué et à son préavis du 5 mai 2008. Le recourant a eu l'occasion de répliquer.