Exemple #1
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('Roundcube'),
    'platforms': [{
        'type': 'web',
        'url': '/roundcube'
    }]
}])
Exemple #2
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('MediaWiki'),
    'platforms': [{
        'type': 'web',
        'url': '/mediawiki'
    }]
}])
Exemple #3
0
from django.utils.translation import ugettext_lazy as _

from plinth.clients import store_url, validate
from plinth.modules import diaspora
from plinth.utils import format_lazy

clients = validate([{
    'name':
        _('dandelion*'),
    'description':
        _('It is an unofficial webview based client for the '
          'community-run, distributed social network diaspora*'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', 'com.github.dfa.diaspora_android'),
    }]
}, {
    'name':
        _('diaspora*'),
    'platforms': [{
        'type':
            'web',
        'url':
            format_lazy('https://diaspora.{host}',
                        host=diaspora.get_configured_domain_name() if
                        diaspora.is_setup() else "<please-setup-domain-name>")
    }]
}])
Exemple #4
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('Shaarli'),
    'platforms': [{
        'type': 'web',
        'url': '/shaarli'
    }]
}])
Exemple #5
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_backups

clients = validate([{
    'name': _('coquelicot'),
    'platforms': [{
        'type': 'web',
        'url': '/coquelicot'
    }]
}])

backup = validate_backups({
    'data': {
        'directories': ['/var/lib/coquelicot']
    },
    'secrets': {
        'files': ['/etc/coquelicot/settings.yml']
    },
    'services': ['coquelicot']
})
Exemple #6
0
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import store_url, validate

clients = validate([{
    'name':
        _('Minetest'),
    'platforms': [{
        'type': 'download',
        'os': 'windows',
        'url': 'https://github.com/minetest/minetest/releases'
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'net.minetest.minetest')
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', 'net.minetest.minetest')
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'minetest'
    }]
}])
Exemple #7
0
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name':
        _('Deluge'),
    'description':
        _('Bittorrent client written in Python/PyGTK'),
    'platforms': [{
        'type': 'web',
        'url': '/deluge'
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'deluge',
    }]
}])
clients = validate([{
    'name':
    _('Minetest'),
    'platforms': [{
        'type': 'download',
        'os': 'gnu-linux',
        'url': 'https://www.minetest.net/downloads/'
    }, {
        'type': 'download',
        'os': 'macos',
        'url': 'https://www.minetest.net/downloads/'
    }, {
        'type': 'download',
        'os': 'windows',
        'url': 'https://www.minetest.net/downloads/'
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', 'net.minetest.minetest')
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'net.minetest.minetest')
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'minetest'
    }]
}])
Exemple #9
0
clients = validate([{
    'name':
        _('Syncthing'),
    'platforms': [{
        'type': 'package',
        'format': 'deb',
        'name': 'syncthing',
    }, {
        'type': 'package',
        'format': 'brew',
        'name': 'syncthing',
    }, {
        'type': 'download',
        'os': 'gnu-linux',
        'url': _download_url,
    }, {
        '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'
    }]
}])
Exemple #10
0
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth import cfg
from plinth.clients import validate
from plinth.utils import format_lazy

clients = validate([{
    'name':
        _('Gobby'),
    'description':
        _('Gobby is a collaborative text editor'),
    'usage':
        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': 'windows',
        'url': 'https://github.com/gobby/gobby/wiki/Download'
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'gobby'
    }]
}])
Exemple #11
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('ikiwiki'),
    'platforms': [{
        'type': 'web',
        'url': '/ikiwiki'
    }]
}])
from django.utils.translation import ugettext_lazy as _

from plinth.modules.backups.api import validate as validate_backup
from plinth.clients import store_url, validate

clients = validate([{
    'name':
    _('Tiny Tiny RSS (Fork)'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', 'org.fox.tttrss')
    }]
}, {
    'name':
    _('Tiny Tiny RSS'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'org.fox.ttrss')
    }, {
        'type': 'web',
        'url': '/tt-rss'
    }]
}])

