Пример #1
0
# 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'],
})
Пример #2
0
        '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'],
})
Пример #3
0
# 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']
})
Пример #4
0
    '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']
})
Пример #5
0
# 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']
})
Пример #6
0
# 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']}})
Пример #7
0
    }, {
        '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']
})
Пример #8
0
# 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']
})
Пример #9
0
# 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'
        ]
    }
})
Пример #10
0
# 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']
})
Пример #11
0
# 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/']}})
Пример #12
0
# 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']
    }})
Пример #13
0
    _('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']
})
Пример #14
0
    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']
})
Пример #15
0
            '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]
    }
})
Пример #16
0
# 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)
Пример #17
0
# 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']
})
Пример #18
0
# 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']
    }})
Пример #19
0
# 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'
    }]
})
Пример #20
0
    }, {
        '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']
})
Пример #21
0
        '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']
})
Пример #22
0
# 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/']}})
Пример #23
0
}, {
    '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']
})
Пример #24
0
# 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']
})
Пример #25
0
# 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({})
Пример #26
0
    },
    {
        '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']
})
Пример #27
0
    }, {
        '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']
})
Пример #28
0
        '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']
})
Пример #29
0
    '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']
})
Пример #30
0
# 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/']
    }
})