Ukrainian troops, on the defensive for months, will soon counterattack, as Russia's offensive looks to be faltering, a commander said, but President Volodymyr Zelenskyy warned that without a faster supply of arms the war could last years.

Zelenskyy said Europe must increase and speed up its supply of weapons, again calling for long-range missiles, ammunition and modern aircraft, and impose additional sanctions on Russia.

"If Europe waits, the evil may have time to regroup and prepare for years of war," a clearly frustrated Zelenskyy said on Thursday in a video address to European Union leaders, delivered from a train.