backup = validate_backup({
    'data': {
        'files': ['/var/lib/plinth/backups-data/ttrss-database.sql']
    },
Exemple #13
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name':
        _('JSXC'),
    'platforms': [{
        'type': 'web',
        'url': '/jsxc'
    }]
}])
Exemple #14
0
clients = validate([{
    'name':
        _('Jitsi Meet'),
    'description':
        _('Jitsi is a set of open-source projects that allows '
          'you to easily build and deploy secure '
          'videoconferencing solutions. At the heart of Jitsi '
          'are Jitsi Videobridge and Jitsi Meet, which let you '
          'have conferences on the internet, while other '
          'projects in the community enable other features '
          'such as audio, dial-in, recording, '
          'and simulcasting.'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _jitsi_package_id)
    }, {
        'type': 'store',
        'os': 'ios',
        'store_name': 'app-store',
        'url': 'https://itunes.apple.com/in/app/jitsi-meet/id1165103905'
    }, {
        'type': 'download',
        'os': 'gnu-linux',
        'url': _jitsi_download_url
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'jitsi'
    }, {
        'type': 'download',
        'os': 'macos',
        'url': _jitsi_download_url
    }, {
        'type': 'download',
        'os': 'windows',
        'url': _jitsi_download_url
    }]
}, {
    'name':
        _('CSipSimple'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _csipsimple_package_id)
    }]
}])
Exemple #15
0
clients = validate([{
    'name':
        _('DAVDroid'),
    'usage':
        _('Enter the URL of the Radicale server (e.g. '
          'http://localhost:5232) and your user name. DAVdroid will '
          'show all existing calendars and address books and you can '
          'create new.'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'at.bitfire.davdroid'),
    }]
}, {
    'name':
        _('GNOME Calendar'),
    'platforms': [{
        'type': 'package',
        'format': 'deb',
        'name': 'gnome-calendar'
    }]
}, {
    'name':
        _('Evolution'),
    '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. http://localhost:5232) and your user name. '
          'Clicking on the search button will list the existing '
          'calendars and address books.'),
    'platforms': [{
        'type': 'package',
        'format': 'deb',
        'name': 'evolution'
    }]
}])
Exemple #16
0
clients = validate([{
    'name':
    _('WireGuard'),
    'platforms': [{
        'type':
        'download',
        'os':
        'windows',
        'url':
        'https://download.wireguard.com/windows-client/'
        'wireguard-amd64-0.0.23.msi'
    }, {
        'type':
        'download',
        'os':
        'macos',
        'url':
        'https://itunes.apple.com/us/app/wireguard/id1451685025?ls=1&mt=12'
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'wireguard'
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', _wireguard_package_id)
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _wireguard_package_id)
    }, {
        'type':
        'store',
        'os':
        'ios',
        'store_name':
        'app-store',
        'url':
        'https://itunes.apple.com/us/app/wireguard/id1441195209?ls=1&mt=8'
    }]
}])
Exemple #17
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('Transmission'),
    'platforms': [{
        'type': 'web',
        'url': '/transmission'
    }]
}])
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Application manifest for Samba.
"""

from plinth.clients import validate
from plinth.modules.backups.api import validate as validate_backup

SHARES_CONF_BACKUP_FILE = '/var/lib/plinth/backups-data/samba-shares-dump.conf'

clients = validate([])

backup = validate_backup({
    'data': {
        'files': [SHARES_CONF_BACKUP_FILE]
    },
    'services': ['smbd', 'nmbd']
})
Exemple #19
0
#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

from django.utils.translation import ugettext_lazy as _

from plinth.clients import validate

clients = validate([{
    'name': _('reStore'),
    'platforms': [{
        'type': 'web',
        'url': '/restore'
    }]
}])
Exemple #20
0
clients = validate([{
    'name':
        _('Riot'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _android_package_id)
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', _android_package_id)
    }, {
        'type': 'web',
        'url': 'https://riot.im/app/#/home'
    }, {
        'type': 'download',
        'os': 'gnu-linux',
        'url': _riot_desktop_download_url,
    }, {
        'type': 'download',
        'os': 'macos',
        'url': _riot_desktop_download_url,
    }, {
        'type': 'download',
        'os': 'windows',
        'url': _riot_desktop_download_url,
    }]
}])
Exemple #21
0
_clients = validate([{
    'name':
        _('yaxim'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'org.yaxim.androidclient'),
    }]
}, {
    'name':
        _('Bruno'),
    'description':
        _('Bruno is a themed version of the open source '
          'yaxim app.'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'org.yaxim.bruno')
    }]
}, {
    'name':
        _('ChatSecure'),
    'description':
        _('ChatSecure is a free and open source '
          'messaging app that features OTR encryption '
          'over XMPP. You can connect to an existing '
          'Google account, create new accounts on '
          'public XMPP servers (including via Tor), '
          'or even connect to your own server for '
          'extra security.'),
    'platforms': [{
        'type': 'store',
        'os': 'ios',
        'store_name': 'app-store',
        'url': 'https://itunes.apple.com/us/app/chatsecure'
               '/id464200063'
    }]
}, {
    'name':
        _('Conversations'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', 'eu.siacs.conversations')
    }]
}, {
    'name':
        _('Dino'),
    'platforms': [{
        'type': 'download',
        'os': 'gnu-linux',
        'url': 'https://github.com/dino/dino/wiki/Distribution-Packages',
    }]
}, {
    'name':
        _('Gajim'),
    'platforms': [{
        'type': 'package',
        'format': 'deb',
        'name': 'gajim'
    }, {
        'type': 'download',
        'os': 'windows',
        'url': 'https://gajim.org/downloads.php'
    }]
}])
Exemple #22
0
clients = validate([{
    'name':
        _('Riot'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _android_package_id)
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', _android_package_id)
    }, {
        'type': 'web',
        'url': 'https://riot.im/app/#/home'
    }, {
        'type': 'download',
        'os': 'gnu-linux',
        'url': _riot_desktop_download_url,
    }, {
        'type': 'download',
        'os': 'macos',
        'url': _riot_desktop_download_url,
    }, {
        'type': 'download',
        'os': 'windows',
        'url': _riot_desktop_download_url,
    }]
}])
Exemple #23
0
clients = validate([{
    'name':
        _('Mumble'),
    'platforms': [{
        'type': 'download',
        'os': 'windows',
        'url': 'https://wiki.mumble.info/wiki/Main_Page'
    }, {
        'type': 'download',
        'os': 'macos',
        'url': 'https://wiki.mumble.info/wiki/Main_Page'
    }, {
        'type': 'package',
        'format': 'deb',
        'name': 'mumble'
    }, {
        'type': 'store',
        'os': 'ios',
        'store_name': 'app-store',
        'url': 'https://itunes.apple.com/us/app/mumble/id443472808'
    }]
}, {
    'name':
        _('Plumble'),
    'platforms': [{
        'type': 'store',
        'os': 'android',
        'store_name': 'google-play',
        'url': store_url('google-play', _plumble_package_id)
    }, {
        'type': 'store',
        'os': 'android',
        'store_name': 'f-droid',
        'url': store_url('f-droid', _plumble_package_id)
    }]
}, {
    'name':
        _('Mumblefly'),
    'platforms': [{
        'type': 'store',
        'os': 'ios',
        'store_name': 'app-store',
        'url': 'https://itunes.apple.com/dk/app/mumblefy/id858752232'
    }]
}])
Exemple #24
0
from plinth.utils import format_lazy

clients = validate([{
    'name':
    _('dandelion*'),
    'description':
    _('It is an unofficial webview based client for the '
      'community-run, distributed social network diaspora*'),
    'platforms': [{
        'type':
        'store',
        'os':
        'android',
        'store_name':
        'f-droid',
        'url':
        store_url('f-droid', 'com.github.dfa.diaspora_android'),
    }]
}, {
    'name':
    _('diaspora*'),
    'platforms': [{
        'type':
        'web',
        'url':
        format_lazy('https://diaspora.{host}',
                    host=diaspora.get_configured_domain_name()
                    if diaspora.is_setup() else "<please-setup-domain-name>")
    }]
}])