# SPDX-License-Identifier: AGPL-3.0-or-later from django.utils.translation import ugettext_lazy as _ from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup clients = validate([{ 'name': _('bepasty'), 'platforms': [{ 'type': 'web', 'url': '/bepasty' }] }]) backup = validate_backup({ 'config': { 'files': ['/etc/bepasty-freedombox.conf'] }, 'data': { 'directories': ['/var/lib/bepasty'] }, 'services': ['uwsgi'], })
'type': 'package', 'format': 'brew', 'name': 'quassel-client', }] }, { 'name': _('Quasseldroid'), 'platforms': [{ 'type': 'store', 'os': 'android', 'store_name': 'f-droid', 'url': store_url('f-droid', 'com.iskrembilen.quasseldroid'), }, { 'type': 'store', 'os': 'android', 'store_name': 'google-play', 'url': store_url('google-play', 'com.iskrembilen.quasseldroid'), }] }]) backup = validate_backup({ 'secrets': { 'directories': ['/var/lib/quassel/'] }, 'services': ['quassel-core'], })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for shadowsocks. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'secrets': { 'files': ['/etc/shadowsocks-libev/freedombox.json'] }, 'services': ['shadowsocks-libev-local@freedombox'] })
'description': _('Evolution is a personal information management ' 'application that provides integrated mail, ' 'calendaring and address book functionality.'), 'usage': _('In Evolution add a new calendar and address book ' 'respectively with WebDAV. Enter the URL of the Radicale ' 'server (e.g. https://<your.freedombox.address>) and your ' 'user name. ' 'Clicking on the search button will list the existing ' 'calendars and address books.'), 'platforms': [{ 'type': 'package', 'format': 'deb', 'name': 'evolution' }] }, { 'name': _('Radicale'), 'platforms': [{ 'type': 'web', 'url': '/radicale/' }] }]) backup = validate_backup({ 'data': { 'directories': ['/var/lib/radicale/'] }, 'services': ['uwsgi'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for bind. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'config': { 'files': ['/etc/bind/named.conf.options'] }, 'services': ['bind9'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for datetime. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({'data': {'files': ['/etc/timezone']}})
}, { 'type': 'download', 'os': 'windows', 'url': _element_desktop_download_url, }] }]) backup = validate_backup({ 'config': { 'directories': ['/etc/matrix-synapse/conf.d/'], 'files': [ '/etc/matrix-synapse/homeserver.yaml', '/etc/matrix-synapse/log.yaml' ] }, 'data': { 'directories': ['/var/lib/matrix-synapse/media/', '/var/lib/matrix-synapse/uploads/'], 'files': ['/var/lib/matrix-synapse/homeserver.db'] }, 'secrets': { 'files': [ '/etc/matrix-synapse/homeserver.signing.key', '/etc/matrix-synapse/homeserver.tls.crt', '/etc/matrix-synapse/homeserver.tls.dh', '/etc/matrix-synapse/homeserver.tls.key' ] }, 'services': ['matrix-synapse'] })
# SPDX-License-Identifier: AGPL-3.0-or-later from django.utils.translation import ugettext_lazy as _ from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup clients = validate([{ 'name': _('Deluge'), 'description': _('Bittorrent client written in Python/PyGTK'), 'platforms': [{ 'type': 'web', 'url': '/deluge' }] }]) backup = validate_backup({ 'config': { 'directories': ['/var/lib/deluged/.config'] }, 'services': ['deluged', 'deluge-web'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for ssh. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'secrets': { 'files': [ '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ecdsa_key.pub', '/etc/ssh/ssh_host_ed25519_key', '/etc/ssh/ssh_host_ed25519_key.pub', '/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_rsa_key.pub' ] } })
# SPDX-License-Identifier: AGPL-3.0-or-later from django.utils.translation import ugettext_lazy as _ from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup clients = validate([{ 'name': _('MediaWiki'), 'platforms': [{ 'type': 'web', 'url': '/mediawiki' }] }]) backup = validate_backup({ 'config': { 'files': ['/etc/mediawiki/FreedomBoxSettings.php'] }, 'data': { 'directories': ['/var/lib/mediawiki-db/'] }, 'services': ['mediawiki-jobrunner'] })
# SPDX-License-Identifier: AGPL-3.0-or-later from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({'config': {'directories': ['/etc/ez-ipupdate/']}})
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for security. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup( {'config': { 'files': ['/etc/security/access.d/50freedombox.conf'] }})
_('GNOME Files'), 'platforms': [{ 'type': 'package', 'format': 'deb', 'name': 'nautilus', }, { 'type': 'download', 'os': 'gnu-linux', 'url': 'https://wiki.gnome.org/Apps/Files' }] }, { 'name': _('Dolphin'), 'platforms': [{ 'type': 'package', 'format': 'deb', 'name': 'dolphin', }, { 'type': 'download', 'os': 'gnu-linux', 'url': 'https://kde.org/applications/system/org.kde.dolphin' }] }]) backup = validate_backup({ 'data': { 'files': [SHARES_CONF_BACKUP_FILE] }, 'services': ['smbd', 'nmbd'] })
format_lazy(_('Start Gobby and select "Connect to Server" and ' 'enter your {box_name}\'s domain name.'), box_name=_(cfg.box_name)), 'platforms': [{ 'type': 'download', 'os': 'gnu-linux', 'url': 'https://github.com/gobby/gobby/wiki/Download' }, { 'type': 'download', 'os': 'windows', 'url': 'https://github.com/gobby/gobby/wiki/Download' }, { 'type': 'package', 'format': 'deb', 'name': 'gobby' }] }]) backup = validate_backup({ 'data': { 'directories': ['/var/lib/infinoted/'] }, 'secrets': { 'files': [ '/etc/infinoted/infinoted-cert.pem', '/etc/infinoted/infinoted-key.pem' ], }, 'services': ['infinoted'] })
'url': '/gitweb/' }] }, { 'name': _('Git'), 'platforms': [{ 'type': 'download', 'os': 'gnu-linux', 'url': 'https://git-scm.com/download/linux' }, { 'type': 'download', 'os': 'macos', 'url': 'https://git-scm.com/download/mac' }, { 'type': 'download', 'os': 'windows', 'url': 'https://git-scm.com/download/windows' }] }, ]) backup = validate_backup({ 'config': { 'files': [CONFIG_FILE] }, 'data': { 'directories': [GIT_REPO_PATH] } })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for OpenVPN. """ from django.utils.translation import ugettext_lazy as _ from plinth.clients import store_url, validate from plinth.modules.backups.api import validate as validate_backup _package_id = 'de.blinkt.openvpn' _download_url = 'https://openvpn.net/community-downloads' backup = validate_backup({'secrets': {'directories': ['/etc/openvpn/']}}) clients = validate([{ 'name': _('OpenVPN'), 'platforms': [{ 'type': 'package', 'format': 'deb', 'name': 'openvpn', }, { 'type': 'package', 'format': 'brew', 'name': 'openvpn', }, { 'type': 'store', 'os': 'android', 'store_name': 'f-droid', 'url': store_url('f-droid', _package_id)
# SPDX-License-Identifier: AGPL-3.0-or-later from django.utils.translation import ugettext_lazy as _ from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup clients = validate([{ 'name': _('Transmission'), 'platforms': [{ 'type': 'web', 'url': '/transmission' }] }]) backup = validate_backup({ 'data': { 'directories': ['/var/lib/transmission-daemon/.config'] }, 'secrets': { 'files': ['/etc/transmission-daemon/settings.json'] }, 'services': ['transmission-daemon'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for upgrades. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup( {'config': { 'files': ['/etc/apt/apt.conf.d/20auto-upgrades'] }})
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for sharing. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'config': { 'files': ['/etc/apache2/conf-available/sharing-freedombox.conf'] }, 'services': [{ 'type': 'apache', 'kind': 'config', 'name': 'sharing-freedombox' }] })
}, { 'type': 'download', 'os': 'macos', 'url': _download_url, }, { 'type': 'download', 'os': 'windows', 'url': _download_url, }, { 'type': 'store', 'os': 'android', 'store_name': 'google-play', 'url': store_url('google-play', _package_id) }, { 'type': 'store', 'os': 'android', 'store_name': 'f-droid', 'url': store_url('f-droid', _package_id) }, { 'type': 'web', 'url': '/syncthing' }] }]) backup = validate_backup({ 'secrets': { 'directories': ['/var/lib/syncthing/.config'] }, 'services': ['syncthing@syncthing'] })
'os': 'android', 'store_name': 'google-play', 'url': store_url('google-play', _plumble_package_id) }] }, { 'name': _('Mumblefly'), 'platforms': [{ 'type': 'store', 'os': 'ios', 'store_name': 'app-store', 'url': 'https://apps.apple.com/dk/app/mumblefy/id858752232' }] }, { 'name': _('Mumla'), 'platforms': [{ 'type': 'store', 'os': 'android', 'store_name': 'f-droid', 'url': store_url('f-droid', 'se.lublin.mumla') }] }]) backup = validate_backup({ 'data': { 'directories': ['/var/lib/mumble-server'] }, 'services': ['mumble-server'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manfiest for letsencrypt. """ from plinth.modules.backups.api import validate as validate_backup # XXX: Backup and restore the Apache site configuration. backup = validate_backup({'secrets': {'directories': ['/etc/letsencrypt/']}})
}, { 'name': _('AMLDonkey'), 'platforms': [{ 'type': 'store', 'os': 'android', 'store_name': 'google-play', 'url': store_url('google-play', 'com.devwom.amldonkey'), }] }]) backup = validate_backup({ 'config': { 'files': [ '/var/lib/mldonkey/bittorrent.ini', '/var/lib/mldonkey/bt_dht.ini', '/var/lib/mldonkey/directconnect.ini', '/var/lib/mldonkey/donkey.ini', '/var/lib/mldonkey/downloads.ini', '/var/lib/mldonkey/files.ini', '/var/lib/mldonkey/file_sources.ini', '/var/lib/mldonkey/fileTP.ini', '/var/lib/mldonkey/friends.ini', '/var/lib/mldonkey/searches.ini', '/var/lib/mldonkey/servers.ini', '/var/lib/mldonkey/shared_files.ini', '/var/lib/mldonkey/shared_files_new.ini', '/var/lib/mldonkey/statistics.ini', '/var/lib/mldonkey/stats_bt.ini', '/var/lib/mldonkey/stats.ini', '/var/lib/mldonkey/stats_mod.ini', '/var/lib/mldonkey/users.ini' ] }, 'services': ['mldonkey-server'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for pagekite. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'config': { 'directories': ['/etc/pagekite.d/'] }, 'services': ['pagekite'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manifest for avahi. """ from plinth.modules.backups.api import validate as validate_backup # Services that intend to make themselves discoverable will drop files into # /etc/avahi/services. Currently, we don't intend to make that customizable. # There is no necessity for backup and restore. This manifest will ensure that # avahi enable/disable setting is preserved. backup = validate_backup({})
}, { 'name': _('totem'), 'platforms': [ { 'type': 'package', 'os': 'gnu-linux', 'format': 'deb', 'name': 'totem', }, { 'type': 'package', 'os': 'gnu-linux', 'format': 'rpm', 'name': 'totem', }, ] }, ]) # TODO: get all media directories from config file # for now hard code default media folder. backup = validate_backup({ 'data': { 'files': ['/etc/minidlna.conf'], 'directories': ['/var/lib/minidlna'] }, 'services': ['minidlna'] })
}, { 'type': 'download', 'os': 'macos', 'url': _tor_browser_download_url, }] }, { 'name': _('Orbot: Proxy with Tor'), 'platforms': [{ 'type': 'store', 'os': 'android', 'store_name': 'google-play', 'url': store_url('google-play', _orbot_package_id) }, { 'type': 'store', 'os': 'android', 'store_name': 'f-droid', 'url': store_url('f-droid', _orbot_package_id) }] }]) backup = validate_backup({ 'config': { 'directories': ['/etc/tor/'] }, 'secrets': { 'directories': ['/var/lib/tor/', '/var/lib/tor-instances/'] }, 'services': ['tor@plinth'] })
'os': 'gnu-linux', 'url': 'https://gajim.org/downloads.php' }, { 'type': 'download', 'os': 'macos', 'url': 'https://gajim.org/downloads.php' }, { 'type': 'download', 'os': 'windows', 'url': 'https://gajim.org/downloads.php' }] }]) _clients.extend(jsxc_manifest.clients) clients = _clients backup = validate_backup({ 'config': { 'files': ['/etc/ejabberd/ejabberd.yml'] }, 'data': { 'directories': ['/var/lib/ejabberd/'] }, 'secrets': { 'files': ['/etc/ejabberd/ejabberd.pem'], 'directories': ['/etc/ejabberd/letsencrypt/'] }, 'services': ['ejabberd'] })
'name': _('I2P'), 'platforms': [{ 'type': 'web', 'url': '/i2p/' }, { 'type': 'package', 'format': 'deb', 'name': 'i2p', }, { 'type': 'download', 'os': 'gnu-linux', 'url': _download_url, }, { 'type': 'download', 'os': 'macos', 'url': _download_url, }, { 'type': 'download', 'os': 'windows', 'url': _download_url, }] }]) backup = validate_backup({ 'secrets': { 'directories': ['/var/lib/i2p/i2p-config'] }, 'services': ['i2p'] })
# SPDX-License-Identifier: AGPL-3.0-or-later """ Application manfiest for monkeysphere. """ from plinth.modules.backups.api import validate as validate_backup backup = validate_backup({ 'config': { 'directories': ['/etc/monkeysphere/'] }, 'secrets': { 'directories': ['/var/lib/monkeysphere/'] } })