Главный вопрос - для чего вы открываете дыру? Почему приложение, работающее в user-mode должно получать прямой доступ к устройству? Вот что действительно "непрофессионально".
Почему бы не завернуть все на squid, работающий в прозрачном режиме? Потому как выгребать TCP из зеркалированного трафика (ага, сегмент потерялся и все, нам его никто пересылать не будет, поезд ушел!) потруднее будет, чем просто проксировать.
Зависит от формата архивов. Если это просто один текстовый файл, упакованный bzip или gzip, можно использовать конвейер: cat in.bz2 | bunzip2 | myscript.pl
В итоге все строчки из файла будут приходить программе на стандартный ввод.