Skip to content

ecopoesis/ssl2-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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-tools

Or use without installing:

npx ssl2-tools decrypt fixture.ssl2

CLI 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

About

Decrypt and encrypt Nicolaudie SSL2 fixture library files (ESA Pro 2, Daslight, Sunlite Suite, myDMX)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors