Skip to content

Instantly share code, notes, and snippets.

@willfurnass
Last active February 20, 2022 12:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save willfurnass/7db2a26a7a147cc8b86676651e1ab8c1 to your computer and use it in GitHub Desktop.
Save willfurnass/7db2a26a7a147cc8b86676651e1ab8c1 to your computer and use it in GitHub Desktop.
Extract usernames and emails from a Synology DSS config dump file (.dss)
#!/bin/bash
# Will Furnass
# Oct 2017
if [[ $# -lt 1 ]]; then
echo 1>&2 "Extract list of user email addresses from Synology DSS '.dss' config dump"
exit 1
fi
dss_path="$1"
if [[ ! ( -f $dss_path && -r $dss_path ) ]]; then
echo 1>&2 "Synology .dss config dump not readable"
exit 2
fi
dss_file="$(basename ${dss_path})"
tmp_dir=$(mktemp -d)
pushd "${tmp_dir}" > /dev/null
cp "$dss_path" "${dss_file}.tar.xz"
tar --warning=no-timestamp -Jxf "${dss_file}.tar.xz"
#sqlite3 -column ConfigBkp/_Syno_ConfBkp.db 'SELECT DISTINCT name, mail FROM confbkp_user_tb WHERE mail != "";'
sqlite3 ConfigBkp/_Syno_ConfBkp.db 'SELECT DISTINCT name, mail FROM confbkp_user_tb WHERE mail != "";' | column -t -s "|"
popd > /dev/null
rm -r "${tmp_dir}"
@mac-city
Copy link

could this be modified or done manually to access other contents of the .dss file? I want to get my dhcp client and reservations list

@willfurnass
Copy link
Author

@mac-city Not sure. I no longer have any Synology boxes.

@mac-city
Copy link

ok, thanks. I am not good with unix commands, but was hoping there was a way to reverse engineer specific commands from a script.

@mac-city
Copy link

mac-city commented Feb 10, 2022

i figured it out, I dropped the .dss file on my macOS archive utility and there is all was! your original post helped me figure that out, so thanks for posting it.

@jdjdjd4096
Copy link

jdjdjd4096 commented Feb 20, 2022

Hello Will.
I started a small project that uncompress from .dss files more data than only emails. I hope that this project helps others solve their problems during Synology recovery or during the comparison process versus previous configuration snapshots. https://github.com/jdjdjd4096/SynoDSSexporter .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment