@thezboe Yes! In fact you can use any protocol of your choice, even old-fashioned sockets if you wish.
By default update4j will try to download a file using standard http/s and will assume that the file is publicly available. To change this, you should implement your own UpdateHandler
and provide your own logic at openDownloadStream()
.
Once the connection was established, just return an InputStream
; do not read the file yourself in that method, leave it up for the framework.
Then install the provider into the framework by following this guide.
Runtime.getRuntime().exec()
I did a hack. I wrote OS bitness to commentary field and overrode shouldCheckForUpdate method in UpdateHandler, it's looks working now.
Now I want sign my config. Everything works good with RSA key but if I use ECDSA key I get java.security.NoSuchAlgorithmException: SHA256withEC Signature not available
at
Signature sign = Signature.getInstance("SHA256with" + key.getAlgorithm())
this line from ConfigMapper.java:239.
I belive it happens because of naming of algorithms, in java for ECDSA right alg name is "EC" KeyFactory.getInstance("EC")
and therefore my key.getAlgorithm() is "EC" and Signature.getInstance("SHA256with" + key.getAlgorithm())
generates "SHA256withEC" instead of "SHA256withECDSA".
Is it bug or feature ?