diff -Nru btsync-1.1.82.1/btsyncindicator/CREDITS btsync-1.2.0/btsyncindicator/CREDITS --- btsync-1.1.82.1/btsyncindicator/CREDITS 2013-09-21 11:51:55.000000000 +0000 +++ btsync-1.2.0/btsyncindicator/CREDITS 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -The following people have contributed to this project: -* Brian Boucheron "beardicus" - Icons -* Leo Moll "tuxpoldo" - Packaging -* "dswd" - Fix for Issue #10 diff -Nru btsync-1.1.82.1/btsyncindicator/LICENSE btsync-1.2.0/btsyncindicator/LICENSE --- btsync-1.1.82.1/btsyncindicator/LICENSE 2013-09-17 16:54:26.000000000 +0000 +++ btsync-1.2.0/btsyncindicator/LICENSE 1970-01-01 00:00:00.000000000 +0000 @@ -1,165 +0,0 @@ -GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff -Nru btsync-1.1.82.1/btsyncindicator/README.md btsync-1.2.0/btsyncindicator/README.md --- btsync-1.1.82.1/btsyncindicator/README.md 2013-09-21 11:51:55.000000000 +0000 +++ btsync-1.2.0/btsyncindicator/README.md 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -btsyncindicator -=============== - -Bittorrent Sync indicator for linux desktops - -``` -usage: btsyncindicator.py [-h] [--config CONFIG] [--iconpath ICONPATH] - -optional arguments: - -h, --help show this help message and exit - --config CONFIG Location of Bittorrent Sync config file - --iconpath ICONPATH Path to icon theme folder -``` - -Displays an application indicator for Bittorrent Sync on Linux desktops. -Shows syncing folders and the status of connected peers. -Also allows you copy the secret for each folder to the clipboard. - -## Installation - -The recommended installation method is using the [Debian and Ubuntu Desktop Packages for BitTorrent Sync](http://forum.bittorrent.com/topic/19560-debian-and-ubuntu-desktop-packages-for-bittorrent-sync/) which includes the indicator. - -### Ubuntu: -``` -sudo add-apt-repository ppa:tuxpoldo/btsync -sudo apt-get update -sudo apt-get install btsync-user -``` -The indicator will start on login with btsync - -### Debian -(i386, amd64, armel and armhf) -``` -sudo gpg --keyserver pgp.mit.edu --recv-keys 6BF18B15 -sudo gpg --armor --export 6BF18B15 | sudo apt-key add - - -sudo echo deb http://debian.yeasoft.net/btsync $(lsb_release -cs) main contrib non-free >> /etc/apt/sources.list.d/btsync.list -sudo echo deb-src http://debian.yeasoft.net/btsync $(lsb_release -cs) main contrib non-free >> /etc/apt/sources.list.d/btsync.list - -sudo apt-get update -sudo apt-get install btsync-user -``` -The indicator will start on login with btsync - -### Other Distros -The indicator isn't packaed for other distros. You will have to [download btsync](http://labs.bittorrent.com/experiments/sync.html), then download and run the indicator seperately: -``` -cd ~/ -git clone https://github.com/marxjohnson/btsyncindicator.git -``` -Run `~/btsyncindicator/btsyncindicator.py` -You may want to add it to your startup applications to run on login - -## Documentation - -The API used by the indicator is (partially) documented on the [GitHub Wiki](https://github.com/marxjohnson/btsyncindicator/wiki) - -Copyright Mark Johnson and contributors 2013 -Released under GNU Lesser General Public License V3 diff -Nru btsync-1.1.82.1/btsyncindicator/btsyncindicator.py btsync-1.2.0/btsyncindicator/btsyncindicator.py --- btsync-1.1.82.1/btsyncindicator/btsyncindicator.py 2013-10-11 23:36:13.000000000 +0000 +++ btsync-1.2.0/btsyncindicator/btsyncindicator.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,615 +0,0 @@ -#!/usr/bin/env python -# coding=utf-8 -# -# Copyright 2013 Mark Johnson -# -# Authors: Mark Johnson -# -# Based on the PyGTK Application Indicators example by Jono Bacon -# and Neil Jagdish Patel -# http://developer.ubuntu.com/resources/technologies/application-indicators/ -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranties of -# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the applicable version of the GNU Lesser General Public -# License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License version 3 along with this program. If not, see -# -# -import gobject -import gtk -import appindicator - -import urllib - -""" - Requests is not installed by default - If it's missing, display instructions to install with apt or pip -""" -try: - import requests -except ImportError: - print "requests library not found." - print "To install, try:" - print "sudo apt-get install python-requests" - print "If python-requests isn't found, try:" - print "sudo apt-get install python-pip && sudo pip install requests" - print "If apt-get isn't available, use your system's package manager or install pip manually:" - print "http://www.pip-installer.org/en/latest/installing.html" - exit(1) - -import time -import sys -import re -import json -import os -import argparse -import webbrowser -import logging -import subprocess - -VERSION = '0.10' -TIMEOUT = 2 # seconds - -class BtSyncIndicator: - def __init__(self): - """ - Initialise the indicator, load the config file, - intialise some properties and set up the basic - menu - """ - - self.ind = appindicator.Indicator ("btsync-indicator", - "btsync", - appindicator.CATEGORY_APPLICATION_STATUS, - args.iconpath) - self.ind.set_status (appindicator.STATUS_ACTIVE) - self.ind.set_attention_icon ("btsync-attention") - - self.load_config() - - self.urlroot = 'http://'+self.config['webui']['listen']+'/gui/' - self.folderitems = {} - self.info = {} - self.clipboard = gtk.Clipboard() - self.animate = None - self.error_item = None - self.frame = 0 - self.status = None - self.count = 0 - - # If we have dpkg in $PATH, Determine whether the script was installed with - # the btsync-user package if it is, we can use the packages btsync management - # scripts for some extra features - try: - have_dpkg = False - for p in os.environ["PATH"].split(os.pathsep): - if os.path.exists(os.path.join(p, 'dpkg')): - have_dpkg = True - - if have_dpkg: - output = subprocess.check_output(["dpkg", "-S", os.path.abspath(__file__)]) - else: - output = "" - - if (output.find("btsync-user") > -1): - self.btsync_user = True - else: - self.btsync_user = False - except subprocess.CalledProcessError, e: - self.btsync_user = False - - self.menu_setup() - self.ind.set_menu(self.menu) - - def load_config(self): - """ - Open the config file specified in args load into self.config - Removes commented lines starting in //, or multi-line comments - wrapped in /* */ - """ - logging.info('Opening config file '+args.config) - config = "" - for line in open(args.config, 'r'): - if line.find('//') == -1: - config += line - config = re.sub("/\*[^*]*\*/", "", config) - self.config = json.loads(config) - logging.info('Config loaded') - - def menu_setup(self): - """ - Create the menu with some basic items - """ - logging.info('Creating menu') - # create a menu - self.menu = gtk.Menu() - - self.sep1 = gtk.SeparatorMenuItem() - self.sep1.show() - self.menu.append(self.sep1) - - if self.btsync_user: - filepath = self.config['storage_path']+'/paused' - self.pause_item = gtk.CheckMenuItem("Pause Syncing") - self.pause_item_handler = self.pause_item.connect("activate", self.toggle_pause) - self.pause_item.show() - self.menu.append(self.pause_item) - - self.webui_item = gtk.MenuItem("Open Web Interface") - self.webui_item.connect("activate", self.open_webui) - self.webui_item.show() - self.menu.append(self.webui_item) - - self.sep2 = gtk.SeparatorMenuItem() - self.sep2.show() - self.menu.append(self.sep2) - - filepath = self.config['storage_path']+'/debug.txt' - self.debug_item = gtk.CheckMenuItem("Enable Debug Logging") - self.debug_item.set_active(os.path.isfile(filepath)) - self.debug_item_handler = self.debug_item.connect("activate", self.toggle_debugging) - self.debug_item.show() - self.menu.append(self.debug_item) - - if self.btsync_user: - buf = "Quit Bittorrent Sync" - else: - buf = "Quit" - self.quit_item = gtk.MenuItem(buf) - self.quit_item.connect("activate", self.quit) - self.quit_item.show() - self.menu.append(self.quit_item) - logging.info('Menu initalisation complete') - - def setup_session(self): - """ - Attempt to setup the session with the btsync server - * Calls token.html, stores the token and cookie - * Calls various actions called by the web interface on init and stores results - * Initialises check_status loop - If the server cannot be contacted, waits 5 seconds and retries. - """ - try: - logging.info('Requesting Token'); - tokenparams = {'t': time.time()} - tokenurl = self.urlroot+'token.html' - tokenresponse = requests.post(tokenurl, params=tokenparams) - regex = re.compile("]+>([^<]+)") - html = self.get_response_text(tokenresponse) - r = regex.search(html) - self.token = r.group(1) - self.cookies = tokenresponse.cookies - logging.info('Token '+self.token+' Retrieved'); - - actions = [ - 'license', - 'getostype', - 'getsettings', - 'getversion', - 'getdir', - 'checknewversion', - 'getuserlang', - 'iswebuilanguageset'] - - - for a in actions: - params = {'token': self.token, 'action': a} - response = requests.get(self.urlroot, params=params, cookies=self.cookies) - self.info[a] = json.loads(self.get_response_text(response)) - - self.clear_error() - - logging.info('Session setup complete, initialising check_status loop'); - - self.status = { 'folders': [] } - - gtk.timeout_add(TIMEOUT * 1000, self.check_status) - return False - - except requests.exceptions.ConnectionError: - logging.warning('Connection Error caught, displaying error message'); - self.show_error("Couldn't connect to Bittorrent Sync at "+self.urlroot) - return True - - def check_status(self): - """ - Gets the current status of btsync and updates the menu accordingly - Shows each shared folder with connected peer and any transfer activity - with it. Also retrieves the secrets for each folder. - If the server cannot be contacted, stops polling and attempts calls setup_session - to establish a new session. - """ - """ - Since some state information from the btsync-agent may be changed from outside, - we should keep it also up to date in the menu... - """ - filepath = self.config['storage_path']+'/debug.txt' - self.debug_item.disconnect(self.debug_item_handler) - self.debug_item.set_active(os.path.isfile(filepath)) - self.debug_item_handler = self.debug_item.connect("activate", self.toggle_debugging) - - if self.btsync_user: - filepath = self.config['storage_path']+'/paused' - self.pause_item.disconnect(self.pause_item_handler) - self.pause_item.set_active(os.path.isfile(filepath)) - self.pause_item_handler = self.pause_item.connect("activate", self.toggle_pause) - - try: - logging.info('Requesting status'); - params = {'token': self.token, 'action': 'getsyncfolders'} - response = requests.get(self.urlroot, params=params, cookies=self.cookies) - - self.clear_error() - - status = json.loads(self.get_response_text(response)) - - self.check_activity(status['folders']) - - curfoldernames = [ folder['name'] for folder in self.status['folders'] ] - newfoldernames = [ folder['name'] for folder in status['folders'] ] - - updatefolders = [ folder for folder in status['folders'] if folder['name'] in curfoldernames ] - newfolders = [ folder for folder in status['folders'] if folder['name'] not in curfoldernames ] - oldfolders = [ folder for folder in self.status['folders'] if folder['name'] not in newfoldernames ] - - for folder in newfolders: - name = folder['name'] - menuitem = gtk.MenuItem(name) - self.menu.prepend(menuitem) - menuitem.show() - folderitem = {'menuitem': menuitem, 'sizeitem': {}, 'peeritems': {}} - self.folderitems[name] = folderitem - submenu = self.build_folder_menu(folder) - menuitem.set_submenu(submenu) - - for folder in updatefolders: - self.update_folder_menu(folder) - - for folder in oldfolders: - name = folder['name'] - self.menu.remove(self.folderitems[name]['menuitem']) - del self.folderitems[name] - - self.status = status - return True - - except requests.exceptions.ConnectionError: - logging.warning('Status request failed, attempting to re-initialise session') - self.show_error("Lost connection to Bittorrent Sync") - self.folderitems = {} - self.status = { 'folders': [] } - gtk.timeout_add(5000, self.setup_session) - return False - - def check_activity(self, folders): - """ - Given the current folder list from the server, determines - whether there is any network activity and sets a flag in - self.active - """ - isactive = False - for folder in folders: - for peer in folder['peers']: - if peer['status'].find('Synced') == -1: - logging.info('Sync activity detected') - isactive = True - break - - self.active = isactive - if self.active: - if self.animate == None: - logging.info('Starting animation loop') - gtk.timeout_add(1000, self.animate_icon) - - def format_status(self, peer): - """ - Formats the peer status information for display. - Substitues HTML tags with appropriate unicode characters and - returns name followed by status. - """ - name = peer['name'] - status = peer['status'].replace("
", "⇧") - status = status.replace("
", "⇩") - return name+': '+status - - def build_folder_menu(self, folder): - """ - Build a submenu for the specified folder, - including items to show the size, open the folder in - the file manager, show each connected peer, and to - copy the secrets to the clipboard. - - Stores references to the size and peer items so they - can easily be updated. - """ - menu = gtk.Menu() - - folderitem = self.folderitems[folder['name']] - folderitem['sizeitem'] = gtk.MenuItem(folder['size']) - folderitem['sizeitem'].set_sensitive(False) - folderitem['sizeitem'].show() - openfolder = gtk.MenuItem('Open in File Browser') - openfolder.connect("activate", self.open_fm, folder['name']) - openfolder.show() - - menu.append(folderitem['sizeitem']) - menu.append(openfolder) - - if len(folder['peers']) > 0: - sep = gtk.SeparatorMenuItem() - sep.show() - menu.append(sep) - folderitem['topsepitem'] = sep - for peer in folder['peers']: - buf = self.format_status(peer) - img = gtk.Image() - if peer['direct']: - img.set_from_file(args.iconpath+'/btsync-direct.png') - else: - img.set_from_file(args.iconpath+'/btsync-relay.png') - peeritem = gtk.ImageMenuItem(gtk.STOCK_NEW, buf) - peeritem.set_image(img) - peeritem.set_always_show_image(True) - peeritem.set_sensitive(False) - peeritem.show() - folderitem['peeritems'][peer['name']] = peeritem - menu.append(peeritem) - else: - folderitem['topsepitem'] = None - - sep = gtk.SeparatorMenuItem() - sep.show() - menu.append(sep) - folderitem['bottomsepitem'] = sep - - readonly = gtk.MenuItem('Get Read Only Secret') - readonly.connect("activate", self.copy_secret, folder['readonlysecret']) - readwrite = gtk.MenuItem('Get Full Access Secret') - readwrite.connect("activate", self.copy_secret, folder['secret']) - - readonly.show() - readwrite.show() - - menu.append(readonly) - menu.append(readwrite) - - return menu - - def update_folder_menu(self, folder): - """ - Updates the submenu for the given folder with the current size - and updates each peer. - """ - folderitem = self.folderitems[folder['name']] - folderitem['sizeitem'].set_label(folder['size']) - menu = folderitem['menuitem'].get_submenu() - - curfolder = [ f for f in self.status['folders'] if folder['name'] == f['name'] ].pop() - curpeernames = [ peer['name'] for peer in curfolder['peers'] ] - newpeernames = [ peer['name'] for peer in folder['peers'] ] - - updatepeers = [ peer for peer in folder['peers'] if peer['name'] in curpeernames ] - newpeers = [ peer for peer in folder['peers'] if peer['name'] not in curpeernames ] - oldpeers = [ peer for peer in curfolder['peers'] if peer['name'] not in newpeernames ] - - - for peer in newpeers: - bottomseppos = menu.get_children().index(folderitem['bottomsepitem']) - buf = self.format_status(peer) - peeritem = gtk.MenuItem(buf) - peeritem.set_sensitive(False) - peeritem.show() - folderitem['peeritems'][peer['name']] = peeritem - - pos = bottomseppos - - if (folderitem['topsepitem'] == None): - sep = gtk.SeparatorMenuItem() - sep.show() - menu.insert(sep, pos) - folderitem['topsepitem'] = sep - pos = pos+1 - - menu.insert(peeritem, pos) - - for peer in updatepeers: - buf = self.format_status(peer) - folderitem['peeritems'][peer['name']].set_label(buf) - - for peer in oldpeers: - menu.remove(folderitem['peeritems'][peer['name']]) - topseppos = menu.get_children().index(folderitem['topsepitem']) - bottomseppos = menu.get_children().index(folderitem['bottomsepitem']) - if (topseppos == bottomseppos-1): - menu.remove(folderitem['topsepitem']) - folderitem['topsepitem'] = None - - - def show_error(self, message): - """ - Removes all items from the menu (except quit) and displays an error - message in their place. Also changes the icon to an error icon. - """ - self.active = False - if self.error_item == None: - self.set_icon('-error') - - for child in self.menu.get_children(): - if child == self.sep1: - pass - elif child == self.pause_item: - pass - elif child == self.webui_item: - self.webui_item.set_sensitive(False) - elif child == self.sep2: - pass - elif child == self.debug_item: - pass - elif child == self.quit_item: - pass - else: - self.menu.remove(child) - - self.error_item = gtk.MenuItem(message) - self.error_item.set_sensitive(False) - self.menu.prepend(self.error_item) - self.error_item.show() - - def clear_error(self): - """ - Removes the error message from the menu and changes the icon back - to normal - """ - self.webui_item.set_sensitive(True) - if self.error_item != None: - self.menu.remove(self.error_item) - self.error_item = None - self.set_icon('') - - def copy_secret(self, menuitem, secret): - """ - Copies the supplied secret to the clipboard - """ - self.clipboard.set_text(secret) - logging.info('Secret copied to clipboard') - logging.debug(secret) - return True; - - def animate_icon(self): - """ - Cycles the icon through 3 frames to indicate network activity - """ - if self.active == False: - logging.info('Terminating animation loop; Resetting icon'); - self.animate = None - self.set_icon('') - self.frame = 0 - return False - else: - self.animate = True - logging.debug('Setting animation frame to {}'.format(self.frame % 3)) - self.set_icon('-active-{}'.format(self.frame % 3)) - self.frame += 1 - return True - - def set_icon(self, variant): - """ - Changes the icon to the given variant - """ - logging.debug('Setting icon to '+args.iconpath+'/btsync'+variant) - self.ind.set_icon('btsync'+variant) - return False - - def open_webui(self, widget): - """ - Opens a browser to the address of the WebUI indicated in the config file - """ - logging.info('Opening Web Browser to http://'+self.config['webui']['listen']) - webbrowser.open('http://'+self.config['webui']['listen'], 2) - return True - - def open_fm(self, widget, path): - logging.info('Opening File manager to '+path) - if os.path.isdir(path): - os.system('xdg-open '+path) - - def toggle_debugging(self, widget): - """ - Creates or clears the debugging flags for btsync - """ - filepath = self.config['storage_path']+'/debug.txt' - if (os.path.isfile(filepath)): - os.unlink(filepath) - logging.info('Bittorrent Sync debugging disabled') - else: - f = open(filepath, 'w') - f.write('FFFF') - logging.info('Bittorrent Sync debugging enabled') - return True - - def toggle_pause(self, widget): - """ - handles the pause/resume feature - """ - btsyncmanager = "/usr/bin/btsync" - if (os.path.exists(btsyncmanager)): - try: - filepath = self.config['storage_path']+'/paused' - if (os.path.isfile(filepath)): - logging.info('Calling '+btsyncmanager+ ' resume') - subprocess.check_call([btsyncmanager, 'resume']) - logging.info('Bittorrent Sync resumed') - else: - logging.info('Calling '+btsyncmanager+ ' pause') - subprocess.check_call([btsyncmanager, 'pause']) - logging.info('Bittorrent Sync paused') - except subprocess.CalledProcessError, e: - logging.warning('btsync manager failed with status '+e.returncode) - logging.warning(e.output) - else: - logging.error("Cant find btsync manager at "+btsyncmanager) - return True - - def get_response_text(self, response): - """ - Version-safe way to get the response text from a requests module response object - Older versions use response.content instead of response.text - """ - return response.text if hasattr(response, "text") else response.content - - def main(self): - gtk.timeout_add(TIMEOUT * 1000, self.setup_session) - gtk.main() - - def quit(self, widget): - logging.info('Exiting') - - if self.btsync_user: - logging.info('Running btsync-stopper before exit') - try: - stopper = os.path.dirname(os.path.realpath(__file__))+"/btsync-stopper" - if (os.path.exists(stopper)): - logging.info('Calling '+stopper) - subprocess.check_call(stopper) - else: - logging.error("Cant find btsync-stopper at "+stopper) - except subprocess.CalledProcessError, e: - logging.warning('btsync-stopper failed with status '+e.returncode) - logging.warning(e.output) - print "Cannot Exit btsync: "+e.output - print "Please Exit btsync manually" - - sys.exit(0) - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('--config', - default=os.environ['HOME']+'/.btsync.conf', - help="Location of Bittorrent Sync config file") - parser.add_argument('--iconpath', - default=os.path.dirname(os.path.realpath(__file__))+"/icons", - help="Path to icon theme folder") - parser.add_argument('-v', '--version', - action='store_true', - help="Print version information and exit") - parser.add_argument('--log', - default='WARNING', - help="Set logging level") - args = parser.parse_args() - - numeric_level = getattr(logging, args.log.upper(), None) - if not isinstance(numeric_level, int): - raise ValueError('Invalid log level: %s' % args.log) - - logging.basicConfig(level=numeric_level) - - if (args.version): - print os.path.basename(__file__)+" Version "+VERSION; - exit() - - indicator = BtSyncIndicator() - indicator.main() Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-active-0.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-active-0.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-active-1.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-active-1.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-active-2.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-active-2.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-attention.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-attention.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-direct.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-direct.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-error.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-error.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync-relay.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync-relay.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/btsyncindicator/icons/btsync.png and /tmp/gflm7TRayZ/btsync-1.2.0/btsyncindicator/icons/btsync.png differ diff -Nru btsync-1.1.82.1/debian/btsync-user.README.Debian btsync-1.2.0/debian/btsync-user.README.Debian --- btsync-1.1.82.1/debian/btsync-user.README.Debian 2013-10-02 13:35:24.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.README.Debian 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -btsync-user for Debian ----------------------- - -This package of BitTorrent Sync is mainly intended for generic desktop usage. -It tries to create a desktop experience similar to Windows or Mac OS/X: When -the user logs in, an instance of BitTorrent Sync is automatically launched -under the user's credentials and an applet is launched enabling the user -to control the application. - -The web UI of btsync can be launched through the applet or by a user specific -desktop shortcut. - -The configuration file for each user is created automatically in his home -directory based on the template /etc/btsync-user/btsync-user.conf with the -filename ~/.btsync.conf defining a user specific device name, a user specific -storage directory (~/.btsync), a user specific PID file and a user specific -port number for the web ui. A user specific web ui shortcut is created in -~/.local/share/applications - -In order to give more freedom to the advanced user, there is also a -possibility to launch BitTorrent Sync with a custom configuration file -instead of the automatically created file: the startup routine of BitTorrent -Sync checks, if there is a file named btsync.conf in the home directory of -the user. If ~/btsync.conf is found, then it is used as configuration file. -If not, BitTorrent Sync uses the automatically created default configuration -file ~/.btsync.conf that will be recreated on every restart. - -The simplest way to create a custom configuration file, is to create a copy -of the default configuration file and then to edit it according to your -needs: - -cp ~/.btsync.conf ~/btsync.conf - -When you are ready with your modifications, you can restart BitTorrent Sync -by executing: - -btsync restart - -on the command line. - - -- Leo Moll Sun, 3 Oct 2013 15:29:17 +0200 diff -Nru btsync-1.1.82.1/debian/btsync-user.dirs btsync-1.2.0/debian/btsync-user.dirs --- btsync-1.1.82.1/debian/btsync-user.dirs 2013-09-18 09:11:47.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.dirs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# dirs -etc/btsync-user -usr/lib/btsync-user diff -Nru btsync-1.1.82.1/debian/btsync-user.docs btsync-1.2.0/debian/btsync-user.docs --- btsync-1.1.82.1/debian/btsync-user.docs 2013-10-15 17:40:15.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -# docs -btsyncindicator/README.md diff -Nru btsync-1.1.82.1/debian/btsync-user.install btsync-1.2.0/debian/btsync-user.install --- btsync-1.1.82.1/debian/btsync-user.install 2013-10-15 17:40:55.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# files -scripts/btsync-agent.desktop usr/share/applications -scripts/btsync-user.conf etc/btsync-user -scripts/btsync-user.desktop etc/btsync-user -scripts/btsync-starter usr/lib/btsync-user -scripts/btsync-stopper usr/lib/btsync-user -scripts/btsync-tester usr/lib/btsync-user -scripts/btsync usr/bin -icons/96/btsync-user.png usr/share/icons/hicolor/96x96/apps -icons/48/btsync-user.png usr/share/icons/hicolor/48x48/apps -icons/32/btsync-user.png usr/share/icons/hicolor/32x32/apps -icons/16/btsync-user.png usr/share/icons/hicolor/16x16/apps - -btsyncindicator/btsyncindicator.py usr/lib/btsync-user -btsyncindicator/icons/btsync.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-active-0.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-active-1.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-active-2.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-attention.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-error.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-direct.png usr/share/icons/hicolor/22x22/status -btsyncindicator/icons/btsync-relay.png usr/share/icons/hicolor/22x22/status diff -Nru btsync-1.1.82.1/debian/btsync-user.links btsync-1.2.0/debian/btsync-user.links --- btsync-1.1.82.1/debian/btsync-user.links 2013-10-15 17:13:01.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.links 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -# links - src dest -usr/lib/btsync-common/btsync-core usr/lib/btsync-user/btsync-agent diff -Nru btsync-1.1.82.1/debian/btsync-user.manpages btsync-1.2.0/debian/btsync-user.manpages --- btsync-1.1.82.1/debian/btsync-user.manpages 2013-10-15 17:14:45.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -man/btsync.7 diff -Nru btsync-1.1.82.1/debian/btsync-user.postinst btsync-1.2.0/debian/btsync-user.postinst --- btsync-1.1.82.1/debian/btsync-user.postinst 2013-10-15 23:39:49.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -#!/bin/sh -# postinst script for btsync-user -# -# see: dh_installdeb(1) - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -set -e - -case "$1" in -configure) - unset DISPLAY # No GUI launched from postinst please - - # generate autostart link - set +e - if [ -d /etc/xdg/autostart ]; then - ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/autostart/btsync-agent.desktop - elif [ -d /etc/xdg/openbox/autostart ]; then - ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/openbox/autostart/btsync-agent.desktop - elif [ -d /usr/share/autostart ]; then - ln -sf /usr/share/applications/btsync-agent.desktop /usr/share/autostart/btsync-agent.desktop - else - # fallback: no /etc/xdg/autostart - create one - mkdir /etc/xdg/autostart - ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/autostart/btsync-agent.desktop - fi - set -e - - if [ -f /var/run/btsync-user-updating ]; then - rm -f /var/run/btsync-user-updating - fi - - ;; - -abort-upgrade|abort-remove|abort-deconfigure) - ;; - -*) - echo "postinst called with unknown argument '$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff -Nru btsync-1.1.82.1/debian/btsync-user.postrm btsync-1.2.0/debian/btsync-user.postrm --- btsync-1.1.82.1/debian/btsync-user.postrm 2013-10-15 23:38:15.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -#!/bin/sh -# postrm script for btsync-user -# -# see: dh_installdeb(1) - -set -e - -case "$1" in -remove|purge) - set +e - rm -f /etc/xdg/autostart/btsync-agent.desktop - rm -f /etc/xdg/openbox/autostart/btsync-agent.desktop - rm -f /usr/share/autostart/btsync-agent.desktop - set -e - ;; -upgrade|disappear) - ;; -failed-upgrade) - ;; - -*) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff -Nru btsync-1.1.82.1/debian/btsync-user.prerm btsync-1.2.0/debian/btsync-user.prerm --- btsync-1.1.82.1/debian/btsync-user.prerm 2013-10-15 23:37:17.000000000 +0000 +++ btsync-1.2.0/debian/btsync-user.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -#!/bin/sh -# prerm script for btsync-user -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `upgrade' -# * `failed-upgrade' -# * `remove' `in-favour' -# * `deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -# Source debconf library. -. /usr/share/debconf/confmodule - -CONFFILE=/etc/btsync/debconf-user-default.conf - -case "$1" in -remove|deconfigure) - set +e - rm -f /var/run/btsync-user-updating - pkill -f btsync-starter - pkill -f btsyncindicator.py - pkill -x btsync-agent - set -e - ;; -upgrade) - set +e - touch /var/run/btsync-user-updating - pkill btsync-agent - set -e - ;; - -failed-upgrade) - set +e - rm -f /var/run/btsync-user-updating - set -e - ;; - -*) - echo "prerm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff -Nru btsync-1.1.82.1/debian/btsync.README.Debian btsync-1.2.0/debian/btsync.README.Debian --- btsync-1.1.82.1/debian/btsync.README.Debian 2013-10-30 20:06:01.000000000 +0000 +++ btsync-1.2.0/debian/btsync.README.Debian 2013-11-14 21:24:16.000000000 +0000 @@ -16,20 +16,28 @@ to specify additional configuration parameters. Configuration parameters not parsed by btsync but by the daemon -scripts can be supplied as comments in the configuration file. +init script can be supplied as comments in the configuration file. The following parameters are supported: -DAEMON_UID: A uid for specifying the user under which +DAEMON_UID: A uid for supplying the user under which the btsync daemon should run -DAEMON_GID: A gid for specifying the group under which +DAEMON_GID: A gid for supplying the group under which the btsync daemon should run. If omitted the daemon will run under the primary group of the user -DAEMON_UMASK: The umask for the btsync damon. If omitted - the default umask is used. +DAEMON_UMASK: The umask (up to 4 octal digits) for the + btsync daemon. If omitted the default umask + is used. + +DAEMON_DEBUG: The debug mask (4 hex digits) for the btsync + daemon. If omitted the init script will not + touch potential settings defined manually. + If set to 0000, a potential settings file + will be deleted. Full detail is set by + specifying FFFF The parameter definition must use an equal sign ("="): diff -Nru btsync-1.1.82.1/debian/btsync.config btsync-1.2.0/debian/btsync.config --- btsync-1.1.82.1/debian/btsync.config 2013-06-29 14:55:34.000000000 +0000 +++ btsync-1.2.0/debian/btsync.config 2013-11-12 15:58:54.000000000 +0000 @@ -97,7 +97,7 @@ db_go db_get btsync/lan_use_tcp -db_input medium btsync/rate_limit_local_peers|| true +db_input medium btsync/rate_limit_local_peers || true db_go db_get btsync/rate_limit_local_peers @@ -107,3 +107,45 @@ db_go db_get btsync/folder_rescan_interval done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 5000 ]; do + db_input medium btsync/max_file_size_diff_for_patching || true + db_go + db_get btsync/max_file_size_diff_for_patching +done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 5000 ]; do + db_input medium btsync/max_file_size_for_versioning || true + db_go + db_get btsync/max_file_size_for_versioning +done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 100 ]; do + db_input medium btsync/send_buf_size || true + db_go + db_get btsync/send_buf_size +done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 100 ]; do + db_input medium btsync/recv_buf_size || true + db_go + db_get btsync/recv_buf_size +done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 6000 ]; do + db_input medium btsync/sync_max_time_diff || true + db_go + db_get btsync/sync_max_time_diff +done + +RET=-1 +until [ -z $RET ] || [ $RET -ge 1 -a $RET -le 365 ]; do + db_input medium btsync/sync_trash_ttl || true + db_go + db_get btsync/sync_trash_ttl +done diff -Nru btsync-1.1.82.1/debian/btsync.default btsync-1.2.0/debian/btsync.default --- btsync-1.1.82.1/debian/btsync.default 2013-10-27 14:19:42.000000000 +0000 +++ btsync-1.2.0/debian/btsync.default 2013-11-14 17:33:12.000000000 +0000 @@ -16,3 +16,7 @@ # You should only add thngs here if you know EXACTLY what # you are doing! DAEMON_ARGS="" +# +# Enable this to see more output during the init script +# execution +#DAEMON_INIT_DEBUG=1 diff -Nru btsync-1.1.82.1/debian/btsync.init.d btsync-1.2.0/debian/btsync.init.d --- btsync-1.1.82.1/debian/btsync.init.d 2013-10-30 20:14:49.000000000 +0000 +++ btsync-1.2.0/debian/btsync.init.d 2013-11-16 16:22:24.000000000 +0000 @@ -18,10 +18,10 @@ # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="P2P file synchronisation daemon(s)" # Introduce a short description here -NAME=btsync # Introduce the short server's name here -DAEMON=/usr/lib/btsync/btsync-daemon # Introduce the server's location here -DAEMON_ARGS="" # Arguments to run the daemon with +DESC="P2P file synchronisation daemon(s)" +NAME=btsync +DAEMON=/usr/lib/btsync/btsync-daemon +DAEMON_ARGS="" SCRIPTNAME=/etc/init.d/$NAME CONFIG_DIR=/etc/$NAME CONFIG_EXT=conf @@ -43,13 +43,8 @@ test $DEBIAN_SCRIPT_DEBUG && set -v -x -test -x $DAEMON || exit 0 test -d $CONFIG_DIR || exit 0 -# Source defaults file; edit that file to configure this script. -STATUSREFRESH=10 -OMIT_SENDSIGS=0 - set +e log_message () { @@ -77,6 +72,31 @@ log_message "err" "$@" } +log_display_msg () { + echo "$@" + log_message "info" "$@" +} + +log_error_msg () { + log_failure_msg "$@" + log_message "err" "$@" +} + +config_debug () { + if [ $DAEMON_INIT_DEBUG ]; then + log_display_msg "== ${1} ===========================" + log_display_msg "File Name: '$CONFFILE'" + log_display_msg "Name Part: '$BASENAME'" + log_display_msg "Credential Part: '$CREDENTIALS'" + log_display_msg "Run As User: '$CRED_UID'" + log_display_msg "Run As Group: '$CRED_GID'" + log_display_msg "Run with umask: '$UMASK'" + log_display_msg "Storage Path: '$STORAGE_PATH'" + log_display_msg "PID File: '$PID_FILE'" + log_display_msg "Debug flags: '$DMASK'" + fi +} + config_from_conffile () { # $1 : config file BASENAME=${1%%.*${CONFIG_EXT}} @@ -88,7 +108,7 @@ # new method: credentials encoded in comments in the config file # if found this supersedes credentials encoded into # the filename - if grep 'DAEMON_.ID' ${CONFIG_DIR}/$1 > /dev/null; then + if grep -w 'DAEMON_[UI]ID' ${CONFIG_DIR}/$1 > /dev/null; then # credential information found CRED_UID=$(grep 'DAEMON_UID[ \t]*=' ${CONFIG_DIR}/$1 | cut -d= -f 2 | sed -e "s/ //g" -e "s/\t//g") CRED_GID=$(grep 'DAEMON_GID[ \t]*=' ${CONFIG_DIR}/$1 | cut -d= -f 2 | sed -e "s/ //g" -e "s/\t//g") @@ -102,7 +122,24 @@ CREDENTIALS="" fi fi + CRED_UID=${CRED_UID:-root} + CRED_GID=${CRED_GID:-root} + # umask encoded in comments in the config file UMASK=$(grep 'DAEMON_UMASK[ \t]*=' ${CONFIG_DIR}/$1 | cut -d= -f 2 | sed -e "s/ //g" -e "s/\t//g") + UMASK=$(expr match "${UMASK}" '\([0-7]\{1,4\}\)') + UMASK=${UMASK:-$(umask)} + # debug mask encoded in comments in the config file + DMASK=$(grep 'DAEMON_DEBUG[ \t]*=' ${CONFIG_DIR}/$1 | cut -d= -f 2 | sed -e "s/ //g" -e "s/\t//g") + DMASK=$(expr match "${DMASK}" '\([0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f]\)' | tr "[a-f]" "[A-F]") + # storage_path as saved in config file. This parameter is mandatory + STORAGE_PATH=$(grep '^[[:space:]]*"storage_path"' ${CONFIG_DIR}/$1 | cut -d":" -f 2 | cut -d"," -f 1) + STORAGE_PATH=$(expr match "${STORAGE_PATH}" '^[[:space:]]*"\(.*\)".*') + # pid_file as saved in config file. If not specified defaults to ${storage_path}/sync.pid + PID_FILE=$(grep '^[[:space:]]*"pid_file"' ${CONFIG_DIR}/$1 | cut -d":" -f 2 | cut -d"," -f 1) + PID_FILE=$(expr match "${PID_FILE}" '^[[:space:]]*"\(.*\)".*') + PID_FILE=${PID_FILE:-${STORAGE_PATH}/sync.pid} + # load update check setting + UPDATE_CHECK_DISABLED=$(grep '^[[:space:]]*"check_for_updates"' ${CONFIG_DIR}/$1 | cut -d":" -f 2 | cut -d"/" -f 1 | cut -d"," -f 1 | grep -c false) } config_from_name () { @@ -122,39 +159,38 @@ config_from_name "${BASENAME}" } -test_valid_conffile () { - # $1 : config file - CHECK=$(grep '^[[:space:]]*"check_for_updates"' $CONFIG_DIR/$1 | cut -d":" -f 2 | cut -d"/" -f 1 | cut -d"," -f 1 | grep -c false) - if [ $CHECK -ne 1 ]; then - log_error "Instance name $BASENAME has autoupdate enabled. Interrupting sequence." - log_failure_msg "Instance name $BASENAME has autoupdate enabled. Interrupting sequence." - unset CHECK - exit 1 - fi - unset CHECK -} - test_valid_config () { - if [ -z "${BASENAME}" ]; then - log_failure_msg "No instance name detected. Interrupting sequence." + # test for undetected base name (this should never happen) + if [ -z ${BASENAME} ]; then + log_error_msg "No instance name detected. Interrupting sequence." exit 1 fi - if [ -z "${CRED_UID}" ]; then - CRED_UID="root" - fi - if [ -z "${CRED_GID}" ]; then - CRED_GID="root" - fi - if [ -z "{UMASK}" ]; then - UMASK="$(umask)" + # test for duplicate instance name with different credentials. + # this can only happen with old style credentials encoded into the config file name + if [ $(ls -l ${CONFIG_DIR}/${BASENAME}*.${CONFIG_EXT} 2> /dev/null | wc -l) -gt 1 ]; then + log_error_msg "Duplicate instance name $BASENAME found. Interrupting sequence." + exit 1 fi - CHECK=$(ls -l ${CONFIG_DIR}/${BASENAME}*.${CONFIG_EXT} 2> /dev/null | wc -l) - if [ ${CHECK} -gt 1 ]; then - log_failure_msg "Duplicate instance name $BASENAME found. Interrupting sequence." - unset CHECK + # test for disabled update check + if [ ${UPDATE_CHECK_DISABLED} -ne 1 ]; then + log_error_msg "Instance name $BASENAME has autoupdate enabled. Interrupting sequence." exit 1 fi - unset CHECK + # test for undetected storage path in config file + if [ -z ${STORAGE_PATH} ]; then + log_error_msg "Cannot determine storage path for ${BASENAME}. Interrupting sequence." + exit 2 + fi + # test for absolute storage path in config file AND storage path not / + case $(expr match "${STORAGE_PATH}" '/.*') in + 0) log_error_msg "Storage path for ${BASENAME} must be absolute. Interrupting sequence." + exit 1 + ;; + 1) log_error_msg "Storage path for ${BASENAME} cannot be the root of filesystem. Interrupting sequence." + exit 1 + ;; + *) ;; + esac } test_running () { @@ -189,27 +225,57 @@ fi } +adjust_storage_path () { + # make sure the specified storage path exists.... + mkdir -p "${STORAGE_PATH}" + # and adapt the ownership of the storage path + if [ -n "${CREDENTIALS}" ]; then + chown -R ${CREDENTIALS} "${STORAGE_PATH}" + fi +} + +adjust_debug_flags () { + if [ -z ${STORAGE_PATH} ]; then + return + fi + if [ -n "${DMASK}" ]; then + if [ "${DMASK}" = "0000" ]; then + # remove mask specification file + rm -f "${CREDENTIALS}" "${STORAGE_PATH}/debug.txt" + else + if [ ! -d "${STORAGE_PATH}" ]; then + # initial launch: storage path does not exist + mkdir -p "${STORAGE_PATH}" + # make sure the owner is correct + if [ -n "${CREDENTIALS}" ]; then + chown "${CREDENTIALS}" "${STORAGE_PATH}" + fi + fi + echo "${DMASK}" > "${STORAGE_PATH}/debug.txt" + if [ -n "${CREDENTIALS}" ]; then + chown "${CREDENTIALS}" "${STORAGE_PATH}/debug.txt" + fi + fi + fi + # ignore mask specification file if DAEMON_DEBUG is not specified +} + start_btsync () { -# debug helpers -# echo "== START ===========================" -# echo "File Name: '$CONFFILE'" -# echo "Name Part: '$BASENAME'" -# echo "Credential Part: '$CREDENTIALS'" -# echo "Run As User: '$CRED_UID'" -# echo "Run As Group: '$CRED_GID'" -# echo "Run with umask: '$UMASK'" + config_debug "START" adjust_arm_alignment + adjust_storage_path + adjust_debug_flags STATUS=0 start-stop-daemon --start --quiet --oknodo \ --pidfile /var/run/$NAME.$BASENAME.pid \ --make-pidfile ${CREDENTIALS:+--chuid ${CREDENTIALS}} \ --background ${UMASK:+--umask ${UMASK}} \ --exec $DAEMON \ - -- --nodaemon --config $CONFIG_DIR/$CONFFILE $DAEMON_ARGS || STATUS=1 + -- --nodaemon --log file --config $CONFIG_DIR/$CONFFILE $DAEMON_ARGS || STATUS=1 if [ $STATUS -gt 0 ]; then # start-stop-daemon failed. Let's exit immediately - log_error "Failed to start $NAME instance $BASENAME - please check the configuration file $CONFIG_DIR/$CONFFILE" + log_error_msg "Failed to start $NAME instance $BASENAME - please check the configuration file $CONFIG_DIR/$CONFFILE" return 1 fi # since btsync does not return an acceptable error @@ -219,7 +285,7 @@ until test_running $BASENAME; do # and wait for the process to come up if [ $WAITCNT -ge $TIMEOUT ]; then - log_error "Failed to start $NAME instance $BASENAME - please check the configuration file $CONFIG_DIR/$CONFFILE" + log_error_msg "Failed to start $NAME instance $BASENAME - please check the configuration file $CONFIG_DIR/$CONFFILE" STATUS=1 return 1 fi @@ -230,14 +296,7 @@ } stop_btsync () { -# debug helpers -# echo "== STOP ===========================" -# echo "File Name: '$CONFFILE'" -# echo "Name Part: '$BASENAME'" -# echo "Credential Part: '$CREDENTIALS'" -# echo "Run As User: '$CRED_UID'" -# echo "Run As Group: '$CRED_GID'" -# echo "Run with umask: '$UMASK'" + config_debug "STOP" adjust_arm_alignment STATUS=0 start-stop-daemon --stop --quiet \ @@ -262,7 +321,6 @@ # all btsync instances shall be started automatically for CONFFILE in `cd $CONFIG_DIR; ls *.${CONFIG_EXT} 2> /dev/null`; do config_from_conffile "${CONFFILE}" - test_valid_conffile "${CONFFILE}" test_valid_config log_daemon_msg "Autostarting btsync instance '$BASENAME'" start_btsync @@ -273,13 +331,12 @@ for BASENAME in $AUTOSTART ; do config_from_name "${BASENAME}" if [ -f $CONFIG_DIR/$CONFFILE ]; then - test_valid_conffile "${CONFFILE}" test_valid_config log_daemon_msg "Autostarting btsync instance '$BASENAME'" start_btsync log_end_msg $STATUS else - log_failure_msg "Autostarting btsync instance '$BASENAME': missing $CONFIG_DIR/$CONFFILE file !" + log_error_msg "Autostarting btsync instance '$BASENAME': missing $CONFIG_DIR/$CONFFILE file !" STATUS=1 fi done @@ -290,16 +347,15 @@ [ -z "$1" ] && break config_from_name "$1" if [ -z "$CONFFILE" ]; then - log_failure_msg "Requested btsync instance '$1' does not exist" + log_error_msg "Requested btsync instance '$1' does not exist" STATUS=1 elif [ -f $CONFIG_DIR/$CONFFILE ]; then - test_valid_conffile "${CONFFILE}" test_valid_config log_daemon_msg "Autostarting btsync instance '$BASENAME'" start_btsync log_end_msg $STATUS else - log_failure_msg "Autostarting btsync instance '$BASENAME': missing $CONFIG_DIR/$CONFFILE file !" + log_error_msg "Autostarting btsync instance '$BASENAME': missing $CONFIG_DIR/$CONFFILE file !" STATUS=1 fi done @@ -329,7 +385,7 @@ stop_btsync log_end_msg $STATUS else - log_failure_msg "Stopping btsync instance '$1': No such btsync instance is running." + log_error_msg "Stopping btsync instance '$1': No such btsync instance is running." fi done fi @@ -339,6 +395,7 @@ PIDFILE= for PIDFILE in `ls /var/run/$NAME.*.pid 2> /dev/null`; do config_from_pidfile $PIDFILE + config_debug "STATUS" status_of_proc -p $PIDFILE $(basename $DAEMON) "BTSYNC '${BASENAME}'" done ;; diff -Nru btsync-1.1.82.1/debian/btsync.install btsync-1.2.0/debian/btsync.install --- btsync-1.1.82.1/debian/btsync.install 2013-10-15 15:58:56.000000000 +0000 +++ btsync-1.2.0/debian/btsync.install 2013-11-16 16:28:04.000000000 +0000 @@ -1,7 +1,6 @@ # files samples/simple.conf etc/btsync/samples -samples/user-new.conf etc/btsync/samples -samples/user-old.jdoe.conf etc/btsync/samples +samples/user.conf etc/btsync/samples icons/96/btsync.png usr/share/icons/hicolor/96x96/apps icons/48/btsync.png usr/share/icons/hicolor/48x48/apps icons/32/btsync.png usr/share/icons/hicolor/32x32/apps diff -Nru btsync-1.1.82.1/debian/btsync.postinst btsync-1.2.0/debian/btsync.postinst --- btsync-1.1.82.1/debian/btsync.postinst 2013-10-15 16:53:27.000000000 +0000 +++ btsync-1.2.0/debian/btsync.postinst 2013-11-12 16:07:44.000000000 +0000 @@ -54,6 +54,18 @@ PASSWORD="${RET}" db_get btsync/daemon_umask || RET="" UMASK="${RET}" + db_get btsync/max_file_size_diff_for_patching || RET="" + MAX_FILE_DIFF_PATCH="${RET}" + db_get btsync/max_file_size_for_versioning || RET="" + MAX_FILE_VERSIONING="${RET}" + db_get btsync/send_buf_size || RET="" + SEND_BUF_SIZE="${RET}" + db_get btsync/recv_buf_size || RET="" + RECV_BUF_SIZE="${RET}" + db_get btsync/sync_max_time_diff || RET="" + MAX_TIME_DIFF="${RET}" + db_get btsync/sync_trash_ttl || RET="" + TRASH_TTL="${RET}" ( cat < ${CONFFILE} + if [ -n "$MAX_FILE_DIFF_PATCH" ]; then + echo " \"max_file_size_diff_for_patching\" : ${MAX_FILE_DIFF_PATCH}," >> ${CONFFILE} + fi + if [ -n "$MAX_FILE_VERSIONING" ]; then + echo " \"max_file_size_for_versioning\" : ${MAX_FILE_VERSIONING}," >> ${CONFFILE} + fi + if [ -n "$SEND_BUF_SIZE" ]; then + echo " \"send_buf_size\" : ${SEND_BUF_SIZE}," >> ${CONFFILE} + fi + if [ -n "$RECV_BUF_SIZE" ]; then + echo " \"recv_buf_size\" : ${RECV_BUF_SIZE}," >> ${CONFFILE} + fi + if [ -n "$MAX_TIME_DIFF" ]; then + echo " \"sync_max_time_diff\" : ${MAX_TIME_DIFF}," >> ${CONFFILE} + fi + if [ -n "$TRASH_TTL" ]; then + echo " \"sync_trash_ttl\" : ${TRASH_TTL}," >> ${CONFFILE} + fi + ( + cat < ${CONFFILE} + ) >> ${CONFFILE} if [ "x$LOGIN" != "x" ]; then ( cat < Sat, 16 Nov 2013 18:48:55 +0100 + +btsync (1.2.0-1) unstable; urgency=low + + * Separated server from desktop package in order to permit + separate releases (Closes #38) + * Added debconf support for all advanced settings (Closes #36) + * Fixed missing logfile generation broken with new btsync + version 1.2.67 (Closes #40) + * Added support for configuring verbose logging in the configuration + file using DAEMON_DEBUG= (Closes #44) + * Substantial improvements in error detection and reporting of the + daemon init script. + * Added Galician translation to debconf templates contributed + by Miguel Anxo Bouzada (Closes #35) + * Added Spanish translation to debconf templates contributed + by VCLL (Closes #26) + * Added Chinese simplified translation to debconf templates contributed + by Julian (Closes #43) + + -- Leo Moll Sat, 16 Nov 2013 17:26:58 +0100 + btsync (1.1.82.1-3) unstable; urgency=low - - The native upstream components from BitTorrent Inc. are no more + * The native upstream components from BitTorrent Inc. are no more included. All packages are now dependant upon the external package btsync-common which contains the btsync executables and documentation (Closes #18 and #19) - - Fixed: The init script now tests on ARM systems if the btsync + * Fixed: The init script now tests on ARM systems if the btsync executable is compatible with the alignment handling and adapts it when needed (Closes #31 and #32) - - Fixed: frontend was not be stopped on update in btsync-user + * Fixed: frontend was not be stopped on update in btsync-user (Closes #20) - - Fixed: handling of update and remove of btsync-user is now + * Fixed: handling of update and remove of btsync-user is now working as expected (Closes #22) - - Fixed: made initial installation less sensible against + * Fixed: made initial installation less sensible against startup errors - - Added German translation to debconf templates (Closes #23) - - Added Italian translation to debconf templates contributed + * Added German translation to debconf templates (Closes #23) + * Added Italian translation to debconf templates contributed by Leo Moll and Andrea Pennelli (Closes #24) - - Added French translation to debconf templates contributed + * Added French translation to debconf templates contributed by Quentin Scouflaire (Closes #25) - - Added Russian translation to debconf templates contributed + * Added Russian translation to debconf templates contributed by dimitriy5181 (Closes #27) - - Added Dutch translation to debconf templates contributed + * Added Dutch translation to debconf templates contributed by Andras Kiss (Closes #28) - - Added Hungarian translation to debconf templates contributed + * Added Hungarian translation to debconf templates contributed by Andras Kiss (Closes #29) - - Added Czech translation to debconf templates contributed + * Added Czech translation to debconf templates contributed by Marek Lukas (Closes #30) - - Added Greek translation to debconf templates contributed + * Added Greek translation to debconf templates contributed by Thanos Papaoikonomou (Closes #33) - - Added Catalan translation to debconf templates contributed + * Added Catalan translation to debconf templates contributed by VCLL (Closes #34) -- Leo Moll Thu, 31 Oct 2013 14:57:49 +0100 btsync (1.1.82-2) unstable; urgency=low - - Fixed: Package fails to build on native arm builder (Closes #15) - - Fixed: missing config file prevented btsyncindicator to + * Fixed: Package fails to build on native arm builder (Closes #15) + * Fixed: missing config file prevented btsyncindicator to start on fresh installations of btsync-user (Closes #14) - - Fixed: btsync --help does not show all available commands + * Fixed: btsync --help does not show all available commands in package btsync-user (Closes #13) - - Fixed: manpage btsync.7 was not installed in btsync-user (Closes #11) + * Fixed: manpage btsync.7 was not installed in btsync-user (Closes #11) -- Leo Moll Sun, 13 Oct 2013 17:32:26 +0200 @@ -48,28 +75,28 @@ * New upstream release 1.1.82 of btsync * New upstream release 0.10 of btsyncindicator - - Fixed: missing dependency to python-appindicator in btsync-user + * Fixed: missing dependency to python-appindicator in btsync-user (Closes #7) - - Added possibility to suspend/pause the btsync-agent in + * Added possibility to suspend/pause the btsync-agent in btsync-user (Closes #8) - - Added a unique managing command in btsync-user (Closes #9) - - Added man page for the managing command (/usr/bin/btsync) - - Released powerpc packages + * Added a unique managing command in btsync-user (Closes #9) + * Added man page for the managing command (/usr/bin/btsync) + * Released powerpc packages -- Leo Moll Sat, 12 Oct 2013 01:46:51 +0200 btsync (1.1.70-5) unstable; urgency=low - - Updated btsyncindicator to version 0.9 in btsync-user - - Added "BitTorrent Sync" desktop icon in btsync-user (Closes #6) - - Fixed: 'Response' object has no attribute 'text' bug (Closes #2) - - Fixed: removed lintian warnings (Closes #1) - - Fixed: service startup/shutdown does not affect any more + * Updated btsyncindicator to version 0.9 in btsync-user + * Added "BitTorrent Sync" desktop icon in btsync-user (Closes #6) + * Fixed: 'Response' object has no attribute 'text' bug (Closes #2) + * Fixed: removed lintian warnings (Closes #1) + * Fixed: service startup/shutdown does not affect any more installation/update/uninstallation (Closes #3) - - Fixed: the packages now install EXACTLY the same executable btsync + * Fixed: the packages now install EXACTLY the same executable btsync binary as distributed by BitTorrent Inc. - Previously the binary was stripped by debhelper (dh_strip) (Closes #4) - - Fixed: both btsync and btsync-user will not specify and strict + * Fixed: both btsync and btsync-user will not specify and strict library version dependency making it possible to install the same package on different Debian/Ubuntu/XXXbian versions without the need to create a specific package (Closes #5) @@ -78,33 +105,33 @@ btsync (1.1.70-4~sid) sid; urgency=low - - Fixed: added missing python dependencies for btsync-user - - Fixed: small cosmetic improvements in package texts - - Fixed: btsyncindicator Issue #2 - made location of bitmaps + * Fixed: added missing python dependencies for btsync-user + * Fixed: small cosmetic improvements in package texts + * Fixed: btsyncindicator Issue #2 - made location of bitmaps debian conformant - - Added possibility to open the web ui directly from btsyncindicator + * Added possibility to open the web ui directly from btsyncindicator menu (Closes #3) - - Added menu entry "Enable Debug Logging" in btsyncindicator + * Added menu entry "Enable Debug Logging" in btsyncindicator menu (Closes #4) -- Leo Moll Tue, 18 Sep 2013 11:20:44 +0200 btsync (1.1.70-3~sid) sid; urgency=low - - Fixed: added autostart support for KDE SC (/usr/share/autostart/) + * Fixed: added autostart support for KDE SC (/usr/share/autostart/) and OpenBox (/etc/xdg/openbox/autostart) in btsync-user - - Added status indicator for btsync-user (Thank to Mark Johnson) + * Added status indicator for btsync-user (Thank to Mark Johnson) -- Leo Moll Tue, 17 Sep 2013 13:25:09 +0200 btsync (1.1.70-2~sid) sid; urgency=low - - Fixed: Restart on update will work in future versions on btsync-user + * Fixed: Restart on update will work in future versions on btsync-user (Reported and fixed by dswd) - - Added multiuser support for btsync-user as suggested by user pjssilva + * Added multiuser support for btsync-user as suggested by user pjssilva (See http://bit.ly/13dBmOP) THIS MAY CHANGE THE PORT NUMBER FOR THE WEB UI - - Fixed: Sometime btsync is still not running when the startup sequence + * Fixed: Sometime btsync is still not running when the startup sequence checks if the process runs. Added sleep 1 (Suggested by raveur) -- Leo Moll Wed, 04 Sep 2013 16:07:28 +0200 @@ -118,7 +145,7 @@ btsync (1.1.69-1~sid) sid; urgency=low * New upstream release - - Fixed: Additional error message on startup + * Fixed: Additional error message on startup -- Leo Moll Tue, 13 Aug 2013 00:41:27 +0200 @@ -130,9 +157,9 @@ btsync (1.1.42-2~sid) sid; urgency=low - - Fixed: On slow systems the init scripts may fail + * Fixed: On slow systems the init scripts may fail under certain conditions (Reported by Christian Wantia) - - Fixed: The init script did not reliably detect if a + * Fixed: The init script did not reliably detect if a btsync instance is really started when more than one instance was defined @@ -158,11 +185,11 @@ btsync (1.1.30-2~sid) sid; urgency=low - - New: The init script now detects startup failures and shows + * New: The init script now detects startup failures and shows an error message. - - New: The init script now issues some syslog messages on + * New: The init script now issues some syslog messages on failures - - New: The init script now supports the "status" command + * New: The init script now supports the "status" command -- Leo Moll Thu, 11 Jul 2013 16:07:24 +0200 @@ -174,8 +201,8 @@ btsync (1.1.27-2~sid) sid; urgency=low - - Fixed: AUTOSTART in /etc/default/btsync had no effect - - Added support for custom configuration files in btsync-user + * Fixed: AUTOSTART in /etc/default/btsync had no effect + * Added support for custom configuration files in btsync-user -- Leo Moll Sun, 07 Jul 2013 15:29:51 +0200 @@ -194,23 +221,23 @@ btsync (1.1.22-1~sid) sid; urgency=low * New upstream release - - Added support for specifying the credentials in the configuration + * Added support for specifying the credentials in the configuration file using DAEMON_UID=xyz and DAEMONGID=xyz in the comments - - Added support for specifying the umask in the configuration + * Added support for specifying the umask in the configuration file using DAEMON_UMASK=nnnn in the comments - - Added debconf support for specifying the umask + * Added debconf support for specifying the umask -- Leo Moll Sat, 29 Jun 2013 16:17:11 +0200 btsync (1.1.15-1~sid) sid; urgency=low * New upstream release - - Added possibility to reconfigure the device name - - Added debconf support for disk_low_priority - - Added debconf support for folder_rescan_interval - - Added debconf support for lan_encrypt_data - - Added debconf support for lan_use_tcp - - Added debconf support for rate_limit_local_peers + * Added possibility to reconfigure the device name + * Added debconf support for disk_low_priority + * Added debconf support for folder_rescan_interval + * Added debconf support for lan_encrypt_data + * Added debconf support for lan_use_tcp + * Added debconf support for rate_limit_local_peers -- Leo Moll Sat, 15 Jun 2013 14:52:14 +0200 @@ -222,30 +249,30 @@ btsync (1.0.134.2-1~sid) sid; urgency=low - - Fixed: REALLY Replaced binary version for i386 and amd64 with + * Fixed: REALLY Replaced binary version for i386 and amd64 with versions that support the current libc -- Leo Moll Sun, 02 June 2013 15:34:39 +0200 btsync (1.0.134.1-1~sid) sid; urgency=low - - Fixed: Replaced binary version for i386 and amd64 with + * Fixed: Replaced binary version for i386 and amd64 with versions that support the current libc -- Leo Moll Sun, 02 June 2013 00:51:12 +0200 btsync (1.0.134-5~sid) sid; urgency=low - - Fixed: btsync did not start if web gui was configured to + * Fixed: btsync did not start if web gui was configured to operate with no credentials - - Fixed: btsync did not stop under certain circumstances + * Fixed: btsync did not stop under certain circumstances if there is more than one btsync.*.pid file in /var/run -- Leo Moll Mon, 28 May 2013 17:08:21 +0200 btsync (1.0.134-4~sid) sid; urgency=low - - Really Fixed: btsync-user does not work correctly due to + * Really Fixed: btsync-user does not work correctly due to relative paths in configuration file. Now the configuration file /etc/btsync-user/btsync-user.conf is only a template for generating a user specific configuration file into the @@ -255,9 +282,9 @@ btsync (1.0.134-3~sid) sid; urgency=low - - Fixed: broken parsing of usernames with dashes in btsync + * Fixed: broken parsing of usernames with dashes in btsync configuration files - - Fixed: btsync-user does not work correctly due to relative + * Fixed: btsync-user does not work correctly due to relative paths in configuration file. Now the configuration file /etc/btsync-user/btsync-user.conf is only a template for generating a user specific configuration file into the home @@ -267,33 +294,31 @@ btsync (1.0.134-2~sid) sid; urgency=low - - Fixed: bug in prerm script prevented uninstallation of + * Fixed: bug in prerm script prevented uninstallation of btsync-user - - Fixed: broken autostart and startup script in btsync-user - - Fixed: broken icons in btsync-user - - Added po-debconf support to templates - - Added force-reload pseudo-support to init script + * Fixed: broken autostart and startup script in btsync-user + * Fixed: broken icons in btsync-user + * Added po-debconf support to templates + * Added force-reload pseudo-support to init script -- Leo Moll Thu, 16 May 2013 23:55:26 +0200 btsync (1.0.134-1~sid) sid; urgency=low * New upstream release - - Fixed: Crashes on Windows - - Other bugfixes and stability improvements * Merged source for btsync and btsync-user -- Leo Moll Thu, 16 May 2013 14:52:26 +0200 btsync (1.0.132-5~sid) sid; urgency=low - - Added documentation in README.Debian - - Changed daemon location - - Changed versioning scheme - - Fixed: added needed lintian overrides - - Fixed: broken icons for administartion - - Fixed: init script variable name conflict - - Fixed: license information + * Added documentation in README.Debian + * Changed daemon location + * Changed versioning scheme + * Fixed: added needed lintian overrides + * Fixed: broken icons for administartion + * Fixed: init script variable name conflict + * Fixed: license information -- Leo Moll Thu, 15 May 2013 14:37:12 +0200 @@ -308,21 +333,12 @@ btsync (1.0.132-1) sid; urgency=low * New upstream release - + Added menu entry and icons - - Fixed: Crashes on Windows - - FreeBSD support -- Leo Moll Thu, 09 May 2013 02:33:59 +0200 btsync (1.0.130-1) sid; urgency=low * New upstream release - - Changed local date mechanism to avoid sync conflicts - - Fixed: saving settings in WebUI after restart - - Fixed: known hosts configuration on Linux - - Fixed: Most popular crashes - - Other bugfixes and stability improvements - - Fixed: access to files outside of sync folder -- Leo Moll Wed, 08 May 2013 15:41:33 +0200 @@ -335,10 +351,10 @@ btsync (1.0.116-2) sid; urgency=low * Bugfixes: - - Fixed broken check for enabled autoupdate in init script (Reported by + * Fixed broken check for enabled autoupdate in init script (Reported by Bryan Larsen) * Improvements: - - All debconf questions now have a decent default making it possible + * All debconf questions now have a decent default making it possible to install non interactively using the "noninteractive" frontend -- Leo Moll Fri, 03 May 2013 13:01:25 +0100 diff -Nru btsync-1.1.82.1/debian/control btsync-1.2.0/debian/control --- btsync-1.1.82.1/debian/control 2013-10-15 17:44:16.000000000 +0000 +++ btsync-1.2.0/debian/control 2013-11-16 17:49:51.000000000 +0000 @@ -6,12 +6,12 @@ Standards-Version: 3.9.4 Vcs-Git: https://github.com/tuxpoldo/btsync-deb.git Vcs-browser: https://github.com/tuxpoldo/btsync-deb -Homepage: http://www.bittorrent.com +Homepage: http://www.bittorrent.com/sync Package: btsync -Architecture: i386 amd64 armel armhf powerpc +Architecture: all Pre-Depends: debconf | debconf-2.0 -Depends: libc6, btsync-common +Depends: libc6, btsync-common (>= 1.2.73-1) Provides: btsync-server-daemon Description: Private network P2P file synchronisation daemon(s) BitTorrent Sync is a simple tool that applies p2p protocol for @@ -21,17 +21,3 @@ . This package installs BitTorrent Sync as a single or multiple service with or without WebUI for server/NAS deployment. - -Package: btsync-user -Architecture: i386 amd64 armel armhf powerpc -Depends: debconf | debconf-2.0, libc6, ${python:Depends}, - python-requests, python-appindicator, btsync-common -Provides: btsync-user-application -Description: Private network P2P file synchronisation daemon(s) - BitTorrent Sync is a simple tool that applies p2p protocol for - direct live folder sync with maximum security, network speed and - storage capacity. It has native versions for Mac, Windows and - Linux, as well as native NAS integration. - . - This package installs BitTorrent Sync as a WebUI and system tray - application for desktop users. diff -Nru btsync-1.1.82.1/debian/po/ca.po btsync-1.2.0/debian/po/ca.po --- btsync-1.1.82.1/debian/po/ca.po 2013-10-29 00:41:11.000000000 +0000 +++ btsync-1.2.0/debian/po/ca.po 2013-11-14 14:56:29.000000000 +0000 @@ -11,13 +11,13 @@ #. Description #: ../btsync.templates:1001 msgid "Do you want to define a default BitTorrent Sync instance?" -msgstr "Vols definir un usuari per defecte de BitTorrent Sync?" +msgstr "Vols definir una configuració predeterminada de BitTorrent Sync?" #. Type: boolean #. Description #: ../btsync.templates:1001 msgid "BitTorrent Sync can run one or more daemons based on configuration files located in /etc/btsync. You can choose to create a default instance running under root credentials that can be also reconfigured via dpkg-reconfigure or manage the whole configuration manually. In both cases you can manually manage additional instances with their own configuration files." -msgstr "BitTorrent Sync pot executar un o més processos fantasma (daemon) basats en els arxius de configuració localitzats a /etc/btsync. Pots crear un usuari per defecte executant-se amb credencials root que pot ser reconfigurat via dpkg-reconfigure o gestionant tota la configuració manualment. En els dos casos, pots gestionar manualment usuaris addicionals i els seus respectius arxius de configuració." +msgstr "BitTorrent Sync pot executar un o més processos en segon pla (daemon) basats en els arxius de configuració localitzats a /etc/btsync. Pots crear una configuració predeterminada executant-se amb credencials root que pot ser reconfigurat via dpkg-reconfigure o gestionant tota la configuració manualment. En els dos casos, pots gestionar manualment les configuracions addicionals i els seus respectius arxius de configuració." #. Type: string #. Description @@ -59,7 +59,7 @@ #. Description #: ../btsync.templates:4001 msgid "Download Bandwith Limit:" -msgstr "Màxim d'ample de banda per la baixada de fitxers:" +msgstr "Límit d'ample de banda per la baixada de fitxers:" #. Type: string #. Description @@ -79,7 +79,7 @@ #. Description #: ../btsync.templates:5001 msgid "Upload Bandwith Limit:" -msgstr "Màxim d'ample de banda per la pujada de fitxers:" +msgstr "Límit d'ample de banda per la pujada de fitxers:" #. Type: string #. Description @@ -151,13 +151,13 @@ #. Description #: ../btsync.templates:10001 msgid "The visible device name of this instance:" -msgstr "El nom visible del dispositiu d'aquest usuari:" +msgstr "El nom visible del dispositiu d'aquesta configuració:" #. Type: string #. Description #: ../btsync.templates:10001 msgid "Specify here the visible device name for this instance. If left empty, a default device name based on the host name will be created." -msgstr "Introdueix aquí el nom visible del dispositiu per aquest usuari. Si es deixa en blanc, es crearà un nom per defecte basat en el nom del host." +msgstr "Introdueix aquí el nom visible del dispositiu per aquesta configuració. Si es deixa en blanc, es crearà un nom predeterminat basat en el nom del host." #. Type: boolean #. Description @@ -169,7 +169,7 @@ #. Description #: ../btsync.templates:11001 msgid "Sets priority for the file operations on disc. If set to false, Sync will perform read and write file operations with the highest speed and priority which can result in degradation of performance for other applications." -msgstr "Estableix la prioritat per les operacions d'arxiu al disc. Si s'estableix \"false\", Sync executarà " +msgstr "Estableix la prioritat per les operacions d'arxiu al disc. Si s'estableix \"false\", Sync executarà les operacions de lectura i escritptura de fitxers amb la màima velocitat disponible, cosa que pot degradar el rendiment d'altres aplicacions." #. Type: boolean #. Description @@ -211,13 +211,13 @@ #. Description #: ../btsync.templates:15001 msgid "Fall back folder rescan interval in seconds:" -msgstr "Interval en segons per tornar a examinar la carpeta:" +msgstr "Interval en segons per tornar a examinar les carpetes:" #. Type: string #. Description #: ../btsync.templates:15001 msgid "Syncing happens in real time. In addition, as a fall back, BitTorrent Sync also rescans files/folders every 10 minutes by default. This interval can be modified here." -msgstr "La sincronització passa a temps real. A més, BitTorren Sync també torna a examinar els arxius/carpetes cada 10 minuts per defecte. Aques interval es pot ajustar aquí." +msgstr "La sincronització passa a temps real. A més, BitTorren Sync també torna a examinar els arxius/carpetes cada 10 minuts de forma predeterminada. Aques interval es pot ajustar aquí." #. Type: string #. Description @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Aplica l'umask proporcionat al daemon de BitTorrent Sync. Si es deixa en blanc, s'aplica el valor d'umask per defecte." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Diferència màxima de tamany dels fitxers actualitzats:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Imposa una diferència de tamany (en MB) entre les versions d'un arxiu per actualitzar. Quan s'assoleix o s'excedeix el valor, l'arxiu s'actualitzarà descarregant els trossos d'informació que falten. Les actualitzacions d'un arxiu per diferències de tamany petites es descarregaran com arxius separats. Si es deixa en blanc, s'aplica el valor predeterminat." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Tamany màxim de l'arxiu per versionar:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Determina un tamany màxim en MB per crear versions d'un fitxer. Quan s'excedeix aquest tamany, les versions no es crearan per guardar espai al disc. i es deixa en blanc, s'aplicarà el valor predeterminat." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Tamany del buffer d'enviament:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Quantitat de memòria real en MB que s'usarà per \"cachejar\" les operacions d'enviar arxius. Aquest valor pot ser establert entre 1 a 100 MB. Si es deixa en blanc, s'aplicarà el valor per defecte." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Tamany del buffer de rebuda:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Quantitat de memòria real en MB que s'usarà per \"cachejar\" les operacions de rebre arxius. Aquest valor pot ser establert entre 1 a 100 MB. Si es deixa en blanc, s'aplicarà el valor predeterminat." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Temps mèxim de diferència entre dispositius:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Diferència de temps màxim permès entre aparells mesurat en segons. Si la diferència supera aquest límit, els dispositius no es sincronitzaran ja que podria donar lloc al seguiment incorrecte dels canvis en els arxius. Si es deixa en blanc, s'aplica el valor predeterminat." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Tems de vida màxim de les còpies de les versions:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Estableix el nombre de dies a partir del qual una còpia s'esborrarà automàticament de la carpeta .SyncArchive. Si es deixa en blanc, s'aplica el valor predeterminat." + diff -Nru btsync-1.1.82.1/debian/po/cs.po btsync-1.2.0/debian/po/cs.po --- btsync-1.1.82.1/debian/po/cs.po 2013-10-27 16:36:42.000000000 +0000 +++ btsync-1.2.0/debian/po/cs.po 2013-11-14 15:33:13.000000000 +0000 @@ -128,7 +128,7 @@ #. Description #: ../btsync.templates:8001 msgid "The username for accessing the web interface:" -msgstr "Jméno pro přístup do webového rozhraní." +msgstr "Jméno pro přístup do webového rozhraní:" #. Type: string #. Description @@ -230,5 +230,77 @@ #. Description #: ../btsync.templates:16001 msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." -msgstr "Použije přiloženou umask daemonu BItTorrent Syncu.Pokud toto pole zanecháte prázdné, Sync použije defaultní hodnotu umask." +msgstr "Použije přiloženou umask daemonu BItTorrent Syncu. Pokud toto pole zanecháte prázdné, Sync použije defaultní hodnotu umask." + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Limit velikosti rozdílu souboru pro patchování:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Určuje velikostní rozdíl souborů v MB mezi verzemi jednoho souboru pro patchování(upravení jen části souboru).Pokud je limit překročen, soubor bude aktualizován stahováním chybějících sektorů informací. " + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Limit velikosti souboru pro verzování:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Určuje maximální velikost v MB pro vytváření verzí souboru. Pokud je tato velikost překročena, verze nebudou ukládány.Děje se tak pro zachování volného místa na disku." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Send Buffer Size:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Toto je skutečné množství paměti, která bude použita ke cachování při uploadu. Tato hodnota se může pohybovat mezi čísly 1 až 100MB. Pokud necháte pole prázdné, bude aplikována defaultní hodnota." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Receive buffer size:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Toto je skutečné množství paměti, která bude použita ke cachování při stahování. Tato hodnota se může pohybovat mezi čísly 1 až 100MB. Pokud necháte pole prázdné, bude aplikována defaultní hodnota." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Maximální časový rozdíl mezi zařízeními:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Doba po kterou budou zachovány verze souboru:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." diff -Nru btsync-1.1.82.1/debian/po/de.po btsync-1.2.0/debian/po/de.po --- btsync-1.1.82.1/debian/po/de.po 2013-10-21 17:03:26.000000000 +0000 +++ btsync-1.2.0/debian/po/de.po 2013-11-14 15:20:40.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Wendet den angegebenen umask-Wert auf den BitTorrent Sync Damon an. Falls nicht angegeben, wird der Standardwert des Systems benutzt." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Maximale Dateigrößendifferenz für das Patchen:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Definiert die maximale Größendifferenz in MB zwischen zwei Dateiversionen für das Patchen. Wenn diese Größendifferenz überschritten wird, werden nur die veränderten Bereiche übertragen. Ansonsten wird die neue Dateiversion vollständig übertragen. Falls nichts angegeben wird, gilt der Standardwert." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Maximale Dateigröße für die Versionsverwaltung:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Definiert die maximale Dateigröße in MB für die Aufbewahrung älterer Dateiversionen. Wenn diese Größe überschritten wird, werden keine ältere Dateiversionen aufbewahrt. Falls nichts angegeben wird, gilt der Standardwert." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Größe des Sendepuffers:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Dies ist die effektive Größe in MB des Speicherbereiches für gepufferte Sendeoperationen. Der Wert darf im Bereich 1 bis 100 MB angegeben werden. Falls nichts angegeben wird, gilt der Standardwert." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Größe des Empfangspuffers:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Dies ist die effektive Größe in MB des Speicherbereiches für gepufferte Leseoperationen. Der Wert darf im Bereich 1 bis 100 MB angegeben werden. Falls nichts angegeben wird, gilt der Standardwert." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Maximal zulässiger Zeitunterschied:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Definiert den maximal erlaubten Zeitunterschied zwischen Geräten. Wenn der Zeitunterschied diesen Wert überschreitet, ist davon auszugehen, dass Dateiunterschiede nicht mehr korrekt erkannt werden und die Synchronisation wird gestoppt. Falls nichts angegeben wird, gilt der Standardwert." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Maximale Aufbewahrungszeit für ältere Versionen:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Definiert die maximale Aufbewahrungszeit in Tagen für ältere Dateiversionen im .SyncArchive Ordner. Ist diese Überschritten, werden die Dateien gelöscht. Falls nichts angegeben wird, gilt der Standardwert." + diff -Nru btsync-1.1.82.1/debian/po/el.po btsync-1.2.0/debian/po/el.po --- btsync-1.1.82.1/debian/po/el.po 2013-10-27 16:47:51.000000000 +0000 +++ btsync-1.2.0/debian/po/el.po 2013-11-14 15:24:36.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Εφαρμόζει την παρεχόμενη umask στο BitTorrent Sync daemon. Αν μείνει κενό, τότε θα εφαρμοστεί η προκαθορισμένη τιμή για το umask." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Μέγιστη διαφορά μεγέθους αρχείων για ενημέρωση:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Ορίζει την διαφορά μεγέθους σε MB μεταξύ των εκδόσεων ενός αρχείου για ενημέρωση. Όταν η διαφορά επιτευχθει,το αρχείο θα ενημερωθεί με τα κομμάτια πληροφορίας που λείπουν. Ενημερώσεις για ένα αρχείο με μικρότερη διαφορά μεγέθους θα κατέβουν ως διαφορετικά αρχεία. Αν μείνει κενό, εφαρμόζεται η προκαθορισμένη τιμή." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Μέγιστο μέγεθος αρχείου για καινούρια έκδοση." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Ορίζει το μέγιστο μέγεθος αρχείου σε MB για την δημιουργία διαφορετικών εκδόσεων .Όταν το μέγεθος του αρχείου υπερβεί το όριο αυτό, δεν θα δημιουργούνται νέες εκδόσεις για εξοικονόμηση χώρου στον δίσκο. Αν μείνει κενό, εφαρμόζεται η προκαθορισμένη τιμή." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Μέγεθος προσωρινής μνήμης προς αποστολή." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Αυτό ειναι το μέγεθος της πραγματική μνήμης σε MB που θα χρησιμοποιηθεί για λειτουργίες αποστολής. Αυτή η τιμή λαμβάνει τιμή από 1 έως 100 MB. Αν είναι κενό, εφαρμόζεται η προκαθορισμένη τιμή." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Μέγεθος προσωρινής μνήμης υποδοχεα:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Αυτό είναι το μέγεθος της πραγματικής μνήμης σε ΜΒ που θα χρησιμοποιηθεί σε λειτουργίες προσωρινής υποδοχής δεδομένων. Επιτρεπτές τιμές είναι στο διάστημα από 1 έως 100 MB. Αν μείνει κενό, θα εφαρμοστεί η προκαθορισμένη τιμή." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Μέγιστη διαφορά ώρας μεταξύ των συσκευών:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Μέγιστη επιτρεπόμενη διαφορά ώρας σε δευτερόλεπτα μεταξύ των συσκευών.Αν η διαφορά υπερβεί αυτό το όριο, οι συσκευές δεν θα συγχρονιστούν γιατί μπορεί να προκαλέσει λανθασμένη ανίχνευση αλλαγών στα αρχεία. Αν μέινει κενό,εφαρμόζεται η προκαθορισμένη τιμή." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Μέγιστο διάστημα αποθήκευσης διαφορετικών εκδόσεων:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Θέτει τον αριθμό των ημερών πέρα από τον οποίο, τα αρχεία που βρίσκονται στο φάκελο .SyncArchive θα σβήνονται. Αν μείνει κενό, εφαρμόζεται η προκαθορισμένη τιμή." + diff -Nru btsync-1.1.82.1/debian/po/es.po btsync-1.2.0/debian/po/es.po --- btsync-1.1.82.1/debian/po/es.po 1970-01-01 00:00:00.000000000 +0000 +++ btsync-1.2.0/debian/po/es.po 2013-11-14 15:31:58.000000000 +0000 @@ -0,0 +1,306 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: btsync-deb\n" +"Language: es\n" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "Do you want to define a default BitTorrent Sync instance?" +msgstr "Quieres definir un usuario por defecto de BitTorrent Sync?" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "BitTorrent Sync can run one or more daemons based on configuration files located in /etc/btsync. You can choose to create a default instance running under root credentials that can be also reconfigured via dpkg-reconfigure or manage the whole configuration manually. In both cases you can manually manage additional instances with their own configuration files." +msgstr "BitTorrent Sync puede ejecutar un o más procesos basados en los archivos de configuración encontrados en /etc/btsync. Puedes escoger crear una configuración por defecto que se ejecute con credenciales root. Esta puede ser reconfigurada vía dpkg-reconfigure o gestionandola manualmente. En los dos casos puedes gestionar manualmente otras configuraciones mediante sus archivos correspondientes. " + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "BitTorrent Sync Listen Port:" +msgstr "Puerto que BitTorrent Sync escuchará:" + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify here the port BitTorrent Sync will listen on for the file synchronisation protocol." +msgstr "Introduce el puerto que BitTorrent Sync escuchará para el protocolo de sincronización de archivos." + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify 0 to let btsync take a random port number each time it starts. Valid range is 1000-65534" +msgstr "Introduce 0 para dejar que btsync escoja un número de puerto aleatorio cada vez que se inicie." + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Do you want BitTorrent Sync to request port mapping via UPNP?" +msgstr "Quieres que BitTorrent Sync solicite la asignación de puertos vía UPNP?" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Specify here if you want BitTorrent Sync to request a port mapping from the default router using the Universal Plug and Play protocol." +msgstr "Indica si quieres que BitTorrent Sync solicite la asignación de puertos al router por defecto usando el protocolo Universal Plug and Play" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "This technique is useful only if BitTorrent Sync is running behind a NAT SOHO router supporting UPNP." +msgstr "Este técnica es útil solo si BitTorrent Sync corre detrás de un router NAT SOHO que aguante UPNP." + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Download Bandwith Limit:" +msgstr "Límite de ancho de banda de descarga:" + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Specify here a download rate limit expressed in KB/Second" +msgstr "Designe un ratio límite de bajada expresado en KB/segundo" + +#. Type: string +#. Description +#. Type: string +#. Description +#: ../btsync.templates:4001 ../btsync.templates:5001 +msgid "If 0 is specified, no limit is applied." +msgstr "Si se introdce 0, no se aplica ningún límite." + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Upload Bandwith Limit:" +msgstr "Límite de ancho de banda de subida:" + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Specify here an upload rate limit expressed in KB/Second" +msgstr "Designe un ratio límite de subida expresado en KB/segundo" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "Web Interface Bind IP Address:" +msgstr "Dirección IP de la interfaz web:" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "BitTorrent Sync's web interface can listen on a specific IP address or on all addresses configured on this machine." +msgstr "La interfaz web de BitTorrent Sync puede escuchar una IP específica o todas las direcciones IP configuradas en esta maquina." + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on all interfaces and addresses, leave this value to 0.0.0.0" +msgstr "Si quieres que BitTorrent Sync escuche todas las direcciones, deja este valor en 0.0.0.0" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on a specific IP address, specify it now." +msgstr "Si quieres que BitTorrent Sync escuche una dirección IP en concreto, especificala ahora." + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Web Interface Listen Port:" +msgstr "Puerto que escuchará la interfaz web:" + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Specify here the port BitTorrent Sync will listen on for the web interfce. This port number in the range from 80 to 65534 shall not conflict with any other services running on this machine." +msgstr "Indica aquí el puerto que BitTorrent Sync escuchará para la interfaz web. Este puerto tienes que estar en el rango 80 a 65534 y no debería coincidir con otros servicios ejecutandose en esta maquina. " + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "The username for accessing the web interface:" +msgstr "El usuario para acceder a la interfaz web:" + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "Specify here a username for accessing the web interface. If left empty, no user authorisation is required to access the web interface." +msgstr "Introduce un nombre de usuario para acceder a la interfaz web. Si lo dejas en blanco, no se requerirá autenticación de usuario para acceder a ella." + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "The password for accessing the web interface:" +msgstr "Contraseña para acceder a la web:" + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "Specify here a password for accessing the web interface." +msgstr "Introduce aquí una contraseña para acceder a la interfaz web." + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "The visible device name of this instance:" +msgstr "Nombre visible de dispositivo de esta configuración:" + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "Specify here the visible device name for this instance. If left empty, a default device name based on the host name will be created." +msgstr "Introduce el nombre visible del dispositivo para esta configuración. Si se deja en blanco, de asigna un nombre basado en el nombre del host." + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Should BitTorrent Sync perform disk operations with low priority?" +msgstr "BitTorrent Sync debería ejecutar las operaciones de disco con prioridad baja?" + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Sets priority for the file operations on disc. If set to false, Sync will perform read and write file operations with the highest speed and priority which can result in degradation of performance for other applications." +msgstr "Establece la prioridad para las operaciones de archivos en el disco. Si es falso, Sync llevará a cabo las operaciones de escribir y leer archivos con la máxima velocidad y prioridad, cosa que puede causar degradación del rendimiento en otras aplicaciones. " + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "Should BitTorrent Sync encrypt data on the local network?" +msgstr "BitTorrent Sync debería cifrar los datos en la red local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "If set to true, will use encryption in the local network." +msgstr "Si se establece true, se usará el cifrado en la red local." + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "Should BitTorrent Sync use TCP on the local network?" +msgstr "BitTorrent Sync debería usar el protocolo TCP en la red local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "If set to true, Sync will use TCP instead of UDP in local network." +msgstr "Si se establece true, Sync usará TCP en lugar de UDP en la red local." + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Should BitTorrent Sync apply speed limits also in local networks?" +msgstr "BitTorrent Sync debería aplicar límites de velocidad también en la red local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Applies speed limits to the peers in local network. By default the limits are not applied in LAN." +msgstr "Aplica límites de velocidad a la transferencia entre ordenadores en la red local. Por defecto no se aplican a la LAN." + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Fall back folder rescan interval in seconds:" +msgstr "Intervalo de reescaneo de las carpetas en segundos:" + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Syncing happens in real time. In addition, as a fall back, BitTorrent Sync also rescans files/folders every 10 minutes by default. This interval can be modified here." +msgstr "La sincronización pasa en tiempo real. Además, como seguridad, BitTorrent Sync vuelve a examinar los archivos/carpetas cada 10 minutos por defecto. Este intervalo puede ser modificado aquí." + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Umask value to set for the daemon:" +msgstr "Fija un valor umask para el proceso en segundo plano (daemon)." + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." +msgstr "Aplica el valor umask dado al BitTorrent Sync daemon. Si se deja en blanco, de plica el valor por defecto." + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Máxima diferencia en MB entre archivos para parches:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Determina la cantidad en MB de diferencia entre versiones de un archivo para aplicar un parche. Cuando dicha cantidad se alcanza o se excede, el archivo será actualizado descargando piezas faltantes de información (parches). Las actualizaciones para un archivo con un tamaño menor a esta diferencia serán descargadas como archivos separados.\n" +"Si se deja vacío, se aplicará el valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Maximum file size for versioning:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Send Buffer Size:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Receive buffer size:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Maximum time difference between devices:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Maximum time to live for versioned copies:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." + diff -Nru btsync-1.1.82.1/debian/po/fr.po btsync-1.2.0/debian/po/fr.po --- btsync-1.1.82.1/debian/po/fr.po 2013-10-27 17:43:37.000000000 +0000 +++ btsync-1.2.0/debian/po/fr.po 2013-11-14 15:22:20.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Affecte la valeur Umask indiquée au démon BitTorrent Sync. Si non renseigné, la valeur Umask par défaut est appliquée." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Différence maximale de taille de fichier pour patcher :" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Définit la différence de taille en Mo entre versions d'un fichier autorisant le recours à des patchs. À partir de cette différence et au-delà, le fichier est mis à jour par téléchargement des pièces manquantes (patchs). Pour un fichier dont la différence de taille est inférieure, les mises à jour sont téléchargées en tant que fichiers distincts. Si laissé vide, la valeur par défaut s'applique." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Taille de fichier maximale pour la gestion des versions :" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Définit la taille de fichier maximale en Mo autorisant la création de versions des fichiers. Au-delà de cette taille, les versions ne sont pas créées afin d'économiser l'espace disque. Si laissé vide, la valeur par défaut s'applique." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Taille du tampon d'envoi :" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Il s'agit de la quantité de mémoire réelle en Mo utilisée pour la mise en cache des opérations d'envoi. Cette valeur peut être ajustée de 1 à 100 Mo. Si laissé vide, la valeur par défaut s'applique." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Taille du tampon de réception :" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Il s'agit de la quantité de mémoire réelle en Mo utilisée pour la mise en cache des opérations de réception. Cette valeur peut être ajustée de 1 à 100 Mo. Si laissé vide, la valeur par défaut s'applique." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Décalage horaire maximal entre périphériques :" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Décalage horaire maximal autorisé entre périphériques, en secondes. Si le décalage excède cette valeur limite, les périphériques ne sont pas synchronisés car le suivi des modifications des fichiers pourrait être perturbé. Si laissé vide, la valeur par défaut s'applique." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Durée de vie maximale des versions archivées :" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Définit le nombre de jours maximal au-delà duquel des fichiers seront automatiquement supprimés du dossier .SyncArchive. Si laissé vide, la valeur par défaut s'applique." + diff -Nru btsync-1.1.82.1/debian/po/gl.po btsync-1.2.0/debian/po/gl.po --- btsync-1.1.82.1/debian/po/gl.po 1970-01-01 00:00:00.000000000 +0000 +++ btsync-1.2.0/debian/po/gl.po 2013-11-14 15:23:27.000000000 +0000 @@ -0,0 +1,306 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: btsync-deb\n" +"Language: gl\n" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "Do you want to define a default BitTorrent Sync instance?" +msgstr "Quere definir unha instancia predeterminada para BitTorrent Sync?" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "BitTorrent Sync can run one or more daemons based on configuration files located in /etc/btsync. You can choose to create a default instance running under root credentials that can be also reconfigured via dpkg-reconfigure or manage the whole configuration manually. In both cases you can manually manage additional instances with their own configuration files." +msgstr "BitTorrent Sync pode executar un ou máis servizos (daemon) baseados nos ficheiros de configuración localizados en /etc/btsync. Pode crear unha instancia predeterminada executándose con credenciais de administrador (root) que pode seren reconfigurada mediante dpkg-reconfigure ou administrando toda a configuración manualmente. En ámbolos casos, pode administrar manualmente usuarios adicionais e os seus respectivos ficheiros de configuración." + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "BitTorrent Sync Listen Port:" +msgstr "Porto no que escoitará o BitTorrent Sync:" + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify here the port BitTorrent Sync will listen on for the file synchronisation protocol." +msgstr "Especifique aquí o porto no que o BitTorrent Sync escoitara o protocolo de sincronización de ficheiros." + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify 0 to let btsync take a random port number each time it starts. Valid range is 1000-65534" +msgstr "Introduza 0 para facer que o que BTSync escolla un porto ao chou cada vez que se inicie. O intervalo correcto é do 1000 ata o 65534" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Do you want BitTorrent Sync to request port mapping via UPNP?" +msgstr "Quere que o BitTorrent Sync solicite a asignación dos portos a través de UPNP?" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Specify here if you want BitTorrent Sync to request a port mapping from the default router using the Universal Plug and Play protocol." +msgstr "Indique aquí se quere que o BitTorrent Sync solicite unha asignación dos portos ao encamiñador predeterminado utilizando o protocolo «Universal Plug and Play»." + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "This technique is useful only if BitTorrent Sync is running behind a NAT SOHO router supporting UPNP." +msgstr "Este método é útil só cando o BitTorrent Sync esta executándose detrás dun encamiñador NAT SOHO que admita UPNP." + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Download Bandwith Limit:" +msgstr "Largo máximo de banda para a descarga de ficheiros:" + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Specify here a download rate limit expressed in KB/Second" +msgstr "Indique un límite na velocidade de descarga expresada en kB/segundo" + +#. Type: string +#. Description +#. Type: string +#. Description +#: ../btsync.templates:4001 ../btsync.templates:5001 +msgid "If 0 is specified, no limit is applied." +msgstr "Se é 0, non se aplica ningunha restrición." + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Upload Bandwith Limit:" +msgstr "Largo máximo de banda para o envío de ficheiros:" + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Specify here an upload rate limit expressed in KB/Second" +msgstr "Indique un límite na velocidade de envío expresada en kB/segundo" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "Web Interface Bind IP Address:" +msgstr "Enderezo IP da interface web:" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "BitTorrent Sync's web interface can listen on a specific IP address or on all addresses configured on this machine." +msgstr "A interface web de BitTorrent Sync pode escoitar nun enderezo IP específico ou en todos os enderezos IP configurados nesta máquina." + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on all interfaces and addresses, leave this value to 0.0.0.0" +msgstr "Se quere que o BitTorrent Sync escoite en todas as interfaces e enderezos, poña este valor a 0.0.0.0" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on a specific IP address, specify it now." +msgstr "Se quere que o BitTorrent Sync escoite nun enderezo IP específico, introdúzao aquí:" + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Web Interface Listen Port:" +msgstr "Porto no que escoitará a interface web:" + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Specify here the port BitTorrent Sync will listen on for the web interfce. This port number in the range from 80 to 65534 shall not conflict with any other services running on this machine." +msgstr "Introduza o porto no que o BitTorrent Sync escoitará para a interface web. O porto deberá estar no intervalo do 80 ao 65534 para que non haxa ningún conflito con calquera outro servizo que puidera estar en execución nesta máquina." + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "The username for accessing the web interface:" +msgstr "O nome de usuario para acceder á interface web:" + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "Specify here a username for accessing the web interface. If left empty, no user authorisation is required to access the web interface." +msgstr "Introduza un nome de usuario para acceder á interface web. Se o deixa baleiro, entón non se requirirá ningunha autorización de usuario para acceder a ela." + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "The password for accessing the web interface:" +msgstr "O contrasinal para acceder á interface web:" + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "Specify here a password for accessing the web interface." +msgstr "Introduza aquí o contrasinal para acceder á interface web." + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "The visible device name of this instance:" +msgstr "O nome visíbel do dispositivo desta instancia:" + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "Specify here the visible device name for this instance. If left empty, a default device name based on the host name will be created." +msgstr "Introduza aquí o nome visíbel do dispositivo para esta instancia. Se o deixa baleiro, crearase un nome predeterminado baseado no nome da máquina." + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Should BitTorrent Sync perform disk operations with low priority?" +msgstr "Terá o BitTorrent Sync que executar as operacións no disco con baixa prioridade?" + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Sets priority for the file operations on disc. If set to false, Sync will perform read and write file operations with the highest speed and priority which can result in degradation of performance for other applications." +msgstr "Establece a prioridade das operacións de ficheiros no disco. Se o estabelece a «falso» (false), Sync realizará as operacións de lectura e escritura de ficheiros coa máxima prioridade, o que pode dar lugar a que se degrade o rendemento doutros aplicativos." + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "Should BitTorrent Sync encrypt data on the local network?" +msgstr "BitTorrent Sync cifrará os datos da rede local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "If set to true, will use encryption in the local network." +msgstr "Se o estabelece a «verdadeiro» (true), empregarase o cifrado para a rede local." + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "Should BitTorrent Sync use TCP on the local network?" +msgstr "BitTorrent Sync usará TCP na rede local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "If set to true, Sync will use TCP instead of UDP in local network." +msgstr "Se o estabelece a «verdadeiro» (true), empregarase TCP no canto de UDP na rede local." + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Should BitTorrent Sync apply speed limits also in local networks?" +msgstr "BitTorrent Sync aplicará tamén os límites de velocidade na rede local?" + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Applies speed limits to the peers in local network. By default the limits are not applied in LAN." +msgstr "Aplicar os límites de velocidade aos pares na rede local. De xeito predeterminado non se aplicaran os límites na LAN." + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Fall back folder rescan interval in seconds:" +msgstr "Intervalo en segundos para volver examinar o cartafol:" + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Syncing happens in real time. In addition, as a fall back, BitTorrent Sync also rescans files/folders every 10 minutes by default. This interval can be modified here." +msgstr "A sincronización faise en tempo real. Ademais, BitTorrent Sync tamén volve examinar os ficheiros/cartafoles cada 10 minutos de xeito predeterminado. Pode axustar aquí este intervalo." + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Umask value to set for the daemon:" +msgstr "Estabelecer o valor «umask» para o servizo (daemon):" + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." +msgstr "Aplicar o «umask» fornecido ao servizo (daemon) do BitTorrent Sync. Se o deixa baleiro, aplicase o valor predeterminado do «umask»." + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Diferencia no tamaño máximo do ficheiro de parches:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Determina unha diferenza de tamaño en MB entre as versións dun ficheiro de parches. Cando se acada ou excede, o ficheiro actualizarase mediante a descarga de bloques de información ausentes (parches). A actualización dun ficheiro cunha diferenza menor no tamaño, descargarase como un ficheiro independente. Se o deixa baleiro, aplicase o valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Tamaño máximo do ficheiro de control de versións:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Determina o tamaño máximo do ficheiro en MB para a creación de versións de ficheiros. Cando se supera este tamaño, non se crearán versións para aforrar espazo no disco. Se o deixa baleiro, aplicase o valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Tamaño do búfer de envío:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Esta é a cantidade real de memoria, en MB, que utilizar para as operacións de envío almacenadas na memoria caché. Este valor pode estabelecerse no intervalo de 1 a 100 MB. Se o deixa baleiro, aplicase o valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Tamaño do búfer de recepción:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Esta é a cantidade real de memoria, en MB, que utilizar para as operacións de recepción almacenadas na memoria caché. Este valor pode estabelecerse no intervalo de 1 a 100 MB. Se o deixa baleiro, aplicase o valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Diferenza temporal máxima entre dispositivos:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Diferenza de tempo máximo permitido, en segundos, entre dispositivos. Se a diferenza supera este límite, non se sincronizarán os dispositivos xa que pode provocar un trazado incorrecto dos cambios nos ficheiros. Se o deixa baleiro, aplicase o valor predeterminado." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Tempo máximo de vida para as copias versionadas:\n" +"" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Estabelece o número de días de espera, despois da recibidos, antes de que os ficheiros sexan eliminados automaticamente do cartafol «.SyncArchive». Se o deixa baleiro, aplicase o valor predeterminado." + diff -Nru btsync-1.1.82.1/debian/po/hu.po btsync-1.2.0/debian/po/hu.po --- btsync-1.1.82.1/debian/po/hu.po 2013-10-22 14:51:32.000000000 +0000 +++ btsync-1.2.0/debian/po/hu.po 2013-11-14 15:25:23.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "A megadott umask értéket használja a BitTorrent Sync démonja. Ha üresen hagyja, az alap érték fog évényesülni." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Legnagyobb méretbeli eltérés a patcheléshez:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Megadja a méretbeli különbséget MB-ban. E fölött csak a fájl hiányzó darabjai (patchek) lesznek letöltve. A megadott érték alatt az egész fájl letöltésre kerül. Ha üresen hagyod ezt a mezőt, az alapértelmezett érték lesz érvényben." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Legnagyobb fájlméret a verziókövetéshez:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "A verziókövetéshez használt legnagyobb fájlméretet MB-ban. Helymegtakarítási célból e méret fölött nem lesz verziókövetés. Üresen hagyva ezt a mezőt, az alapértelmezett érték lesz érvényben." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Küldő gyorsítótár mérete:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "A küldő gyorsítótár valós memóriamérete MB-ban. Az érték 1 és 100MB közötti lehet. Üresen hagyva ezt a mezőt, az alapértelmezett érték lesz érvényben." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Fogadó gyorsítótár mérete:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "A fogadó gyorsítótár valós memóriamérete MB-ban. Az érték 1 és 100MB közötti lehet. Üresen hagyva ezt a mezőt, az alapértelmezett érték lesz érvényben." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Legnagyobb időbeli eltérés a gépek között:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "A gépek órái között megengedett legnagyobb eltérés másodpercben. Nagyobb időkülönbség esetén már nem biztosítható megfelelően a fájlok megfelelő változás-figyelése, így azok nem is lesznek szinkronizálva. Üresen hagyva ezt a mezőt, az alapértelmezett érték lesz érvényben." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Legnagyobb időeltérés a verziókövetett fájlok másolatai között:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Ennyi nap után a fájlok a .SyncArchive mappából törlésre kerülnek. Üresen hagyva ezt a mezőt, az alapértelmezett érték lesz érvényben." + diff -Nru btsync-1.1.82.1/debian/po/it.po btsync-1.2.0/debian/po/it.po --- btsync-1.1.82.1/debian/po/it.po 2013-10-25 13:47:02.000000000 +0000 +++ btsync-1.2.0/debian/po/it.po 2013-11-14 15:26:23.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Applica la umask specificata a BitTorrent Sync. Se non specificato, sarà applicato il valore umask standard." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Differenza massima di file per eseguire patching:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Consente di impostare la differenza di dimensioni in MB tra le versioni di un file per l'applicazione di patch. Quando il valore viene raggiunto o superato, il file sarà aggiornato scaricando solo pezzi mancanti (patch). Aggiornamenti per file con una differenza minore, saranno scaricati come file separati. Se non specificata, si applicherà il valore standard." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Dimensioni file massime per archivio versioni:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Consente di impostare le dimensioni massime di file in MB per l'archivio versioni. Se queste dimensioni verranno superate, la vecchia versione non verrà archiviata al fine di salvare spazio. Se non specificate, si applicherà il valore standard." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Dimensioni del buffer di trasmissione:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Quantitativo di memoria in MB realmente allocata per operazioni di trasmissione in cache. Questo valore può essere impostato nell'intervallo da 1 a 100 MB. Se non specificato, si applicherà il valore standard." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Dimensioni del buffer di ricezione:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Quantitativo di memoria in MB realmente allocata per operazioni di ricezione in cache. Questo valore può essere impostato nell'intervallo da 1 a 100 MB. Se non specificato, si applicherà il valore standard." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Differenza massima di ora fra i computer:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Differenza massima di orario fra computer. Se la differenza eccede questo valore, la sincronizzazione fra i due computer cesserà al fine di evitare errori di sincronizzazione. Se non specificata, si applicherà il valore standard." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Periodo massimo di archiviazione:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Consente di impostare il numero di giorni massimo dopo di ché una copia archiviata verrà cancellata dalla cartella .SyncArchive. Se non specificati, si applicherà il valore standard." + diff -Nru btsync-1.1.82.1/debian/po/nl.po btsync-1.2.0/debian/po/nl.po --- btsync-1.1.82.1/debian/po/nl.po 2013-10-25 13:47:02.000000000 +0000 +++ btsync-1.2.0/debian/po/nl.po 2013-11-14 15:21:29.000000000 +0000 @@ -231,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Past de meegeleverde umask toe op de BitTorrent Sync daemon. Indien geen waarde is opgegeven zal de standaard umask waarde gelden." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Maximale bestandsgrootte om te patchen:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Bepaalt een verschil in grootte in MB tussen de versies van een bestand voor het patchen. Indien groter dan zal het bestand worden bijgewerkt door het downloaden van ontbrekende stukjes informatie (patches). Indien een kleiner verschil in grootte dan worden de hele bestanden gedownload. Bij leeglaten wordt de standaardwaarde gebruikt." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Maximale bestandsgrootte voor versiebeheer:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Bepaalt maximale bestandsgrootte in MB voor het maken van bestandsversies. Als deze grootte wordt overschreden, zullen geen versies worden gemaakt om ruimte te besparen op de harde schijf. Bij leeg laten wordt de standaardwaarde gebruikt." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Verzend Grootte buffergeheugen:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Dit is de hoeveelheid geheugen in MB welke zal worden gebruikt voor cache verzend operaties. Deze waarde kan worden ingesteld van 1 tot 100 MB. Bij leeg laten wordt de standaardwaarde gebruikt." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Ontvangen buffergrootte:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Dit is de hoeveelheid geheugen in MB welke zal worden gebruikt voor ontvangst cache operaties. Deze waarde kan worden ingesteld van 1 tot 100 MB. Bij leeg laten wordt de standaardwaarde gebruikt." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Maximale tijdsverschil tussen apparaten:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Maximum toegestane verschil in seconden tussen apparaten. Als het verschil deze limiet overschrijdt, zullen de apparaten niet worden gesynchroniseerd indien dit kan leiden tot onjuiste tracering van bestandsveranderingen. Bij leeg laten wordt de standaardwaarde gebruikt." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Maximale tijd om versiebeheer kopieën te bewaren:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Stelt het aantal dagen waarna de bestanden automatisch worden verwijderd uit de .SyncArchive map. Bij leeg laten wordt de standaardwaarde gebruikt." + diff -Nru btsync-1.1.82.1/debian/po/ru.po btsync-1.2.0/debian/po/ru.po --- btsync-1.1.82.1/debian/po/ru.po 2013-10-21 14:57:59.000000000 +0000 +++ btsync-1.2.0/debian/po/ru.po 2013-11-14 15:27:30.000000000 +0000 @@ -11,19 +11,19 @@ #. Description #: ../btsync.templates:1001 msgid "Do you want to define a default BitTorrent Sync instance?" -msgstr "Указать настройки для первого демона BitTorrent Sync?" +msgstr "Указать настройки по умолчанию для демона BitTorrent Sync?" #. Type: boolean #. Description #: ../btsync.templates:1001 msgid "BitTorrent Sync can run one or more daemons based on configuration files located in /etc/btsync. You can choose to create a default instance running under root credentials that can be also reconfigured via dpkg-reconfigure or manage the whole configuration manually. In both cases you can manually manage additional instances with their own configuration files." -msgstr "В /etc/btsync находятся файлы конфигурации, в соответствии с которыми BitTorrent Sync запускает один или несколько демонов. Можно задать настройки для первого демона, запускающегося от имени root. Позже, либо с помощью dpkg-reconfigure либо в ручную, их можно изменить. Все дополнительные демоны настраиваются в своих отдельных файлах конфигурации." +msgstr "В /etc/btsync находятся файлы конфигурации, в соответствии с которыми BitTorrent Sync запускает один или несколько демонов. Можно задать настройки по умолчанию демона, запускающегося от имени root. Эти настройки можно изменить либо с помощью dpkg-reconfigure, либо вручную. Все дополнительные демоны настраиваются в своих отдельных файлах конфигурации. " #. Type: string #. Description #: ../btsync.templates:2001 msgid "BitTorrent Sync Listen Port:" -msgstr "Порт BitTorrent Sync:" +msgstr "Порт для входящих подключений BitTorrent Sync:" #. Type: string #. Description @@ -35,8 +35,7 @@ #. Description #: ../btsync.templates:2001 msgid "Specify 0 to let btsync take a random port number each time it starts. Valid range is 1000-65534" -msgstr "Укажите 0 и при каждом запуске btsync будет использовать случайный номер порта.\n" -"Разрешенный диапазон 1000-65534" +msgstr "Укажите 0 и при каждом запуске btsync будет использовать случайный номер порта. Разрешенный диапазон 1000-65534" #. Type: boolean #. Description @@ -48,13 +47,13 @@ #. Description #: ../btsync.templates:3001 msgid "Specify here if you want BitTorrent Sync to request a port mapping from the default router using the Universal Plug and Play protocol." -msgstr "Укажите, нужно ли BitTorrent Sync используя протокол Universal Plug and Play, запрашивать у роутера по-умолчанию переадресацию портов." +msgstr "Укажите, нужно ли BitTorrent Sync (используя протокол Universal Plug and Play) запрашивать переадресацию портов у роутера по-умолчанию." #. Type: boolean #. Description #: ../btsync.templates:3001 msgid "This technique is useful only if BitTorrent Sync is running behind a NAT SOHO router supporting UPNP." -msgstr "Это имеет смысл только если BitTorrent Sync работает за NAT SOHO роутером, поддерживающим UPNP." +msgstr "Это может оказаться полезным, если BitTorrent Sync работает за NAT SOHO роутером, поддерживающим UPNP." #. Type: string #. Description @@ -232,3 +231,75 @@ msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." msgstr "Использовать указаное значение umask для BitTorrent Sync демона. Если оставить пустым, используется значение umask по-умолчанию." +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "Максимальный размер файла для применения патчей:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "Определяет размер изменений в мегабайтах между версиями одного файла для создания патчей. При достижении или превышении указанного размера файл будет обновляться путем скачивания отсутствующих кусков (патчей). Обновления для файлов с меньшими объемами изменений будут скачиваться в виде отдельных файлов. Если поле не заполнено, то используется значение по умолчанию." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "Максимальный размер файла для создания версий:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "Определяет максимальный размер файлов в мегабайтах для создания версий. При превышении указанного размера, новые версии не будут создаваться (это позволит сэкономить дисковое пространство). Если поле не заполнено, то используется значение по умолчанию." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "Размер исходящего буфера:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Определяет размер ОЗУ в мегабайтах, который выделяется для кэшированных исходящих операций. Поле может принимать значение от 1 до 100 МБ. Если поле не заполнено, то используется значение по умолчанию." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "Размер входящего буфера:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "Определяет размер ОЗУ в мегабайтах, который выделяется для кэшированных входящих операций. Поле может принимать значение от 1 до 100 МБ. Если поле не заполнено, то используется значение по умолчанию." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "Максимальный разброс времени между устройствами:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "Максимально допустимое различие времени между устройствами в секундах. Если время различается не величину, превышающую заданную, то устройства не синхронизируются во избежание неправильного отслеживания изменений в файлах. Если поле не заполнено, то используется значение по умолчанию." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "Максимальное время хранения копий версий:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "Определяет количество дней, по истечении которого файлы автоматически удаляются из папки .SyncArchive. Если поле не заполнено, то используется значение по умолчанию." + diff -Nru btsync-1.1.82.1/debian/po/templates.pot btsync-1.2.0/debian/po/templates.pot --- btsync-1.1.82.1/debian/po/templates.pot 2013-10-16 23:34:38.000000000 +0000 +++ btsync-1.2.0/debian/po/templates.pot 2013-11-12 15:48:31.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: btsync\n" "Report-Msgid-Bugs-To: btsync@packages.debian.org\n" -"POT-Creation-Date: 2013-10-17 01:34+0200\n" +"POT-Creation-Date: 2013-11-12 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -276,3 +276,96 @@ "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, " "the default umask value applies." msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "" +"Determines a size difference in MB between versions of one file for " +"patching. When it is reached or exceeded, the file will be updated by " +"downloading missing chunks of information (patches). Updates for a file with " +"a smaller size difference will be downloaded as separate files. If leaved " +"empty, the default value applies." +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "" +"Determines maximum file size in MB for creating file versions. When this " +"size is exceeded, versions will not be created to save space on disk. If " +"leaved empty, the default value applies." +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "" +"This is the amount of real memory in MB that will be used for cached send " +"operations. This value can be set in the range from 1 to 100 MB. If leaved " +"empty, the default value applies." +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "" +"This is the amount of real memory in MB that will be used for cached receive " +"operations. This value can be set in the range from 1 to 100 MB. If leaved " +"empty, the default value applies." +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "" +"Maximum allowed time difference in seconds between devices. If the " +"difference exceeds this limit, the devices will not be synced as it may " +"result in incorrect tracing of file changes. If leaved empty, the default " +"value applies." +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "" +"Sets the number of days after reaching which files will be automatically " +"deleted from the .SyncArchive folder. If leaved empty, the default value " +"applies." +msgstr "" diff -Nru btsync-1.1.82.1/debian/po/zh-CN.po btsync-1.2.0/debian/po/zh-CN.po --- btsync-1.1.82.1/debian/po/zh-CN.po 1970-01-01 00:00:00.000000000 +0000 +++ btsync-1.2.0/debian/po/zh-CN.po 2013-11-14 14:58:38.000000000 +0000 @@ -0,0 +1,305 @@ +msgid "" +msgstr "" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: btsync-deb\n" +"Language: zh-CN\n" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "Do you want to define a default BitTorrent Sync instance?" +msgstr "是否进行默认配置设置?" + +#. Type: boolean +#. Description +#: ../btsync.templates:1001 +msgid "BitTorrent Sync can run one or more daemons based on configuration files located in /etc/btsync. You can choose to create a default instance running under root credentials that can be also reconfigured via dpkg-reconfigure or manage the whole configuration manually. In both cases you can manually manage additional instances with their own configuration files." +msgstr "通过配置/etc/btsync中的配置文件,BitTorrent Sync可同时运行单个或多个服务" + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "BitTorrent Sync Listen Port:" +msgstr "BitTorrent Sync Listen Port:" + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify here the port BitTorrent Sync will listen on for the file synchronisation protocol." +msgstr "设置 BitTorrent Sync 同步文件时的侦听端口" + +#. Type: string +#. Description +#: ../btsync.templates:2001 +msgid "Specify 0 to let btsync take a random port number each time it starts. Valid range is 1000-65534" +msgstr "设置为0时btsync将在每次启动时使用随机端口.有效范围1000-65534" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Do you want BitTorrent Sync to request port mapping via UPNP?" +msgstr "是否让BitTorrent Sync使用UPNP自动进行端口映射" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "Specify here if you want BitTorrent Sync to request a port mapping from the default router using the Universal Plug and Play protocol." +msgstr "设置通过UPNP从默认路由器请求端口映射" + +#. Type: boolean +#. Description +#: ../btsync.templates:3001 +msgid "This technique is useful only if BitTorrent Sync is running behind a NAT SOHO router supporting UPNP." +msgstr "此项需要路由器使用NAT并支持UPUP是有效" + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Download Bandwith Limit:" +msgstr "下行带宽限制:" + +#. Type: string +#. Description +#: ../btsync.templates:4001 +msgid "Specify here a download rate limit expressed in KB/Second" +msgstr "设置下行速率限制(KB/S)" + +#. Type: string +#. Description +#. Type: string +#. Description +#: ../btsync.templates:4001 ../btsync.templates:5001 +msgid "If 0 is specified, no limit is applied." +msgstr "设置为0时将不做限制" + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Upload Bandwith Limit:" +msgstr "上行带宽限制:" + +#. Type: string +#. Description +#: ../btsync.templates:5001 +msgid "Specify here an upload rate limit expressed in KB/Second" +msgstr "设置上行速率限制(KB/S)" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "Web Interface Bind IP Address:" +msgstr "Web Interface绑定IP:" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "BitTorrent Sync's web interface can listen on a specific IP address or on all addresses configured on this machine." +msgstr "BitTorrent Sync web interface可以绑定指定IP或配置于本机的所有地址上" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on all interfaces and addresses, leave this value to 0.0.0.0" +msgstr "如果需要BitTorrent Sync侦听所有网卡和地址,请使用0.0.0.0" + +#. Type: string +#. Description +#: ../btsync.templates:6001 +msgid "If you want BitTorrent Sync to listen on a specific IP address, specify it now." +msgstr "如果需要BitTorrent Sync侦听指定IP,请即刻配置" + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Web Interface Listen Port:" +msgstr "Web Interface Listen Port:" + +#. Type: string +#. Description +#: ../btsync.templates:7001 +msgid "Specify here the port BitTorrent Sync will listen on for the web interfce. This port number in the range from 80 to 65534 shall not conflict with any other services running on this machine." +msgstr "配置Web Interface使用的端口(80 - 65534),请避开本机在用端口" + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "The username for accessing the web interface:" +msgstr "登录web interface的用户名:" + +#. Type: string +#. Description +#: ../btsync.templates:8001 +msgid "Specify here a username for accessing the web interface. If left empty, no user authorisation is required to access the web interface." +msgstr "设置登录web interface的用户名.留空则不作验证." + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "The password for accessing the web interface:" +msgstr "登录web interface的密码:" + +#. Type: password +#. Description +#: ../btsync.templates:9001 +msgid "Specify here a password for accessing the web interface." +msgstr "设置登录web interface的密码:" + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "The visible device name of this instance:" +msgstr "当前实例的公开设备名" + +#. Type: string +#. Description +#: ../btsync.templates:10001 +msgid "Specify here the visible device name for this instance. If left empty, a default device name based on the host name will be created." +msgstr "设置公开设备名.如果留空将使用本地机器名." + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Should BitTorrent Sync perform disk operations with low priority?" +msgstr "是否对磁盘操作设置为低优先级?" + +#. Type: boolean +#. Description +#: ../btsync.templates:11001 +msgid "Sets priority for the file operations on disc. If set to false, Sync will perform read and write file operations with the highest speed and priority which can result in degradation of performance for other applications." +msgstr "设置磁盘上文件操作的优先级." + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "Should BitTorrent Sync encrypt data on the local network?" +msgstr "是否对在LAN中传输的数据加密" + +#. Type: boolean +#. Description +#: ../btsync.templates:12001 +msgid "If set to true, will use encryption in the local network." +msgstr "设置后降至LAN中使用加密项" + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "Should BitTorrent Sync use TCP on the local network?" +msgstr "是否在LAN中使用TCP传输?" + +#. Type: boolean +#. Description +#: ../btsync.templates:13001 +msgid "If set to true, Sync will use TCP instead of UDP in local network." +msgstr "设置后将在LAN中使用TCP代替UDP传输" + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Should BitTorrent Sync apply speed limits also in local networks?" +msgstr "是否在LAN中同样使用速率限制?" + +#. Type: boolean +#. Description +#: ../btsync.templates:14001 +msgid "Applies speed limits to the peers in local network. By default the limits are not applied in LAN." +msgstr "在本地端中应用速率限制.默认不使用." + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Fall back folder rescan interval in seconds:" +msgstr "完整文件夹扫描间隔(秒):" + +#. Type: string +#. Description +#: ../btsync.templates:15001 +msgid "Syncing happens in real time. In addition, as a fall back, BitTorrent Sync also rescans files/folders every 10 minutes by default. This interval can be modified here." +msgstr "做实时同步,并且每10分钟做一次完整文件扫描.默认间隔可在此处修改" + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Umask value to set for the daemon:" +msgstr "设置服务的掩码" + +#. Type: string +#. Description +#: ../btsync.templates:16001 +msgid "Applies the supplied umask to the BitTorrent Sync daemon. If leaved empty, the default umask value applies." +msgstr "应用设置的服务掩码.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Maximum file size difference for patching:" +msgstr "patching时的最大文件差异:" + +#. Type: string +#. Description +#: ../btsync.templates:17001 +msgid "Determines a size difference in MB between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). Updates for a file with a smaller size difference will be downloaded as separate files. If leaved empty, the default value applies." +msgstr "指定不同版本间patching的最大文件大小差异(MB).超过设置值将对差异文件进行差异更新.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Maximum file size for versioning:" +msgstr "版本归档的最大文件大小:" + +#. Type: string +#. Description +#: ../btsync.templates:18001 +msgid "Determines maximum file size in MB for creating file versions. When this size is exceeded, versions will not be created to save space on disk. If leaved empty, the default value applies." +msgstr "指定创建版本的最大文件大小,超过此大小将不进行版本归档以节省磁盘空间.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "Send Buffer Size:" +msgstr "发送缓冲:" + +#. Type: string +#. Description +#: ../btsync.templates:19001 +msgid "This is the amount of real memory in MB that will be used for cached send operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "指定发送缓存的大小(MB),设置范围1 - 100 MB.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "Receive buffer size:" +msgstr "接收缓冲:" + +#. Type: string +#. Description +#: ../btsync.templates:20001 +msgid "This is the amount of real memory in MB that will be used for cached receive operations. This value can be set in the range from 1 to 100 MB. If leaved empty, the default value applies." +msgstr "指定接收缓存的大小(MB),设置范围1 - 100 MB.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum time difference between devices:" +msgstr "两个设备间的最大时差:" + +#. Type: string +#. Description +#: ../btsync.templates:21001 +msgid "Maximum allowed time difference in seconds between devices. If the difference exceeds this limit, the devices will not be synced as it may result in incorrect tracing of file changes. If leaved empty, the default value applies." +msgstr "两设备间允许的最大时差.超过最大时差设备间将停止同步.留空则使用默认值." + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Maximum time to live for versioned copies:" +msgstr "历史副本的保留时长:" + +#. Type: string +#. Description +#: ../btsync.templates:22001 +msgid "Sets the number of days after reaching which files will be automatically deleted from the .SyncArchive folder. If leaved empty, the default value applies." +msgstr "设置自动清理存档文件的过期天数.留空则使用默认值." + Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/icons/16/btsync-user.png and /tmp/gflm7TRayZ/btsync-1.2.0/icons/16/btsync-user.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/icons/32/btsync-user.png and /tmp/gflm7TRayZ/btsync-1.2.0/icons/32/btsync-user.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/icons/48/btsync-user.png and /tmp/gflm7TRayZ/btsync-1.2.0/icons/48/btsync-user.png differ Binary files /tmp/7K02ENuT0A/btsync-1.1.82.1/icons/96/btsync-user.png and /tmp/gflm7TRayZ/btsync-1.2.0/icons/96/btsync-user.png differ diff -Nru btsync-1.1.82.1/man/btsync.7 btsync-1.2.0/man/btsync.7 --- btsync-1.1.82.1/man/btsync.7 2013-10-02 16:09:01.000000000 +0000 +++ btsync-1.2.0/man/btsync.7 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ -.TH btsync 7 "October 2013" "BitTorrent Sync" "Private network P2P file synchronisation daemon" -.SH NAME -btsync - Private network P2P file synchronisation daemon - -.SH SYNOPSIS -.SP -.B btsync [-hvq] -.I -.B [ -.I -.B ] - -.SH DESCRIPTION -.B BitTorrent Sync -.R is a simple tool that applies p2p protocol for -direct live folder sync with maximum security, network speed and -storage capacity. It has native versions for Mac, Windows and -Linux, as well as native NAS integration. - -.SH OPTIONS -.TP -.B -h, --help -shows the help for the command. - -.TP -.B -v, --verbose -increases the verbosity level of the command. If specified more than once, the verbosity level will be increased. - -.TP -.B -q, --quiet -sets the verbosity level to a minimum. If specified, commands will produce no output and return only their result -by setting a return value. - -.SH COMMANDS -.R The following commands are available: - -.TP -.B btsync start -starts the whole btsync system (agent and applet) - -.TP -.B btsync stop -stops the whole btsync system (agent and applet) - -.TP -.B btsync restart -restarts the whole btsync system (agent and applet) - -.TP -.B btsync pause|suspend -stops the btsync agent but leaves the desktop applet running - -.TP -.B btsync resume -resumes the btsync agent - -.TP -.B btsync status -returns the status of the btsync agent - -.TP -.B btsync debug|setdebug [on|off|status|] -controls verbose logging or returns the verbose logging state. Instead of -activating full logging, a specific logging mask can be specified as a 16 -bit hex value - -.TP -.B btsync nodebug -.RB "disables verbose logging (same as " "btsync debug off" ")" - -.SH FILES - -.TP -.I /etc/btsync-user/btsync-user.conf -.R Template for the btsync agent configuration files - -.TP -.I /etc/btsync-user/btsync-user.desktop -.R Template for the btsync web UI desktop shortcut - -.TP -.I ~/.btsync.conf -.R Automatically created user specific configuration file for the btsync agent - -.TP -.I ~/.local/share/applications/btsync-user.desktop -.R Automatically created user specific web UI desktop shortcut - -.TP -.I ~/.btsync/sync.log -.R User specific log file of the btsync agent - -.TP -.I ~/.btsync.pid -.R User specific btsync PID file - -.SH DIRECTORIES - -.TP -.I ~/.btsync -.R User specific storage path of the btsync agent - -.SH AUTHORS - -.TP -.B BitTorrent Sync -.R itself was written by BitTorrent Inc. (See http://labs.bittorrent.com/experiments/sync.html) - -.TP -.B btsyncindicator.py -.R was written by Mark Johnson - -.TP -.B btsync-user -.R Debian/Ubuntu packaging was written by Leo Moll diff -Nru btsync-1.1.82.1/samples/complex.conf btsync-1.2.0/samples/complex.conf --- btsync-1.1.82.1/samples/complex.conf 2013-10-15 16:51:38.000000000 +0000 +++ btsync-1.2.0/samples/complex.conf 2013-11-14 17:44:13.000000000 +0000 @@ -5,3 +5,29 @@ // This btsync configuration file features the complete set of // commented configuration directives // +// Configuration parameters not parsed by btsync but by the daemon +// init script can be supplied as comments in the configuration file. +// +// The following parameters are supported: +// +// DAEMON_UID: A uid for supplying the user under which +// the btsync daemon should run +// +// DAEMON_GID: A gid for supplying the group under which +// the btsync daemon should run. If omitted +// the daemon will run under the primary group +// of the user +// +// DAEMON_UMASK: The umask (up to 4 octal digits) for the +// btsync daemon. If omitted the default umask +// is used. +// +// DAEMON_DEBUG: The debug mask (4 hex digits) for the btsync +// daemon. If omitted the init script will not +// touch potential settings defined manually. +// If set to 0000, a potential settings file +// will be deleted. Full detail is set by +// specifying FFFF +// +// The parameter definition must use an equal sign ("="): +// diff -Nru btsync-1.1.82.1/samples/user-new.conf btsync-1.2.0/samples/user-new.conf --- btsync-1.1.82.1/samples/user-new.conf 2013-10-15 16:52:33.000000000 +0000 +++ btsync-1.2.0/samples/user-new.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -//!/usr/lib/btsync/btsync-daemon --config -// -// (c) 2013 YeaSoft Int'l - Leo Moll -// -// This btsync configuration file shows how to configure a btsync -// instance running under specific user credentials and/or how -// to supply additional configuration parameters. -// -// Configuration parameters not parsed by btsync but by the daemon -// scripts can be supplied as comments in the configuration file. -// -// The following parameters are supported: -// -// DAEMON_UID: A uid for supplying the user under which -// the btsync daemon should run -// -// DAEMON_GID: A gid for supplying the group under which -// the btsync daemon should run. If omitted -// the daemon will run under the primary group -// of the user -// -// DAEMON_UMASK: The umask for the btsync damon. If omitted -// the default umask is used. -// -// The parameter definition must use an equal sign ("="): -// -// DAEMON_UID=jdoe -// DAEMON_UMASK=0002 -// -// This example will launch the instance running under the credentials -// of the user "jdoe" using 0002 as umask -// The internal data of the btsync daemon will be written in -// /home/jdoe/.btsync -// Since the web gui is disabled, the user cannot configure anything. -// The instance offers one replicated directory located in -// /home/jdoe/syncdir -// -{ - "device_name": "John Doe's btsync Server", - "listening_port" : 0, - "storage_path" : "/home/jdoe/.btsync", - "check_for_updates" : false, - "use_upnp" : false, - "download_limit" : 0, - "upload_limit" : 0, - "webui" : - { - }, - "shared_folders" : - [ - { - "secret" : "bGTbrwreXPW4XxHEmTKnX", - "dir" : "/home/jdoe/syncdir", - "use_relay_server" : true, - "use_dht" : false, - "search_lan" : true, - "use_sync_trash" : true - } - ] -} diff -Nru btsync-1.1.82.1/samples/user-old.jdoe.conf btsync-1.2.0/samples/user-old.jdoe.conf --- btsync-1.1.82.1/samples/user-old.jdoe.conf 2013-10-15 16:52:55.000000000 +0000 +++ btsync-1.2.0/samples/user-old.jdoe.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -//!/usr/lib/btsync/btsync-daemon --config -// -// (c) 2013 YeaSoft Int'l - Leo Moll -// -// This btsync configuration file shows how to configure a btsync -// instance running under specific user credentials. -// Credentials can be embeded in the filename of the configuration -// file: -// -// filename.conf - no credential specified. The -// instance will run as root:root -// filename..conf - Instance will run as with -// the primary group of -// filename...conf - Instance will run as user:group -// -// -// This example shows the OLD but still supported way to specify user -// credentials -// -// This example will launch the instance running under the credentials -// of the user "jdoe" -// The internal data of the btsync daemon will be written in -// /home/jdoe/.btsync -// Since the web gui is disabled, the user cannot configure anything. -// The instance offers one replicated directory located in -// /home/jdoe/syncdir -// -{ - "device_name": "John Doe's btsync Server", - "listening_port" : 0, - "storage_path" : "/home/jdoe/.btsync", - "check_for_updates" : false, - "use_upnp" : false, - "download_limit" : 0, - "upload_limit" : 0, - "webui" : - { - }, - "shared_folders" : - [ - { - "secret" : "bGTbrwreXPW4XxHEmTKnX", - "dir" : "/home/jdoe/syncdir", - "use_relay_server" : true, - "use_dht" : false, - "search_lan" : true, - "use_sync_trash" : true - } - ] -} diff -Nru btsync-1.1.82.1/samples/user.conf btsync-1.2.0/samples/user.conf --- btsync-1.1.82.1/samples/user.conf 1970-01-01 00:00:00.000000000 +0000 +++ btsync-1.2.0/samples/user.conf 2013-11-14 17:44:00.000000000 +0000 @@ -0,0 +1,68 @@ +//!/usr/lib/btsync/btsync-daemon --config +// +// (c) 2013 YeaSoft Int'l - Leo Moll +// +// This btsync configuration file shows how to configure a btsync +// instance running under specific user credentials and/or how +// to supply additional configuration parameters. +// +// Configuration parameters not parsed by btsync but by the daemon +// init script can be supplied as comments in the configuration file. +// +// The following parameters are supported: +// +// DAEMON_UID: A uid for supplying the user under which +// the btsync daemon should run +// +// DAEMON_GID: A gid for supplying the group under which +// the btsync daemon should run. If omitted +// the daemon will run under the primary group +// of the user +// +// DAEMON_UMASK: The umask (up to 4 octal digits) for the +// btsync daemon. If omitted the default umask +// is used. +// +// DAEMON_DEBUG: The debug mask (4 hex digits) for the btsync +// daemon. If omitted the init script will not +// touch potential settings defined manually. +// If set to 0000, a potential settings file +// will be deleted. Full detail is set by +// specifying FFFF +// +// The parameter definition must use an equal sign ("="): +// +// DAEMON_UID=jdoe +// DAEMON_UMASK=0002 +// +// This example will launch the instance running under the credentials +// of the user "jdoe" using 0002 as umask +// The internal data of the btsync daemon will be written in +// /home/jdoe/.btsync +// Since the web gui is disabled, the user cannot configure anything. +// The instance offers one replicated directory located in +// /home/jdoe/syncdir +// +{ + "device_name": "John Doe's btsync Server", + "listening_port" : 0, + "storage_path" : "/home/jdoe/.btsync", + "check_for_updates" : false, + "use_upnp" : false, + "download_limit" : 0, + "upload_limit" : 0, + "webui" : + { + }, + "shared_folders" : + [ + { + "secret" : "bGTbrwreXPW4XxHEmTKnX", + "dir" : "/home/jdoe/syncdir", + "use_relay_server" : true, + "use_dht" : false, + "search_lan" : true, + "use_sync_trash" : true + } + ] +} diff -Nru btsync-1.1.82.1/scripts/btsync btsync-1.2.0/scripts/btsync --- btsync-1.1.82.1/scripts/btsync 2013-10-12 16:41:48.000000000 +0000 +++ btsync-1.2.0/scripts/btsync 1970-01-01 00:00:00.000000000 +0000 @@ -1,211 +0,0 @@ -#!/bin/bash -# -# (c) 2013 YeaSoft Int'l - Leo Moll -# -# This script allows to manage the -# btsync user agent - -##################################### -# variables section - -# compute user specific directories -DESTDIR=${HOME} -DATADIR=${DESTDIR}/.btsync -CFGFILE=${DESTDIR}/.btsync.conf -PIDFILE=${DESTDIR}/.btsync.pid -USRFILE=${DESTDIR}/btsync.conf -APPLDIR=${HOME}/.local/share/applications -APPFILE=${APPLDIR}/btsync-user.desktop -DEVNAME="$(hostname) - $(whoami)" - -RUNNING_STATEFILE="${DATADIR}/running" -PAUSED_STATEFILE="${DATADIR}/paused" -UPDATING_STATEFILE="/var/run/btsync-user-updating" - -# initialize runtime variables -VERBOSE=1 - -##################################### -# basic script functions - -function usage { - cat < [param] - -Commands: - start start the btsync system - stop stop the btsync system - restart restarts the btsync system - pause suspends the btsync system - stop resumes the btsync system - status output the btsync status - debug|setdebug enables/configures/disables verbose logging - nodebug disables verbose logging - -Options: - -v, --verbose increase verbosity - -q, --quiet say nothing - only return error codes - -This script allows to manage the BitTorrent Sync Desktop application - -EOF -} - -function show_verbose { - if [ $VERBOSE -ge $1 ]; then - echo "${*:2}" - fi -} - -function show_error { - echo "btsync error: $*" >&2 -} - -PARSER=$(getopt --name "$SCRIPTNAME" --options h,v,q --longoptions help,verbose,quiet -- "$@") -case $? in -0);; -1) show_error "syntax or usage error (code $?)"; exit $?;; -2) show_error "syntax or usage error (code $?) in [getopt]"; exit $?;; -3) show_error "internal error (code $?) in [getopt]"; exit $?;; -4) show_error "wrong getopt version istalled"; exit $?;; -*) show_error "Unknown getopt error (code $?)"; exit $?;; -esac - -# Parameter parsing -eval set -- "$PARSER" -while true; do - case "$1" in - -h|--help) usage; exit 0;; - -v|--verbose) (( VERBOSE++ )); shift;; - -q|--quiet) VERBOSE=0; shift;; - --) shift; break;; - *) echo "btsync: $1: unknown option"; show_error "syntax or usage error (code 1)"; exit 1;; - esac -done - -# configuration checking - -if [ -z $1 ]; then - usage - exit 0 -fi - -RESULT=0 - -case "$1" in -start) - if [ -f "${RUNNING_STATEFILE}" -a -f "${PAUSED_STATEFILE}" ]; then - show_verbose 2 "Resuming btsync instead of starting..." - rm -f "${PAUSED_STATEFILE}" - RESULT=$? - show_verbose 2 "Done." - else - show_verbose 2 "Starting btsync..." - /usr/lib/btsync-user/btsync-starter - RESULT=$? - show_verbose 2 "Done." - fi - ;; -stop) - show_verbose 2 "Stopping btsync..." - /usr/lib/btsync-user/btsync-stopper - RESULT=$? - show_verbose 2 "Done." - ;; -restart) - show_verbose 2 "Restarting btsync..." - /usr/lib/btsync-user/btsync-stopper - sleep 5 - /usr/lib/btsync-user/btsync-starter - RESULT=$? - show_verbose 2 "Done." - ;; -pause|suspend) - if [ -f "${PAUSED_STATEFILE}" ]; then - show_verbose 1 "btsync is already paused" - RESULT=1 - elif [ -f "${RUNNING_STATEFILE}" ]; then - show_verbose 2 "Suspending..." - touch "${PAUSED_STATEFILE}" - pkill -u $(id -u) -x btsync-agent - RESULT=$? - show_verbose 2 "Done." - else - show_verbose 1 "Cannot suspend since btsync is not running" - RESULT=2 - fi - ;; -resume) - if [ -f "${PAUSED_STATEFILE}" ]; then - show_verbose 2 "Resuming btsync..." - rm -f "${PAUSED_STATEFILE}" - RESULT=$? - show_verbose 2 "Done." - elif [ -f "${RUNNING_STATEFILE}" ]; then - show_verbose 1 "btsync is already running" - RESULT=1 - else - show_verbose 1 "Cannot resume since btsync is not running" - RESULT=2 - fi - ;; -status) - if [ -f "${RUNNING_STATEFILE}" ]; then - if [ -f "${PAUSED_STATEFILE}" ]; then - show_verbose 1 "paused" - RESULT=1 - else - show_verbose 1 "running" - RESULT=0 - fi - else - show_verbose 1 "stopped" - RESULT=2 - fi - ;; -debug|setdebug) - case "$2" in - 1|on|On|ON) - show_verbose 1 "Enabling verbose logging" - echo "FFFF" > "${DATADIR}/debug.txt" - ;; - 0|off|Off|OFF) - show_verbose 1 "Disabling verbose logging" - rm -f "${DATADIR}/debug.txt" - ;; - [0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f]) - show_verbose 1 "Enabling verbose logging (Mask: $2)" - echo "$2" > "${DATADIR}/debug.txt" - ;; - *) - if [ -f "${DATADIR}/debug.txt" ]; then - case "$(head -n 1 ${DATADIR}/debug.txt)" in - FFFF|ffff) - show_verbose 1 "debug=on" - RESULT=1 - ;; - *) - show_verbose 1 "debug=$(head -n 1 ${DATADIR}/debug.txt)" - RESULT=1 - ;; - esac - else - show_verbose 1 "debug=off" - RESULT=0 - fi - ;; - esac - ;; -nodebug) - show_verbose 1 "Disabling verbose logging" - rm -f "${DATADIR}/debug.txt" - ;; -help) - usage - ;; -*) - show_error "Unknown command $1" - RESULT=99 - ;; -esac -exit ${RESULT} diff -Nru btsync-1.1.82.1/scripts/btsync-agent.desktop btsync-1.2.0/scripts/btsync-agent.desktop --- btsync-1.1.82.1/scripts/btsync-agent.desktop 2013-09-30 12:52:50.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-agent.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=BitTorrent Sync -Comment=Synchronize your folders with maximum security, network speed and storage capacity -Exec=/usr/lib/btsync-user/btsync-starter -Icon=btsync-user -Terminal=false -Type=Application diff -Nru btsync-1.1.82.1/scripts/btsync-starter btsync-1.2.0/scripts/btsync-starter --- btsync-1.1.82.1/scripts/btsync-starter 2013-10-27 16:25:12.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-starter 1970-01-01 00:00:00.000000000 +0000 @@ -1,179 +0,0 @@ -#!/bin/sh -# -# (c) 2013 YeaSoft Int'l - Leo Moll -# -# This script manages the runtime environment and behaviour -# of BitTorrent Sync (btsync) in a desktop environment - -# In order to create clear isolated user environments, all -# configuration and runtime data of btsync must be kept in -# the users home directory and there shall be no conflicts -# between concurrent btsync instances of different users -# since more than one user can be logged in -# Furthermore the script must be able to handle the update -# of btsync initiated under root credentials - -# The configuration file for each user is created automatically -# based on the template /etc/btsync-user/btsync-user.conf in -# his home directory as ~/.btsync.conf defining a user specific -# storage directory (~/.btsync), a user specific device name, a -# user specific PID file and a user specific port number for -# the web ui. A user specific web ui shortcut is created in -# ~/.local/share/applications - -# The user can override the settings of his personal -# configuration file by creating a configuration file in his -# home directory named ~./btsync.conf - -##################################### -# variables section - -# compute user specific directories -DESTDIR=${HOME} -DATADIR=${DESTDIR}/.btsync -CFGFILE=${DESTDIR}/.btsync.conf -PIDFILE=${DESTDIR}/.btsync.pid -USRFILE=${DESTDIR}/btsync.conf -APPLDIR=${HOME}/.local/share/applications -APPFILE=${APPLDIR}/btsync-user.desktop -DEVNAME="$(hostname) - $(whoami)" - -RUNNING_STATEFILE="${DATADIR}/running" -PAUSED_STATEFILE="${DATADIR}/paused" -UPDATING_STATEFILE="/var/run/btsync-user-updating" - -AGENT=/usr/lib/btsync-user/btsync-agent -FRONT=/usr/lib/btsync-user/btsyncindicator.py -ICONS=/usr/share/icons/hicolor/22x22/status - -# "sedify" replacemnt data -XDATADIR="$(echo ${DATADIR} | sed -e "s/\\//\\\\\//g")" -XPIDFILE="$(echo ${PIDFILE} | sed -e "s/\\//\\\\\//g")" -XDEVNAME="$(echo ${DEVNAME} | sed -e "s/\\//\\\\\//g")" -XPORTNUM="$((8999+$(id -u)))" - -##################################### -# utility functions - -make_userfiles() { - mkdir -p ${DATADIR} - mkdir -p ${APPLDIR} - sed \ - -e "s/DATADIR/${XDATADIR}/g" \ - -e "s/PIDFILE/${XPIDFILE}/g" \ - -e "s/DEVNAME/${XDEVNAME}/g" \ - -e "s/PORTNUM/${XPORTNUM}/g" \ - > ${CFGFILE} < /etc/btsync-user/btsync-user.conf - sed \ - -e "s/DATADIR/${XDATADIR}/g" \ - -e "s/PIDFILE/${XPIDFILE}/g" \ - -e "s/DEVNAME/${XDEVNAME}/g" \ - -e "s/PORTNUM/${XPORTNUM}/g" \ - > ${APPFILE} < /etc/btsync-user/btsync-user.desktop -} - -adjust_arm_alignment() { - if [ -r /proc/cpu/alignment ]; then - if ! ${AGENT} --help > /dev/null 2> /dev/null; then - # something is wrong - if ${AGENT} --help | grep -i "Alignment error" > /dev/null 2> /dev/null; then - echo 2 > /proc/cpu/alignment - fi - fi - fi -} - -start_frontend() { - if ! pgrep -u $(id -u) -f btsyncindicator.py > /dev/null; then - if [ -f "${USRFILE}" ]; then - ${FRONT} --config "${USRFILE}" --iconpath "${ICONS}" & - else - ${FRONT} --config "${CFGFILE}" --iconpath "${ICONS}" & - fi - fi -} - -stop_frontend() { - pkill -u $(id -u) -f btsyncindicator.py -} - -start_agent() { - if ! pgrep -u $(id -u) -x btsync-agent > /dev/null; then - adjust_arm_alignment - if [ -f "${USRFILE}" ]; then - ${AGENT} --config "${USRFILE}" - else - ${AGENT} --config "${CFGFILE}" - fi - fi -} - -stop_agent() { - trap - INT QUIT TERM EXIT - rm -f "${RUNNING_STATEFILE}" - rm -f "${PAUSED_STATEFILE}" - pkill -u $(id -u) -x btsync-agent - pkill -u $(id -u) -f btsyncindicator.py - exit -} - - -agent_runner() { - trap stop_agent INT QUIT TERM EXIT - touch "${RUNNING_STATEFILE}" - while [ -f "${RUNNING_STATEFILE}" ]; do - if [ -f "${UPDATING_STATEFILE}" ]; then - # System is beeing updated. Sleep a while - # and wait for restarting everything - sleep 2 - elif [ -f "${PAUSED_STATEFILE}" ]; then - # System is paused. Sleep a while and - # wait for system resume - sleep 1 - else - cd ~ - # Normal situation. Regenerate user files and - # startup normally - make_userfiles - # make sure the frontend is running - start_frontend - # start the agent - start_agent - # give the agent some time to fork - sleep 1 - # wait for process to finish - while pgrep -u $(id -u) -x btsync-agent > /dev/null; do - sleep 1 - done - if [ -f "${UPDATING_STATEFILE}" ]; then - # we should stop the frontend since it could - # also be updated - stop_frontend - elif [ ! -f "${PAUSED_STATEFILE}" ]; then - # no reason to stay online. stop the whole game - stop_agent - fi - fi - done - trap - INT QUIT TERM EXIT -} - - -##################################### -# the main script - -# make sure the frontend is running -make_userfiles -start_frontend - -if pgrep -u $(id -u) -x btsync-agent > /dev/null; then - echo btsync-agent already running - exit 0 -elif [ -f "${PAUSED_STATEFILE}" ]; then - echo btsync-agent was paused. resuming... - rm -r "${PAUSED_STATEFILE}" - exit 0 -else - # fork the agent runner - agent_runner & -fi diff -Nru btsync-1.1.82.1/scripts/btsync-stopper btsync-1.2.0/scripts/btsync-stopper --- btsync-1.1.82.1/scripts/btsync-stopper 2013-10-02 16:19:36.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-stopper 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/bin/sh -# -# (c) 2013 YeaSoft Int'l - Leo Moll -# -# This script stops and cleanup a running btsync - -##################################### -# variables section - -# compute user specific directories -DESTDIR=${HOME} -DATADIR=${DESTDIR}/.btsync -RUNNING_STATEFILE="${DATADIR}/running" -PAUSED_STATEFILE="${DATADIR}/paused" - -##################################### -# the main script - -rm -f "${RUNNING_STATEFILE}" -rm -f "${PAUSED_STATEFILE}" -pkill -u $(id -u) -x btsync-agent -pkill -u $(id -u) -f btsyncindicator.py diff -Nru btsync-1.1.82.1/scripts/btsync-tester btsync-1.2.0/scripts/btsync-tester --- btsync-1.1.82.1/scripts/btsync-tester 2013-10-02 12:32:12.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-tester 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -#!/bin/sh -# -# (c) 2013 YeaSoft Int'l - Leo Moll -# -# This script tests if ANY btsync agents are running - -##################################### -# the main script -if pgrep -x btsync-agent > /dev/null; then - exit 1 -else - exit 0 -fi diff -Nru btsync-1.1.82.1/scripts/btsync-user.conf btsync-1.2.0/scripts/btsync-user.conf --- btsync-1.1.82.1/scripts/btsync-user.conf 2013-09-04 13:32:38.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-user.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -//!/usr/lib/btsync-user/btsync-agent --config -// -// configuration for the btsync agent running in the -// user environment -{ - "device_name" : "DEVNAME", - "pid_file" : "PIDFILE", - "storage_path" : "DATADIR", - "listening_port" : 0, - "check_for_updates" : false, - "use_upnp" : true, - "download_limit" : 0, - "upload_limit" : 0, - "webui" : - { - "listen" : "127.0.0.1:PORTNUM" - } -} diff -Nru btsync-1.1.82.1/scripts/btsync-user.desktop btsync-1.2.0/scripts/btsync-user.desktop --- btsync-1.1.82.1/scripts/btsync-user.desktop 2013-09-30 12:47:25.000000000 +0000 +++ btsync-1.2.0/scripts/btsync-user.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=BitTorrent Sync Web UI -Comment=BitTorrent Sync management interface -Exec=sensible-browser http://127.0.0.1:PORTNUM -Icon=btsync-user -Terminal=false -Type=Application -Categories=Network