ssl2-tools
v1.0.0
Published
Decrypt and encrypt Nicolaudie SSL2 fixture library files
Maintainers
Readme
ssl2-tools
Decrypt and encrypt Nicolaudie SSL2 fixture library files.
SSL2 is the encrypted fixture profile format used by ESA Pro 2, Daslight, Sunlite Suite, and myDMX. The files contain XML fixture definitions encrypted with the AraCrypt stream cipher.
The Nicolaudie fixture store hosts thousands of these files.
Install
npm install -g ssl2-toolsOr use without installing:
npx ssl2-tools decrypt fixture.ssl2CLI Usage
# Decrypt SSL2 to XML
ssl2 decrypt fixture.ssl2
ssl2 decrypt fixture.ssl2 output.xml
# Encrypt XML back to SSL2
ssl2 encrypt fixture.xml
ssl2 encrypt fixture.xml output.ssl2
# Print decrypted XML to stdout
ssl2 dump fixture.ssl2
ssl2 dump fixture.ssl2 | xmllint --format -API
import { decrypt, encrypt } from 'ssl2-tools'
import { readFileSync, writeFileSync } from 'fs'
const ssl2 = readFileSync('fixture.ssl2')
const xml = decrypt(ssl2)
console.log(xml.toString('utf-8'))
const reEncrypted = encrypt(xml)
writeFileSync('fixture-copy.ssl2', reEncrypted)SSL2 XML Format
Decrypted files contain XML with this structure:
<?xml version="1.0" encoding="UTF-8"?>
<DLMFILE VERSION="3" TYPE="SSLLIBRARY">
<SSLLIBRARY SSLNAME="Fixture Name" ...>
<SSLPROPERTIES SSLBRAND="Brand" ... />
<SSLMODES SSLNBMODE="1">
<SSLMODE SSLMODENAME="Mode Name" SSLNBCHANNEL="6">
<SSLCHANNEL SSLCHANNELTYPE="25" SSLCHANNELNAME="Red" ...>
<SSLPRESETS ...>
<SSLPRESET SSLPRESETNAME="Red" SSLPRESETDMXSTART="0" SSLPRESETDMXEND="255" ... />
</SSLPRESETS>
</SSLCHANNEL>
<!-- more channels -->
</SSLMODE>
</SSLMODES>
</SSLLIBRARY>
</DLMFILE>Channel Types
| Type | Name | |------|------| | 0 | Generic | | 7 | Dimmer | | 14 | Zoom | | 15 | Shutter / Strobe | | 18 | Speed | | 23 | Color Temperature | | 25 | Red | | 26 | Green | | 27 | Blue | | 31 | White | | 37 | Auto Programs | | 43 | Warm White | | 44 | Cold White | | 45 | Amber | | 46 | UV | | 48 | Lime |
Credits
Encryption was reverse-engineered by @HakanL — see open-fixture-library#99.
License
MIT
