O Firefox já faz isso para tipos de arquivos que são texto simples quando descompactados, e quando o servidor está configurado corretamente.
Abrindo esta diferença de alterações em um pacote no Launchpad por exemplo, funciona bem. Se você deseja abrir outros tipos de arquivo, como .tar.gz
ou algum outro tipo, que o Firefox (e provavelmente o sistema local em geral) não sabe como lidar, você terá que abri-lo em um aplicativo externo, que o Firefox fará baixando o arquivo para um local temporário e executando o aplicativo com esse nome de arquivo como o argumento a ser aberto.