Add recovery download feature
Merge branch 'recovery-download'