O uso do epub2pdf representa um risco de segurança em potencial? Existe uma alternativa?

3

epub2pdf é um programa bastante independente de plataforma. Baseado em Java, ele executa sem problemas na minha máquina, sem dependências.

No entanto, por incrível que pareça, o programa requer uma conexão ativa com a Internet para funcionar corretamente. Eu não percebi isso no começo, e o site do programa não dá nenhuma indicação do fato de que, como tal, o programa é apenas um front-end para um conversor 'online'.

Isso é normal?

Isso não é uma invasão de privacidade?

Por que esse programa precisa fazer conexões HTTP com servidores externos?

Além disso, este programa não está disponível nos repositórios Debian / Ubuntu.

Isso teria algo a ver com esse problema?

Alguém pode sugerir uma alternativa?

Este é o erro que ocorre quando você o executa sem uma conexão com a Internet:

me@ROOROO:~/epub2pdf$ ./epub2pdf.sh adventures_in_dev_null.epub 
epub2pdf v0.5 - Copyright (C) 2010  Brendan C. Lefebvre
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
See file 'COPYING' for full license and warranty details.


Registered font families: courier, helvetica, symbol, times, times-roman, zapfdingbats
Default font set to helvetica
Default font base size set to 12.0pt
Default monospace font: courier
Monospace base size: 10.0pt
Default paragraph alignment: left
Margins (top right bottom left): 4.00mm 4.00mm 4.00mm 4.00mm 
Page size (w x h): 90.00mm x 115.00mm
Converting ~/epub2pdf/adventures_in_dev_null.epub
java.net.UnknownHostException: www.daisy.org
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
        at java.net.Socket.connect(Socket.java:546)
        at java.net.Socket.connect(Socket.java:495)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:178)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:409)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:240)
        at sun.net.www.http.HttpClient.New(HttpClient.java:321)
        at sun.net.www.http.HttpClient.New(HttpClient.java:338)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)
        at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
        at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at com.amphisoft.epub.metadata.Ncx.fromFile(Unknown Source)
        at com.amphisoft.epub.Epub.populateMemberFields(Unknown Source)
        at com.amphisoft.epub.Epub.setFile(Unknown Source)
        at com.amphisoft.epub.Epub.setFile(Unknown Source)
        at com.amphisoft.epub.Epub.fromFile(Unknown Source)
        at com.amphisoft.epub2pdf.Converter.convert(Unknown Source)
        at com.amphisoft.epub2pdf.Converter.main(Unknown Source)
        at com.amphisoft.epub2pdf.Epub2Pdf.main(Unknown Source)
Writing PDF to /home/user/adventures_in_dev_null.pdf
Processing 22 HTML file(s): 
.java.net.UnknownHostException: www.w3.org
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
        at java.net.Socket.connect(Socket.java:546)
        at java.net.Socket.connect(Socket.java:495)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:178)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:409)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:240)
        at sun.net.www.http.HttpClient.New(HttpClient.java:321)
        at sun.net.www.http.HttpClient.New(HttpClient.java:338)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:654)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1292)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1229)
        at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.startPE(XMLDTDScannerImpl.java:699)
        at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2046)
        at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDecls(XMLDTDScannerImpl.java:2009)
            at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:297)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1178)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1065)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:978)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at org.apache.xml.resolver.tools.ResolvingXMLFilter.parse(ResolvingXMLFilter.java:141)
        at com.amphisoft.epub2pdf.content.XhtmlHandler.parseXhtml(Unknown Source)
        at com.amphisoft.epub2pdf.content.XhtmlHandler.<init>(Unknown Source)
        at com.amphisoft.epub2pdf.content.XhtmlHandler.process(Unknown Source)
        at com.amphisoft.epub2pdf.Converter.convert(Unknown Source)
        at com.amphisoft.epub2pdf.Converter.main(Unknown Source)
        at com.amphisoft.epub2pdf.Epub2Pdf.main(Unknown Source)
Exception converting adventures_in_dev_null.epub:
        ExceptionConverter at:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at com.amphisoft.epub2pdf.Converter.main(Unknown Source)
        at com.amphisoft.epub2pdf.Epub2Pdf.main(Unknown Source)
    
por ixtmixilix 05.02.2012 / 16:35

1 resposta

2

Olhando para as fontes Java, as conexões parecem benignas. Seu objetivo é recuperar DOM e DTD arquivos para os tipos de livro com os quais o programa lida. Z39.86 , por exemplo, é uma especificação do livro falante digital. Parece estranho para mim, como programador, colocar esse tipo de dependência de rede em um aplicativo em vez de agrupar os arquivos necessários, mas pode haver problemas de direitos autorais ou de licenciamento dos quais não conheço.

    
por 05.02.2012 / 17:30