add multi protocol and direct download