├── .gitignore ├── .travis.yml ├── README.md ├── bind-shim ├── bind.c └── debian │ ├── README.Debian │ ├── README.source │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── dirs │ ├── docs │ ├── rules │ ├── source │ └── format │ └── triggers ├── btsync-common └── debian │ ├── README.Debian │ ├── README.source │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── dirs │ ├── docs │ ├── history │ └── changelog │ ├── install │ ├── lintian-overrides │ ├── postinst │ ├── prerm │ ├── rules │ ├── source │ └── format │ ├── triggers │ └── watch ├── btsync-core └── debian │ ├── README.Debian │ ├── README.source │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── dirs │ ├── docs │ ├── history │ └── changelog │ ├── install │ ├── lintian-overrides │ ├── postinst │ ├── prerm │ ├── rules │ ├── source │ └── format │ ├── triggers │ └── watch ├── btsync-gui ├── CREDITS.md ├── README.md ├── btsync-gui ├── btsync-gui.7 ├── btsync-gui.desktop ├── btsyncagent.py ├── btsyncapi.py ├── btsyncapp.glade ├── btsyncapp.py ├── btsyncguiapp.py ├── btsyncstatus.glade ├── btsyncstatus.py ├── btsyncutils.py ├── debian │ ├── btsync-gui-gtk.README.Debian │ ├── btsync-gui-gtk.dirs │ ├── btsync-gui-gtk.docs │ ├── btsync-gui-gtk.install │ ├── btsync-gui-gtk.manpages │ ├── btsync-gui-gtk.postinst │ ├── btsync-gui-gtk.postrm │ ├── btsync-gui.prerm │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── querykey.sh │ ├── rules │ ├── source │ │ └── format │ └── watch ├── dialogs.glade ├── dialogs.py ├── icons │ ├── 128x128 │ │ └── apps │ │ │ └── btsync-gui.png │ ├── 16x16 │ │ ├── apps │ │ │ └── btsync-gui.png │ │ └── status │ │ │ ├── btsync-gui-cloud.png │ │ │ └── btsync-gui-direct.png │ ├── 22x22 │ │ └── status │ │ │ ├── btsync-gui-0-dark.png │ │ │ ├── btsync-gui-0.png │ │ │ ├── btsync-gui-1-dark.png │ │ │ ├── btsync-gui-1.png │ │ │ ├── btsync-gui-10-dark.png │ │ │ ├── btsync-gui-10.png │ │ │ ├── btsync-gui-11-dark.png │ │ │ ├── btsync-gui-11.png │ │ │ ├── btsync-gui-2-dark.png │ │ │ ├── btsync-gui-2.png │ │ │ ├── btsync-gui-3-dark.png │ │ │ ├── btsync-gui-3.png │ │ │ ├── btsync-gui-4-dark.png │ │ │ ├── btsync-gui-4.png │ │ │ ├── btsync-gui-5-dark.png │ │ │ ├── btsync-gui-5.png │ │ │ ├── btsync-gui-6-dark.png │ │ │ ├── btsync-gui-6.png │ │ │ ├── btsync-gui-7-dark.png │ │ │ ├── btsync-gui-7.png │ │ │ ├── btsync-gui-8-dark.png │ │ │ ├── btsync-gui-8.png │ │ │ ├── btsync-gui-9-dark.png │ │ │ ├── btsync-gui-9.png │ │ │ ├── btsync-gui-connecting-dark.png │ │ │ ├── btsync-gui-connecting.png │ │ │ ├── btsync-gui-disconnected-dark.png │ │ │ ├── btsync-gui-disconnected.png │ │ │ ├── btsync-gui-paused-dark.png │ │ │ └── btsync-gui-paused.png │ ├── 256x256 │ │ └── apps │ │ │ └── btsync-gui.png │ ├── 32x32 │ │ └── apps │ │ │ └── btsync-gui.png │ ├── 36x36 │ │ └── status │ │ │ ├── btsync-gui-0.png │ │ │ ├── btsync-gui-1.png │ │ │ ├── btsync-gui-10.png │ │ │ ├── btsync-gui-11.png │ │ │ ├── btsync-gui-2.png │ │ │ ├── btsync-gui-3.png │ │ │ ├── btsync-gui-4.png │ │ │ ├── btsync-gui-5.png │ │ │ ├── btsync-gui-6.png │ │ │ ├── btsync-gui-7.png │ │ │ ├── btsync-gui-8.png │ │ │ ├── btsync-gui-9.png │ │ │ ├── btsync-gui-connecting.png │ │ │ ├── btsync-gui-disconnected.png │ │ │ └── btsync-gui-paused.png │ ├── 44x44 │ │ └── status │ │ │ ├── btsync-gui-0-dark.png │ │ │ ├── btsync-gui-0.png │ │ │ ├── btsync-gui-1-dark.png │ │ │ ├── btsync-gui-1.png │ │ │ ├── btsync-gui-10-dark.png │ │ │ ├── btsync-gui-10.png │ │ │ ├── btsync-gui-11-dark.png │ │ │ ├── btsync-gui-11.png │ │ │ ├── btsync-gui-2-dark.png │ │ │ ├── btsync-gui-2.png │ │ │ ├── btsync-gui-3-dark.png │ │ │ ├── btsync-gui-3.png │ │ │ ├── btsync-gui-4-dark.png │ │ │ ├── btsync-gui-4.png │ │ │ ├── btsync-gui-5-dark.png │ │ │ ├── btsync-gui-5.png │ │ │ ├── btsync-gui-6-dark.png │ │ │ ├── btsync-gui-6.png │ │ │ ├── btsync-gui-7-dark.png │ │ │ ├── btsync-gui-7.png │ │ │ ├── btsync-gui-8-dark.png │ │ │ ├── btsync-gui-8.png │ │ │ ├── btsync-gui-9-dark.png │ │ │ ├── btsync-gui-9.png │ │ │ ├── btsync-gui-connecting-dark.png │ │ │ ├── btsync-gui-connecting.png │ │ │ ├── btsync-gui-disconnected-dark.png │ │ │ ├── btsync-gui-disconnected.png │ │ │ ├── btsync-gui-paused-dark.png │ │ │ └── btsync-gui-paused.png │ ├── 48x48 │ │ └── apps │ │ │ └── btsync-gui.png │ ├── 512x512 │ │ └── apps │ │ │ └── btsync-gui.png │ └── 64x64 │ │ └── apps │ │ └── btsync-gui.png ├── po │ ├── POTFILES.in │ ├── bg.po │ ├── cs.po │ ├── de.po │ ├── es.po │ ├── fr.po │ ├── gl.po │ ├── hu.po │ ├── it.po │ ├── nl.po │ ├── pl.po │ ├── ru.po │ └── templates.pot └── trayindicator.py ├── btsync-user ├── README.md ├── btsyncindicator │ ├── .gitignore │ ├── CREDITS │ ├── LICENSE │ ├── README.md │ ├── btsyncindicator.py │ └── icons │ │ ├── btsync-active-0.png │ │ ├── btsync-active-1.png │ │ ├── btsync-active-2.png │ │ ├── btsync-attention.png │ │ ├── btsync-direct.png │ │ ├── btsync-error.png │ │ ├── btsync-relay.png │ │ └── btsync.png ├── debian │ ├── btsync-user.README.Debian │ ├── btsync-user.dirs │ ├── btsync-user.docs │ ├── btsync-user.install │ ├── btsync-user.links │ ├── btsync-user.manpages │ ├── btsync-user.postinst │ ├── btsync-user.postrm │ ├── btsync-user.prerm │ ├── btsync-user.triggers │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── rules │ ├── source │ │ └── format │ └── watch ├── icons │ ├── 16 │ │ └── btsync-user.png │ ├── 32 │ │ └── btsync-user.png │ ├── 48 │ │ └── btsync-user.png │ └── 96 │ │ └── btsync-user.png ├── man │ └── btsync.7 └── scripts │ ├── btsync │ ├── btsync-agent.desktop │ ├── btsync-starter │ ├── btsync-stopper │ ├── btsync-tester │ ├── btsync-user.conf │ └── btsync-user.desktop ├── btsync ├── CREDITS.md ├── README.md ├── debian │ ├── btsync.README.Debian │ ├── btsync.config │ ├── btsync.default │ ├── btsync.dirs │ ├── btsync.docs │ ├── btsync.init.d │ ├── btsync.install │ ├── btsync.links │ ├── btsync.postinst │ ├── btsync.postrm │ ├── btsync.preinst │ ├── btsync.prerm │ ├── btsync.templates │ ├── btsync.triggers │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── po │ │ ├── POTFILES.in │ │ ├── ca.po │ │ ├── cs.po │ │ ├── de.po │ │ ├── el.po │ │ ├── es.po │ │ ├── fr.po │ │ ├── gl.po │ │ ├── hu.po │ │ ├── it.po │ │ ├── nl.po │ │ ├── pl.po │ │ ├── ru.po │ │ ├── templates.pot │ │ └── zh_CN.po │ ├── rules │ ├── source │ │ ├── format │ │ └── include-binaries │ └── watch ├── icons │ ├── 16 │ │ └── btsync.png │ ├── 32 │ │ └── btsync.png │ ├── 48 │ │ └── btsync.png │ ├── 64 │ │ └── btsync.png │ ├── 96 │ │ └── btsync.png │ ├── 128 │ │ └── btsync.png │ └── 256 │ │ └── btsync.png └── samples │ ├── complex.conf │ ├── simple.conf │ └── user.conf ├── build.cake ├── build.ps1 ├── build.sh ├── cake ├── deploy_rsa.enc ├── deploy_rsa.pub ├── functions.cake └── objects.cake ├── deps.md ├── docs ├── forum-topic-btsync-gui-alpha.txt ├── forum-topic-btsync-gui.txt ├── forum-topic-btsync-user.txt ├── forum-topic-btsync.txt ├── images │ ├── icon.png │ └── icon.svg ├── sample.conf.json ├── site-page-btsync-gui-images.html └── site-page-repo.md ├── make-all-debs.sh ├── make-all-srcs.sh ├── tools └── packages.config └── upload-ppa.sh /.gitignore: -------------------------------------------------------------------------------- 1 | # source archives 2 | /btsync*.tar.gz 3 | /btsync*.orig.tar.gz 4 | /btsync*.debian.tar.gz 5 | 6 | # intermediate files 7 | /btsync*.dsc 8 | /btsync*.build 9 | /btsync*.changes 10 | /btsync*.upload 11 | /btsync*.deb 12 | 13 | # unpacked sources 14 | /btsync-core/amd64 15 | /btsync-core/arm 16 | /btsync-core/i386 17 | /btsync-core/kfreebsd-amd64 18 | /btsync-core/kfreebsd-i386 19 | /btsync-core/powerpc 20 | /btsync-common/amd64 21 | /btsync-common/arm 22 | /btsync-common/geode 23 | /btsync-common/i386 24 | /btsync-common/kfreebsd-amd64 25 | /btsync-common/kfreebsd-i386 26 | /btsync-common/powerpc 27 | 28 | # bind shim source and intermediate files 29 | /bind-shim_* 30 | 31 | # maintainers helpers 32 | /publishall.sh 33 | /conf 34 | /putrepo 35 | /nbproject 36 | /nbproject/private/ 37 | 38 | # compiled python code 39 | *.pyc 40 | 41 | # editor debris 42 | *~ 43 | 44 | # temp build files 45 | /packages 46 | /.fake 47 | /tools 48 | /.dotnet/ 49 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | env: 2 | addons: 3 | apt: 4 | sources: 5 | - mono 6 | packages: 7 | - mono-runtime 8 | - libmono-cil-dev 9 | - build-essential 10 | - devscripts 11 | - debhelper 12 | - intltool 13 | - fakeroot 14 | ssh_known_hosts: d4.silvenga.net 15 | dist: trusty 16 | language: csharp 17 | script: 18 | - bash build.sh --target Build-Deb 19 | after_success: 20 | - openssl aes-256-cbc -K $encrypted_2b0540bf1619_key -iv $encrypted_2b0540bf1619_iv -in cake/deploy_rsa.enc -out /tmp/deploy_rsa -d 21 | - eval "$(ssh-agent -s)" 22 | - chmod 600 /tmp/deploy_rsa 23 | - ssh-add /tmp/deploy_rsa 24 | - scp *.deb d4.silvenga.net:/opt/aptly/incoming/btsync/ 25 | # - ssh d4.silvenga.net "bash /opt/aptly/incoming/import.sh btsync; bash /opt/aptly/s3-publish.sh;" -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Icon](docs/images/icon.png) 2 | 3 | # BitTorrent Sync Packaging Project 4 | 5 | [![Build Status](https://img.shields.io/travis/Silvenga/btsync-deb.svg?style=flat-square)](https://travis-ci.org/Silvenga/btsync-deb) 6 | 7 | > The bellow `apt-key` was incorrectly importing my signing key, rather than my public key. If any errors on updating, run the updated command. 8 | 9 | I will be providing continued maintenance for this awesome project that Mr. Tuxpoldo has founded. Until I am accustomed to this project (or Python for the matter) I can provide support for the `btsync` and `btsync-common` packages with new binary versions and bugfixes. 10 | 11 | Debian and Ubuntu packages can be found under my private repository http://deb.silvenga.com. New versions should be automatically built and published to this location via my build server (found above) when new changelogs are released. 12 | 13 | Cheers! 14 | 15 | \- Silvenga 16 | 17 | ## Installing 18 | 19 | Add my package signing key: 20 | 21 | ``` 22 | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37F1A037FEF78709 23 | ``` 24 | 25 | Add the btsync repository: 26 | 27 | ``` 28 | add-apt-repository "deb http://deb.silvenga.com/btsync any main" 29 | apt-get update 30 | ``` 31 | 32 | Install `btsync` 33 | 34 | ``` 35 | apt-get install btsync 36 | ``` 37 | 38 | After following the prompts, open your browser to `http://127.0.0.1:8888/gui/` (if using the default configuration). 39 | 40 | ## FAQ 41 | 42 | ### Issue 43 | 44 | Adding a new synced folder results in the following error: 45 | 46 | > Sync does not have permission to access this folder 47 | 48 | ### Solution 49 | 50 | Make sure the user Btsync is running as has read and write access to the path set when prompted for the "Start path for the web interface". 51 | 52 | Alternatively, `/` can be used. 53 | 54 | ### Issue 55 | 56 | You would receive something like the following when running `apt-get-repository`: 57 | 58 | ``` 59 | Traceback (most recent call last): 60 | File "/usr/bin/add-apt-repository", line 167, in 61 | sp = SoftwareProperties(options=options) 62 | File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 105, in __init__ 63 | self.reload_sourceslist() 64 | File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 595, in reload_sourceslist 65 | self.distro.get_sources(self.sourceslist) 66 | File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 89, in get_sources 67 | (self.id, self.codename)) 68 | aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/jessie 69 | ``` 70 | 71 | ### Solution 72 | 73 | Raspbian's `add-apt-repository` seems to be broken under at last Jessie. The following commands will resolve the issues: 74 | 75 | ``` 76 | echo "deb http://deb.silvenga.com/btsync any main" > /etc/apt/sources.list.d/silvenga-btsync-deb.list 77 | apt-get update 78 | apt-get install btsync 79 | ``` 80 | 81 | ### Issue 82 | 83 | Adding signing key fails with the following stacktrace: 84 | 85 | ``` 86 | gpg: requesting key 3C3DE741 from hkp server keyserver.ubuntu.com 87 | gpg: no writable keyring found: eof 88 | gpg: error reading `[stream]': general error 89 | ``` 90 | 91 | ### Solution 92 | 93 | Make sure to run all the above commands as `root` either by using `sudo` or switching to the `root` user. 94 | 95 | ## TODO 96 | 97 | * Log to proper log folder. 98 | * Setup logrotate. 99 | 100 | ## Original README 101 | 102 | [BitTorrent® Sync][1] from BitTorrent® Inc. is a simple tool that 103 | applies p2p protocol for direct live folder sync with maximum security, network 104 | speed and storage capacity. It has native versions for Mac, Windows and Linux, 105 | as well as native NAS integration. 106 | 107 | BitTorrent® Inc. __delivers for Linux users only a raw binary file without 108 | any deployment concept or setup system__. It's up to the user to create a 109 | reliable startup and shutdown logic and to manage a configuration file. Also a 110 | dedicated GUI, as provided for Windows and Mac OSX is missing. 111 | 112 | The scope of this project is to provide a __Linux GUI__ with all features as in 113 | Windows and Mac OSX and __easy to install packages__ both for servers and 114 | desktop systems. 115 | 116 | **THESE SOFTWARE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT® INC. 117 | PLEASE DO NOT CONTACT THE BITTORRENT® INC. SUPPORT WITH QUESTIONS OR 118 | PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU WILL FIND COMPETENT HELP 119 | AND SUPPORT IN THE RELATED DISCUSSION THREAD IN THE SUPPORT FORUM (Links 120 | below)** 121 | 122 | The mere executables and documentation provided by BitTorrent® Inc. are 123 | distributed in a package named __btsync-common__ - all other packages are 124 | dependent upon it. 125 | 126 | The brand new package containing the full featured GUI for BitTorrent Sync for 127 | desktop users is named __btsync-gui__ - This package is going to replace 128 | __btsync-user__ on long term. 129 | 130 | The package containing support for BitTorrent Sync as a single or multiple 131 | service with or without WebUI for server/NAS deployment is named __btsync__ 132 | 133 | The legacy package containing support for BitTorrent Sync as a WebUI and tray 134 | application for desktop users is named __btsync-user__ 135 | 136 | 137 | ## Useful Links 138 | 139 | - [Project Home Page][2] 140 | - [BitTorrent Sync Home Page][1] 141 | - [BitTorrent Sync Support Forum][3] 142 | - [Desktop GUI Package Support Thread][4] 143 | - [Server Package Thread][5] 144 | - [Legacy Desktop Package Thread][6] 145 | 146 | [1]: http://www.bittorrent.com/sync 147 | [2]: http://www.yeasoft.com/site/projects:btsync-deb 148 | [3]: http://forum.bittorrent.com/forum/107-bittorrent-sync/ 149 | [4]: http://forum.bittorrent.com/topic/28106-linux-desktop-gui-unofficial-packages-for-bittorrent-sync/ 150 | [5]: http://forum.bittorrent.com/topic/18974-debian-and-ubuntu-server-packages-for-bittorrent-sync/ 151 | [6]: http://forum.bittorrent.com/topic/19560-debian-and-ubuntu-legacy-desktop-unofficial-packages-for-bittorrent-sync/ 152 | -------------------------------------------------------------------------------- /bind-shim/bind.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2000 Daniel Ryde 3 | Small amendment by Daniel Lange, 2010 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | */ 15 | 16 | /* 17 | LD_PRELOAD library to make bind and connect to use a virtual 18 | IP address as localaddress. Specified via the enviroment 19 | variable BIND_ADDR. 20 | 21 | Compile on Linux with: 22 | gcc -nostartfiles -fpic -shared bind.c -o bind.so -ldl -D_GNU_SOURCE 23 | 24 | 25 | Example in bash to make inetd only listen to the localhost 26 | lo interface, thus disabling remote connections and only 27 | enable to/from localhost: 28 | 29 | BIND_ADDR="127.0.0.1" LD_PRELOAD=./bind.so /sbin/inetd 30 | 31 | 32 | Example in bash to use your virtual IP as your outgoing 33 | sourceaddress for ircII: 34 | 35 | BIND_ADDR="your-virt-ip" LD_PRELOAD=./bind.so ircII 36 | 37 | Note that you have to set up your servers virtual IP first. 38 | 39 | 40 | This program was made by Daniel Ryde 41 | email: daniel@ryde.net 42 | web: http://www.ryde.net/ 43 | 44 | TODO: I would like to extend it to the accept calls too, like a 45 | general tcp-wrapper. Also like an junkbuster for web-banners. 46 | For libc5 you need to replace socklen_t with int. 47 | */ 48 | 49 | 50 | 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | #include 57 | #include 58 | 59 | int (*real_bind)(int, const struct sockaddr *, socklen_t); 60 | int (*real_connect)(int, const struct sockaddr *, socklen_t); 61 | 62 | char *bind_addr_env; 63 | unsigned long int bind_addr_saddr; 64 | unsigned long int inaddr_any_saddr; 65 | struct sockaddr_in local_sockaddr_in[] = { 0 }; 66 | 67 | void _init (void) 68 | { 69 | const char *err; 70 | 71 | real_bind = dlsym (RTLD_NEXT, "bind"); 72 | if ((err = dlerror ()) != NULL) { 73 | fprintf (stderr, "dlsym (bind): %s\n", err); 74 | } 75 | 76 | real_connect = dlsym (RTLD_NEXT, "connect"); 77 | if ((err = dlerror ()) != NULL) { 78 | fprintf (stderr, "dlsym (connect): %s\n", err); 79 | } 80 | 81 | inaddr_any_saddr = htonl (INADDR_ANY); 82 | if (bind_addr_env = getenv ("BIND_ADDR")) { 83 | bind_addr_saddr = inet_addr (bind_addr_env); 84 | local_sockaddr_in->sin_family = AF_INET; 85 | local_sockaddr_in->sin_addr.s_addr = bind_addr_saddr; 86 | local_sockaddr_in->sin_port = htons (0); 87 | } 88 | } 89 | 90 | int bind (int fd, const struct sockaddr *sk, socklen_t sl) 91 | { 92 | static struct sockaddr_in *lsk_in; 93 | 94 | lsk_in = (struct sockaddr_in *)sk; 95 | /* printf("bind: %d %s:%d\n", fd, inet_ntoa (lsk_in->sin_addr.s_addr), 96 | ntohs (lsk_in->sin_port));*/ 97 | if ((lsk_in->sin_family == AF_INET) 98 | && (lsk_in->sin_addr.s_addr == inaddr_any_saddr) 99 | && (bind_addr_env)) { 100 | lsk_in->sin_addr.s_addr = bind_addr_saddr; 101 | } 102 | return real_bind (fd, sk, sl); 103 | } 104 | 105 | int connect (int fd, const struct sockaddr *sk, socklen_t sl) 106 | { 107 | static struct sockaddr_in *rsk_in; 108 | 109 | rsk_in = (struct sockaddr_in *)sk; 110 | /* printf("connect: %d %s:%d\n", fd, inet_ntoa (rsk_in->sin_addr.s_addr), 111 | ntohs (rsk_in->sin_port));*/ 112 | if ((rsk_in->sin_family == AF_INET) 113 | && (bind_addr_env)) { 114 | real_bind (fd, (struct sockaddr *)local_sockaddr_in, sizeof (struct sockaddr)); 115 | } 116 | return real_connect (fd, sk, sl); 117 | } 118 | -------------------------------------------------------------------------------- /bind-shim/debian/README.Debian: -------------------------------------------------------------------------------- 1 | bind-shim for Debian 2 | -------------------- 3 | 4 | LD_PRELOAD library to make bind and connect to use a virtual 5 | IP address as localaddress. Specified via the enviroment 6 | variable BIND_ADDR. 7 | 8 | Example in bash to make inetd only listen to the localhost 9 | lo interface, thus disabling remote connections and only 10 | enable to/from localhost: 11 | 12 | BIND_ADDR="127.0.0.1" LD_PRELOAD=/usr/lib/bind.so /sbin/inetd 13 | 14 | 15 | Example in bash to use your virtual IP as your outgoing 16 | sourceaddress for ircII: 17 | 18 | BIND_ADDR="your-virt-ip" LD_PRELOAD=/usr/lib/bind.so ircII 19 | 20 | Note that you have to set up your servers virtual IP first. 21 | 22 | 23 | This program was made by Daniel Ryde 24 | email: daniel@ryde.net 25 | web: http://www.ryde.net/ 26 | 27 | -- Leo Moll Sun, 06 Apr 2014 15:10:57 +0200 28 | -------------------------------------------------------------------------------- /bind-shim/debian/README.source: -------------------------------------------------------------------------------- 1 | bind-shim for Debian 2 | -------------------- 3 | 4 | Since this is a real small library, there is no official source 5 | archive. The one and only souce file can be downloaded under 6 | http://www.ryde.net/code/bind.c.txt and contains all needed 7 | documentation in the source itself... 8 | 9 | -------------------------------------------------------------------------------- /bind-shim/debian/changelog: -------------------------------------------------------------------------------- 1 | bind-shim (1.0-2) unstable; urgency=low 2 | 3 | * Added support for dpkg triggers 4 | 5 | -- Leo Moll Mon, 07 Apr 2014 22:08:10 +0200 6 | 7 | bind-shim (1.0-1) unstable; urgency=low 8 | 9 | * Initial release (Closes: #94) 10 | 11 | -- Leo Moll Sun, 06 Apr 2014 15:10:57 +0200 12 | -------------------------------------------------------------------------------- /bind-shim/debian/compat: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /bind-shim/debian/control: -------------------------------------------------------------------------------- 1 | Source: bind-shim 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 8.0.0) 6 | Standards-Version: 3.9.2 7 | Homepage: http://www.ryde.net/code/ 8 | 9 | Package: bind-shim 10 | Architecture: any 11 | Depends: ${shlibs:Depends}, ${misc:Depends} 12 | Description: Force binding on a specific IP and/or port 13 | LD_PRELOAD library to make bind and connect to use a virtual 14 | IP address as localaddress. Specified via the enviroment 15 | variable BIND_ADDR. 16 | -------------------------------------------------------------------------------- /bind-shim/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: bind-shim 3 | Source: http://www.ryde.net/code/ 4 | 5 | Files: * 6 | Copyright: 2000 Daniel Ryde 7 | License: LGPL-2.0+ 8 | 9 | Files: debian/* 10 | Copyright: 2014 Leo Moll 11 | License: LGPL-2.0+ 12 | 13 | License: LGPL-2.0+ 14 | This package is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | . 19 | This package is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | . 24 | You should have received a copy of the GNU General Public License 25 | along with this program. If not, see . 26 | . 27 | On Debian systems, the complete text of the GNU Lesser General 28 | Public License can be found in "/usr/share/common-licenses/LGPL-2". 29 | -------------------------------------------------------------------------------- /bind-shim/debian/dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | usr/lib 3 | -------------------------------------------------------------------------------- /bind-shim/debian/docs: -------------------------------------------------------------------------------- 1 | # docs 2 | -------------------------------------------------------------------------------- /bind-shim/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | # make it work without cddb since cdbs assumes that the makefile 13 | # will be executed from the project directory but we need this vars 14 | # in target get-orig-source that MUST work from every directory 15 | 16 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 17 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 18 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 19 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 20 | | sed -rne 's,^Source: (.*),\1,p') 21 | 22 | 23 | %: 24 | dh $@ 25 | 26 | override_dh_auto_build: 27 | dh_auto_build 28 | gcc -nostartfiles -fpic -shared bind.c -o bind.so -ldl -D_GNU_SOURCE 29 | 30 | override_dh_install: 31 | dh_install 32 | dh_install bind.so usr/lib 33 | 34 | override_dh_clean: 35 | dh_clean 36 | rm -f bind.so 37 | 38 | get-orig-source: make-orig-source 39 | echo get-orig-source 40 | 41 | make-orig-source: 42 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 43 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 44 | mkdir -p /tmp/$(DEB_SOURCE_PACKAGE); \ 45 | cp -a $(DEB_DEBIAN_DIR)../ /tmp/$(DEB_SOURCE_PACKAGE)/; \ 46 | tar -C /tmp --exclude debian --exclude '.git*' -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 47 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 48 | fi 49 | 50 | -------------------------------------------------------------------------------- /bind-shim/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /bind-shim/debian/triggers: -------------------------------------------------------------------------------- 1 | activate bind-shim-changed 2 | 3 | -------------------------------------------------------------------------------- /btsync-common/debian/README.Debian: -------------------------------------------------------------------------------- 1 | btsync-common for Debian 2 | ------------------------ 3 | 4 | This package installs the original btsync binary from BitTorrent Inc. 5 | in /usr/lib/btsync-common as btsync-core 6 | The original documentation including a sample configuration file and 7 | all included README and LICENSE files will be installed in 8 | /usr/share/doc/btsync/ 9 | 10 | This package does not provide any ready to use functionality but is 11 | solely intended as a base for other packages like btsync-user that 12 | rely on the btsync functionality 13 | 14 | -- Leo Moll Mon, 14 Oct 2013 13:23:17 +0200 15 | -------------------------------------------------------------------------------- /btsync-common/debian/README.source: -------------------------------------------------------------------------------- 1 | btsync-common for Debian 2 | ------------------------ 3 | 4 | The source archive of this package can be generated from scratch by 5 | executing make -f debian/rules get-orig-source 6 | 7 | The original btsync binaries will be retrieved directly either from 8 | BitTorrent Inc. or alternatively from the maintainers site 9 | 10 | See the get-orig-source target in the rules file. 11 | -------------------------------------------------------------------------------- /btsync-common/debian/changelog: -------------------------------------------------------------------------------- 1 | btsync-common (1.4.111-1) unstable; urgency=low 2 | 3 | * New upstream release 4 | 5 | -- Leo Moll Sat, 07 Mar 2015 12:14:51 +0100 6 | 7 | btsync-common (1.4.110-1) unstable; urgency=low 8 | 9 | * New upstream release (Closes #174) 10 | 11 | -- Leo Moll Sun, 01 Mar 2015 13:54:16 +0100 12 | 13 | btsync-common (1.4.103-1) unstable; urgency=low 14 | 15 | * New upstream release 16 | 17 | -- Leo Moll Sat, 12 Nov 2014 00:04:06 +0100 18 | 19 | btsync-common (1.4.93-1) unstable; urgency=low 20 | 21 | * New upstream release 22 | 23 | -- Leo Moll Sat, 18 Oct 2014 12:00:00 +0200 24 | 25 | btsync-common (1.4.83-1) unstable; urgency=low 26 | 27 | * New upstream release 28 | - The Web UI could not save the password setting, 29 | no save button was shown (Closes #159) 30 | 31 | -- Leo Moll Fri, 19 Sep 2014 23:42:10 +0200 32 | 33 | btsync-common (1.4.75-1) unstable; urgency=low 34 | 35 | * New upstream release 36 | 37 | -- Leo Moll Wed, 03 Sep 2014 18:10:10 +0200 38 | 39 | btsync-common (1.4.72-1) unstable; urgency=low 40 | 41 | * New upstream release 42 | * Removed special handling for GEODE cpu 43 | 44 | -- Leo Moll Sun, 31 Aug 2014 14:28:13 +0200 45 | 46 | btsync-common (1.3.109-1) unstable; urgency=low 47 | 48 | * New upstream release 49 | 50 | -- Leo Moll Fri, 08 Aug 2014 14:58:10 +0200 51 | 52 | btsync-common (1.3.106-1) unstable; urgency=low 53 | 54 | * New upstream release 55 | 56 | -- Leo Moll Fri, 20 Jun 2014 10:55:09 +0200 57 | 58 | btsync-common (1.3.105-1) unstable; urgency=low 59 | 60 | * New upstream release 61 | * Removed upgrading codes handled by triggers 62 | 63 | -- Leo Moll Wed, 28 May 2014 14:49:14 +0200 64 | 65 | btsync-common (1.3.94-1) unstable; urgency=low 66 | 67 | * New upstream release 68 | 69 | -- Leo Moll Tue, 06 May 2014 13:41:12 +0200 70 | 71 | btsync-common (1.3.93-1) unstable; urgency=low 72 | 73 | * New upstream release 74 | 75 | -- Leo Moll Sat, 19 Apr 2014 15:21:13 +0200 76 | 77 | btsync-common (1.3.87-1) unstable; urgency=low 78 | 79 | * New upstream release 80 | 81 | -- Leo Moll Thu, 10 Apr 2014 00:31:06 +0200 82 | 83 | btsync-common (1.3.86-1) unstable; urgency=low 84 | 85 | * New upstream release 86 | * Added support for dpkg triggers 87 | 88 | -- Leo Moll Tue, 08 Apr 2014 17:17:11 +0200 89 | 90 | btsync-common (1.3.80-1) unstable; urgency=low 91 | 92 | * New upstream release 93 | 94 | -- Leo Moll Wed, 02 Apr 2014 22:11:31 +0200 95 | 96 | btsync-common (1.3.77-1) unstable; urgency=low 97 | 98 | * New upstream release 99 | 100 | -- Leo Moll Mon, 31 Mar 2014 19:13:52 +0100 101 | 102 | btsync-common (1.3.67-1) unstable; urgency=low 103 | 104 | * New upstream release 105 | 106 | -- Leo Moll Wed, 25 Mar 2014 15:25:12 +0100 107 | 108 | btsync-common (1.2.92-2) unstable; urgency=low 109 | 110 | * Fixed syntax error in calling pkill on certain systems (Closes #92) 111 | 112 | -- Leo Moll Fri, 11 Mar 2014 18:53:27 +0100 113 | 114 | btsync-common (1.2.92-1) unstable; urgency=low 115 | 116 | * New upstream release 117 | 118 | -- Leo Moll Fri, 11 Mar 2014 18:53:27 +0100 119 | 120 | btsync-common (1.2.91-2) unstable; urgency=low 121 | 122 | * Added support for AMD Geode CPU 123 | 124 | -- Leo Moll Fri, 07 Mar 2014 16:27:01 +0100 125 | 126 | btsync-common (1.2.91-1) unstable; urgency=low 127 | 128 | * New upstream release 129 | * Added support for btsync-gui when updating 130 | 131 | -- Leo Moll Fri, 07 Mar 2014 13:37:33 +0100 132 | 133 | btsync-common (1.2.82-1) unstable; urgency=low 134 | 135 | * New upstream release 136 | 137 | -- Leo Moll Thu, 28 Nov 2013 19:27:42 +0100 138 | 139 | btsync-common (1.2.73-2) unstable; urgency=low 140 | 141 | * Installation and execution failures on ARM systems (Closes #45) 142 | 143 | -- Leo Moll Thu, 14 Nov 2013 23:11:20 +0100 144 | 145 | btsync-common (1.2.73-1) unstable; urgency=low 146 | 147 | * New upstream release 148 | 149 | -- Leo Moll Thu, 14 Nov 2013 15:14:11 +0100 150 | 151 | btsync-common (1.2.72-1) unstable; urgency=low 152 | 153 | * New upstream release 154 | 155 | -- Leo Moll Wed, 13 Nov 2013 12:00:59 +0100 156 | 157 | btsync-common (1.2.71-1) unstable; urgency=low 158 | 159 | * New upstream release 160 | 161 | -- Leo Moll Tue, 12 Nov 2013 11:27:12 +0100 162 | 163 | btsync-common (1.2.68-2) unstable; urgency=low 164 | 165 | * Installation now should restart all known dependent services 166 | (Closes #37) 167 | * Added original upstream changelog based on information found in 168 | the BitTorrent Forum 169 | 170 | -- Leo Moll Mon, 11 Nov 2013 18:04:41 +0100 171 | 172 | btsync-common (1.2.68-1) unstable; urgency=low 173 | 174 | * New upstream release 175 | 176 | -- Leo Moll Tue, 06 Nov 2013 14:22:43 +0100 177 | 178 | btsync-common (1.2.67-1) unstable; urgency=low 179 | 180 | * New upstream release 181 | 182 | -- Leo Moll Tue, 05 Nov 2013 16:18:01 +0100 183 | 184 | btsync-common (1.1.82-1) unstable; urgency=low 185 | 186 | * New upstream release 187 | 188 | -- Leo Moll Tue, 22 Oct 2013 16:55:57 +0200 189 | 190 | btsync-common (1.1.70-1) unstable; urgency=low 191 | 192 | * Initial release (Closes #16) 193 | 194 | -- Leo Moll Tue, 15 Oct 2013 00:38:23 +0200 195 | -------------------------------------------------------------------------------- /btsync-common/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /btsync-common/debian/control: -------------------------------------------------------------------------------- 1 | Source: btsync-common 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 7.0.50) 6 | Standards-Version: 3.9.4 7 | Homepage: http://www.bittorrent.com/sync 8 | 9 | Package: btsync-common 10 | Architecture: i386 amd64 armel armhf powerpc 11 | Depends: ${shlibs:Depends}, ${misc:Depends} 12 | Breaks: btsync-user (<= 1.15.0-1) 13 | Description: Private network P2P file synchronisation daemon 14 | BitTorrent Sync is a simple tool that applies p2p protocol for 15 | direct live folder sync with maximum security, network speed 16 | and storage capacity. It has native versions for Mac, Windows 17 | and Linux, as well as native NAS integration. 18 | . 19 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 20 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 21 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 22 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 23 | THREADS IN THE SUPPORT FORUM (http://goo.gl/NN4RL5 and 24 | http://goo.gl/zqDyqD) 25 | . 26 | This package installs the core components provided by 27 | BitTorrent Inc. 28 | -------------------------------------------------------------------------------- /btsync-common/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: btsync-common 3 | Source: http://www.bittorrent.com 4 | 5 | Files: * 6 | Copyright: 2013-2014 BitTorrent, Inc. 7 | License: BitTorrent Terms of Use 8 | By using this application, you agree to our Privacy Policy, Terms of Use and 9 | End User License Agreement. 10 | http://www.bittorrent.com/legal/privacy 11 | http://www.bittorrent.com/legal/terms-of-use 12 | http://www.bittorrent.com/legal/eula 13 | 14 | Files: debian/* 15 | Copyright: 2013-2014 Leo Moll 16 | License: GPL-2+ 17 | This package is free software; you can redistribute it and/or modify 18 | it under the terms of the GNU General Public License as published by 19 | the Free Software Foundation; either version 2 of the License, or 20 | (at your option) any later version. 21 | . 22 | This package is distributed in the hope that it will be useful, 23 | but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | GNU General Public License for more details. 26 | . 27 | You should have received a copy of the GNU General Public License 28 | along with this program. If not, see 29 | . 30 | On Debian systems, the complete text of the GNU General 31 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 32 | 33 | -------------------------------------------------------------------------------- /btsync-common/debian/dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | usr/lib/btsync-common 3 | -------------------------------------------------------------------------------- /btsync-common/debian/docs: -------------------------------------------------------------------------------- 1 | i386/LICENSE.TXT 2 | debian/history/changelog 3 | -------------------------------------------------------------------------------- /btsync-common/debian/install: -------------------------------------------------------------------------------- 1 | # files 2 | 3 | -------------------------------------------------------------------------------- /btsync-common/debian/lintian-overrides: -------------------------------------------------------------------------------- 1 | btsync-common: embedded-library usr/lib/btsync-common/btsync-core: sqlite 2 | btsync-common: embedded-library usr/lib/btsync-common/btsync-core: openssl 3 | btsync-common: hardening-no-relro usr/lib/btsync-common/btsync-core 4 | btsync-common: hardening-no-fortify-functions usr/lib/btsync-common/btsync-core 5 | btsync-common: extra-license-file usr/share/doc/btsync-common/LICENSE.TXT 6 | 7 | -------------------------------------------------------------------------------- /btsync-common/debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postinst script for btsync-common 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `configure' 10 | # * `abort-upgrade' 11 | # * `abort-remove' `in-favour' 12 | # 13 | # * `abort-remove' 14 | # * `abort-deconfigure' `in-favour' 15 | # `removing' 16 | # 17 | # for details, see http://www.debian.org/doc/debian-policy/ or 18 | # the debian-policy package 19 | 20 | 21 | case "$1" in 22 | configure) 23 | set +e 24 | # try to fix all that annoying arm stuff that 25 | # may prevent btsync from running.... 26 | if [ $(uname -m | grep -c arm) -gt 0 ]; then 27 | # it's an arm architecure 28 | if [ ! -e /lib/ld-linux.so.3 ]; then 29 | # strange situation reported by schlegel11. we try 30 | # to fix it... 31 | if [ -e /lib/arm-linux-gnueabihf/ld-linux.so.3 ]; then 32 | ln -s /lib/arm-linux-gnueabihf/ld-linux.so.3 /lib/ld-linux.so.3 33 | elif [ -e /lib/arm-linux-gnueabihf/ld-2.13.so ]; then 34 | ln -s /lib/arm-linux-gnueabihf/ld-2.13.so /lib/ld-linux.so.3 35 | fi 36 | fi 37 | fi 38 | DAEMON=/usr/lib/btsync-common/btsync-core 39 | if [ -r /proc/cpu/alignment ]; then 40 | if ! ${DAEMON} --help > /dev/null 2> /dev/null; then 41 | # something is wrong 42 | if ${DAEMON} --help | grep -i "Alignment error" > /dev/null 2> /dev/null; then 43 | # adjust arm alignment handler 44 | echo 2 > /proc/cpu/alignment 45 | fi 46 | fi 47 | fi 48 | SAMPLECFG=/usr/share/doc/btsync-common/btsync.conf.sample 49 | echo '//!/usr/lib/btsync-common/btsync-core --config' > ${SAMPLECFG} 50 | echo '//' >> ${SAMPLECFG} 51 | echo '// (c) 2013-2014 BitTorrent Inc.' >> ${SAMPLECFG} 52 | echo '//' >> ${SAMPLECFG} 53 | echo '// This btsync configuration file features the complete set of' >> ${SAMPLECFG} 54 | echo '// commented configuration directives' >> ${SAMPLECFG} 55 | echo '//' >> ${SAMPLECFG} 56 | ${DAEMON} --dump-sample-config >> ${SAMPLECFG} 57 | touch -r ${DAEMON} ${SAMPLECFG} 58 | # handle btsync-user if installed 59 | if [ -f /var/run/btsync-user-updating ]; then 60 | rm -f /var/run/btsync-user-updating 61 | fi 62 | set -e 63 | ;; 64 | abort-upgrade|abort-remove|abort-deconfigure) 65 | ;; 66 | *) 67 | echo "postinst called with unknown argument \`$1'" >&2 68 | exit 1 69 | ;; 70 | esac 71 | 72 | # dh_installdeb will replace this with shell code automatically 73 | # generated by other debhelper scripts. 74 | 75 | #DEBHELPER# 76 | 77 | exit 0 78 | -------------------------------------------------------------------------------- /btsync-common/debian/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prerm script for btsync-common 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `upgrade' 11 | # * `failed-upgrade' 12 | # * `remove' `in-favour' 13 | # * `deconfigure' `in-favour' 14 | # `removing' 15 | # 16 | # for details, see http://www.debian.org/doc/debian-policy/ or 17 | # the debian-policy package 18 | 19 | 20 | case "$1" in 21 | remove|deconfigure) 22 | rm -f /usr/share/doc/btsync-common/btsync.conf.sample 23 | ;; 24 | upgrade) 25 | set +e 26 | # handle btsync-user if installed 27 | touch /var/run/btsync-user-updating 28 | pkill btsync-agent 29 | set -e 30 | ;; 31 | failed-upgrade) 32 | set +e 33 | # handle btsync-user if installed 34 | if [ -f /var/run/btsync-user-updating ]; then 35 | rm -f /var/run/btsync-user-updating 36 | fi 37 | set -e 38 | ;; 39 | *) 40 | echo "prerm called with unknown argument \`$1'" >&2 41 | exit 1 42 | ;; 43 | esac 44 | 45 | # dh_installdeb will replace this with shell code automatically 46 | # generated by other debhelper scripts. 47 | 48 | #DEBHELPER# 49 | 50 | exit 0 51 | -------------------------------------------------------------------------------- /btsync-common/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | # make it work without cddb since cdbs assumes that the makefile 13 | # will be executed from the project directory but we need this vars 14 | # in target get-orig-source that MUST work from every directory 15 | 16 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 17 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 18 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 19 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 20 | | sed -rne 's,^Source: (.*),\1,p') 21 | 22 | %: 23 | dh $@ 24 | 25 | override_dh_install: 26 | dh_install 27 | case "$(DEB_HOST_ARCH)" in \ 28 | i386) dh_install btsync-core usr/lib/btsync-common; ;; \ 29 | amd64) dh_install btsync-core usr/lib/btsync-common; ;; \ 30 | powerpc) dh_install btsync-core usr/lib/btsync-common; ;; \ 31 | arm|armel|armhf) dh_install btsync-core usr/lib/btsync-common; ;; \ 32 | kfreebsd-i386) dh_install btsync-core usr/lib/btsync-common; ;; \ 33 | kfreebsd-amd64) dh_install btsync-core usr/lib/btsync-common; ;; \ 34 | esac 35 | 36 | override_dh_auto_build: 37 | dh_auto_build 38 | case "$(DEB_HOST_ARCH)" in \ 39 | i386) cp -a $(DEB_HOST_ARCH)/btsync btsync-core; ;; \ 40 | amd64) cp -a $(DEB_HOST_ARCH)/btsync btsync-core; ;; \ 41 | powerpc) cp -a $(DEB_HOST_ARCH)/btsync btsync-core; ;; \ 42 | arm|armel|armhf) cp -a arm/btsync btsync-core; ;; \ 43 | kfreebsd-i386) cp -a $(DEB_HOST_ARCH)/btsync btsync-core; ;; \ 44 | kfreebsd-amd64) cp -a $(DEB_HOST_ARCH)/btsync btsync-core; ;; \ 45 | esac 46 | 47 | override_dh_clean: 48 | rm -f btsync-core 49 | dh_clean 50 | 51 | # this would not work in cross-platform builds and 52 | # we do not need this dependencies to be detected. 53 | override_dh_shlibdeps: 54 | 55 | # leave the original binaries untouched 56 | override_dh_strip: 57 | 58 | # clean the existent sources 59 | clean-orig-source: 60 | rm -rf $(DEB_DEBIAN_DIR)../amd64 61 | rm -rf $(DEB_DEBIAN_DIR)../arm 62 | rm -rf $(DEB_DEBIAN_DIR)../i386 63 | rm -rf $(DEB_DEBIAN_DIR)../kfreebsd-amd64 64 | rm -rf $(DEB_DEBIAN_DIR)../kfreebsd-i386 65 | rm -rf $(DEB_DEBIAN_DIR)../powerpc 66 | 67 | # create an original source archive out of the original distribution, if not present 68 | get-orig-source: 69 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 70 | rm -rf temp-orig-source; \ 71 | mkdir -p temp-orig-source/$(DEB_SOURCE_PACKAGE); \ 72 | for arch in arm powerpc i386 x64 freebsd_i386 freebsd_x64; do \ 73 | wget --progress=dot -c http://syncapp.bittorrent.com/$(DEB_UPSTREAM_VERSION)/btsync_$${arch}-$(DEB_UPSTREAM_VERSION).tar.gz; \ 74 | mkdir -p temp-orig-source/$(DEB_SOURCE_PACKAGE)/$${arch}; \ 75 | tar -C temp-orig-source/$(DEB_SOURCE_PACKAGE)/$${arch} -xzf btsync_$${arch}-$(DEB_UPSTREAM_VERSION).tar.gz; \ 76 | rm -f btsync_$${arch}-$(DEB_UPSTREAM_VERSION).tar.gz; \ 77 | done; \ 78 | mv temp-orig-source/$(DEB_SOURCE_PACKAGE)/x64 temp-orig-source/$(DEB_SOURCE_PACKAGE)/amd64; \ 79 | mv temp-orig-source/$(DEB_SOURCE_PACKAGE)/freebsd_x64 temp-orig-source/$(DEB_SOURCE_PACKAGE)/kfreebsd-amd64; \ 80 | mv temp-orig-source/$(DEB_SOURCE_PACKAGE)/freebsd_i386 temp-orig-source/$(DEB_SOURCE_PACKAGE)/kfreebsd-i386; \ 81 | tar -C temp-orig-source -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 82 | rm -rf temp-orig-source; \ 83 | fi 84 | -------------------------------------------------------------------------------- /btsync-common/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /btsync-common/debian/triggers: -------------------------------------------------------------------------------- 1 | activate btsync-common-changed 2 | 3 | -------------------------------------------------------------------------------- /btsync-common/debian/watch: -------------------------------------------------------------------------------- 1 | # Example watch control file for uscan 2 | # Rename this file to "watch" and then you can run the "uscan" command 3 | # to check for upstream updates and more. 4 | # See uscan(1) for format 5 | 6 | # Compulsory line, this is a version 3 file 7 | version=3 8 | 9 | # since currently there is no official repository for 10 | # versionably btsync binaries, this file is only 11 | # a stub and will be updated as soon as the functionality 12 | # will be possible. in the meantime the yeasoft archive 13 | # acts as a valid source 14 | 15 | http://archive.yeasoft.net/btsync/([\d\.]+)/btsync-common-([\d\.]+)\.tar\.gz 16 | 17 | # Uncomment to examine a Webpage 18 | # 19 | #http://www.example.com/downloads.php btsync-common-(.*)\.tar\.gz 20 | 21 | # Uncomment to examine a Webserver directory 22 | #http://www.example.com/pub/btsync-common-(.*)\.tar\.gz 23 | 24 | # Uncommment to examine a FTP server 25 | #ftp://ftp.example.com/pub/btsync-common-(.*)\.tar\.gz debian uupdate 26 | 27 | # Uncomment to find new files on sourceforge, for devscripts >= 2.9 28 | # http://sf.net/btsync-common/btsync-common-(.*)\.tar\.gz 29 | 30 | # Uncomment to find new files on GooglePages 31 | # http://example.googlepages.com/foo.html btsync-common-(.*)\.tar\.gz 32 | -------------------------------------------------------------------------------- /btsync-core/debian/README.Debian: -------------------------------------------------------------------------------- 1 | btsync-core for Debian 2 | ---------------------- 3 | 4 | This package installs the original btsync binary from BitTorrent Inc. 5 | in /usr/lib/btsync-core as btsync-core 6 | The original documentation including a sample configuration file and 7 | all included README and LICENSE files will be installed in 8 | /usr/share/doc/btsync-core/ 9 | 10 | This package does not provide any ready to use functionality but is 11 | solely intended as a base for other packages like btsync-gui that 12 | rely on the btsync functionality 13 | 14 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 15 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 16 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 17 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 18 | THREADS IN THE SUPPORT FORUM (http://goo.gl/NN4RL5 and 19 | http://goo.gl/zqDyqD) 20 | 21 | -- Leo Moll Sun, 15 Mar 2015 13:20:11 +0100 22 | -------------------------------------------------------------------------------- /btsync-core/debian/README.source: -------------------------------------------------------------------------------- 1 | btsync-core for Debian 2 | ---------------------- 3 | 4 | The source archive of this package can be generated from scratch by 5 | executing make -f debian/rules get-orig-source 6 | 7 | The original btsync binaries will be retrieved directly either from 8 | BitTorrent Inc. or alternatively from the maintainers site 9 | 10 | See the get-orig-source target in the rules file. 11 | -------------------------------------------------------------------------------- /btsync-core/debian/changelog: -------------------------------------------------------------------------------- 1 | btsync-core (2.5.6-1.0) unstable; urgency=medium 2 | 3 | * Non-maintainer upload. 4 | * New upstream release. 5 | 6 | -- Mark Lopez (Authority) Thu, 13 Jul 2017 17:56:43 -0500 7 | 8 | btsync-core (2.5.5-1.0) unstable; urgency=medium 9 | 10 | * Non-maintainer upload. 11 | * New upstream release. 12 | 13 | -- Mark Lopez (Authority) Wed, 05 Jul 2017 07:58:47 -0500 14 | 15 | btsync-core (2.5.4-1.0) unstable; urgency=medium 16 | 17 | * Non-maintainer upload. 18 | * New upstream release. 19 | 20 | -- Mark Lopez (Authority) Mon, 19 Jun 2017 19:21:07 -0500 21 | 22 | btsync-core (2.5.3-1.0) unstable; urgency=medium 23 | 24 | * Non-maintainer upload. 25 | * New upstream release. 26 | 27 | -- Mark Lopez (Authority) Wed, 07 Jun 2017 21:02:05 -0500 28 | 29 | btsync-core (2.5.2-1.0) unstable; urgency=medium 30 | 31 | * Non-maintainer upload. 32 | * New upstream release. 33 | 34 | -- Mark Lopez (Authority) Thu, 18 May 2017 21:01:18 -0500 35 | 36 | btsync-core (2.5.1-1.0) unstable; urgency=medium 37 | 38 | * Non-maintainer upload. 39 | * New upstream release. 40 | 41 | -- Mark Lopez (Authority) Wed, 17 May 2017 09:14:25 -0500 42 | 43 | btsync-core (2.5-1.0) unstable; urgency=medium 44 | 45 | * Non-maintainer upload. 46 | * New upstream release. 47 | 48 | -- Mark Lopez (Authority) Sat, 13 May 2017 10:20:57 -0500 49 | 50 | btsync-core (2.4.5-1.0) unstable; urgency=medium 51 | 52 | * Non-maintainer upload. 53 | * New upstream release. 54 | 55 | -- Mark Lopez (Authority) Tue, 04 Apr 2017 08:43:51 -0500 56 | 57 | btsync-core (2.4.4-1.0) unstable; urgency=medium 58 | 59 | * Non-maintainer upload. 60 | * New upstream release. 61 | 62 | -- Mark Lopez (Authority) Thu, 08 Dec 2016 08:34:18 -0600 63 | 64 | btsync-core (2.4.3-1.0) unstable; urgency=medium 65 | 66 | * Non-maintainer upload. 67 | * New upstream release. 68 | 69 | -- Mark Lopez (Authority) Mon, 05 Dec 2016 15:08:05 -0600 70 | 71 | btsync-core (2.4.2-1.0) unstable; urgency=medium 72 | 73 | * Non-maintainer upload. 74 | * New upstream release. 75 | 76 | -- Mark Lopez (Authority) Fri, 11 Nov 2016 08:24:29 -0600 77 | 78 | btsync-core (2.4.1-1.0) unstable; urgency=medium 79 | 80 | * Non-maintainer upload. 81 | * New upstream release. 82 | 83 | -- Mark Lopez (Authority) Thu, 29 Sep 2016 19:18:32 -0500 84 | 85 | btsync-core (2.4.0-1.0) unstable; urgency=medium 86 | 87 | * Non-maintainer upload. 88 | * New upstream release. 89 | 90 | -- Mark Lopez (Authority) Wed, 14 Sep 2016 18:42:46 -0500 91 | 92 | btsync-core (2.3.8-1.0) unstable; urgency=medium 93 | 94 | * Non-maintainer upload. 95 | * New upstream release. 96 | 97 | -- Mark Lopez (Authority) Wed, 22 Jun 2016 10:58:29 -0500 98 | 99 | btsync-core (2.3.7-1.0) unstable; urgency=medium 100 | 101 | * Non-maintainer upload. 102 | * New upstream release. 103 | 104 | -- Mark Lopez (Authority) Wed, 04 May 2016 09:06:45 -0500 105 | 106 | btsync-core (2.3.6-1.0) unstable; urgency=medium 107 | 108 | * Non-maintainer upload. 109 | * New upstream release. 110 | 111 | -- Mark Lopez (Authority) Thu, 31 Mar 2016 17:04:29 -0500 112 | 113 | btsync-core (2.3.3-1.0) unstable; urgency=medium 114 | 115 | * Non-maintainer upload. 116 | * New upstream release. 117 | 118 | -- Mark Lopez (Authority) Wed, 24 Feb 2016 18:02:03 -0600 119 | 120 | btsync-core (2.3.2-1.0) unstable; urgency=medium 121 | 122 | * Non-maintainer upload. 123 | * New upstream release. 124 | 125 | -- Mark Lopez (Authority) Fri, 19 Feb 2016 19:07:11 -0600 126 | 127 | btsync-core (2.3.1-1.0) unstable; urgency=medium 128 | 129 | * Non-maintainer upload. 130 | * New upstream release. 131 | 132 | -- Mark Lopez (Authority) Wed, 03 Feb 2016 07:11:46 -0600 133 | 134 | btsync-core (2.3-1.0) unstable; urgency=medium 135 | 136 | * Non-maintainer upload. 137 | * New upstream release. 138 | 139 | -- Mark Lopez (Authority) Thu, 21 Jan 2016 20:03:22 -0600 140 | 141 | btsync-core (2.2.7-1.0) unstable; urgency=medium 142 | 143 | * Non-maintainer upload. 144 | * New upstream release. 145 | 146 | -- Mark Lopez (Authority) Fri, 20 Nov 2015 19:22:57 -0600 147 | 148 | btsync-core (2.2.5-1.0) unstable; urgency=medium 149 | 150 | * Non-maintainer upload. 151 | * New upstream release. 152 | 153 | -- Mark Lopez (Authority) Fri, 09 Oct 2015 07:07:48 -0500 154 | 155 | btsync-core (2.2.4-1.0) unstable; urgency=medium 156 | 157 | * Non-maintainer upload. 158 | * New upstream release. 159 | 160 | -- Mark Lopez (Authority) Tue, 06 Oct 2015 13:49:03 -0500 161 | 162 | btsync-core (2.2.3-1.0) unstable; urgency=medium 163 | 164 | * Non-maintainer upload. 165 | * New upstream release. 166 | 167 | -- Mark Lopez (Authority) Tue, 29 Sep 2015 09:07:15 -0500 168 | 169 | btsync-core (2.2.2-1.0) unstable; urgency=medium 170 | 171 | * Non-maintainer upload. 172 | * New upstream release. 173 | 174 | -- Mark Lopez (Authority) Thu, 24 Sep 2015 21:19:01 -0500 175 | 176 | btsync-core (2.2.1-1.1) unstable; urgency=medium 177 | 178 | * Non-maintainer upload. 179 | * New upstream release 180 | 181 | -- Mark Lopez (Authority) Wed, 16 Sep 2015 21:01:27 -0500 182 | 183 | btsync-core (2.0.124-1) unstable; urgency=low 184 | 185 | * New upstream release 186 | 187 | -- Leo Moll Mon, 15 Jun 2015 02:13:43 +0200 188 | 189 | btsync-core (2.0.93-1) unstable; urgency=low 190 | 191 | * New upstream release 192 | 193 | -- Leo Moll Thu, 19 Mar 2015 23:34:56 +0100 194 | 195 | btsync-core (2.0.85-1) unstable; urgency=low 196 | 197 | * New upstream release 198 | 199 | -- Leo Moll Sun, 15 Mar 2015 13:10:15 +0100 200 | 201 | -------------------------------------------------------------------------------- /btsync-core/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /btsync-core/debian/control: -------------------------------------------------------------------------------- 1 | Source: btsync-core 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 7.0.50) 6 | Standards-Version: 3.9.4 7 | Homepage: http://www.bittorrent.com/sync 8 | 9 | Package: btsync-core 10 | Architecture: i386 amd64 armel armhf arm64 11 | Depends: ${shlibs:Depends}, ${misc:Depends} 12 | Breaks: btsync-user (<= 1.15.0-1) 13 | Description: Private network P2P file synchronisation daemon 14 | BitTorrent Sync is a simple tool that applies p2p protocol for 15 | direct live folder sync with maximum security, network speed 16 | and storage capacity. It has native versions for Mac, Windows 17 | and Linux, as well as native NAS integration. 18 | . 19 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 20 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 21 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 22 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 23 | THREADS IN THE SUPPORT FORUM (http://goo.gl/NN4RL5 and 24 | http://goo.gl/zqDyqD) 25 | . 26 | This package installs the core components provided by 27 | BitTorrent Inc. 28 | -------------------------------------------------------------------------------- /btsync-core/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: btsync-core 3 | Source: http://www.bittorrent.com 4 | 5 | Files: * 6 | Copyright: 2013-2015 BitTorrent, Inc. 7 | License: BitTorrent Terms of Use 8 | By using this application, you agree to our Privacy Policy, Terms of Use and 9 | End User License Agreement. 10 | http://www.bittorrent.com/legal/privacy 11 | http://www.bittorrent.com/legal/terms-of-use 12 | http://www.bittorrent.com/legal/eula 13 | 14 | Files: debian/* 15 | Copyright: 2013-2015 Leo Moll 16 | License: GPL-2+ 17 | This package is free software; you can redistribute it and/or modify 18 | it under the terms of the GNU General Public License as published by 19 | the Free Software Foundation; either version 2 of the License, or 20 | (at your option) any later version. 21 | . 22 | This package is distributed in the hope that it will be useful, 23 | but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | GNU General Public License for more details. 26 | . 27 | You should have received a copy of the GNU General Public License 28 | along with this program. If not, see 29 | . 30 | On Debian systems, the complete text of the GNU General 31 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 32 | 33 | -------------------------------------------------------------------------------- /btsync-core/debian/dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | usr/lib/btsync-core 3 | -------------------------------------------------------------------------------- /btsync-core/debian/docs: -------------------------------------------------------------------------------- 1 | i386/LICENSE.TXT 2 | debian/history/changelog 3 | -------------------------------------------------------------------------------- /btsync-core/debian/install: -------------------------------------------------------------------------------- 1 | # files 2 | 3 | -------------------------------------------------------------------------------- /btsync-core/debian/lintian-overrides: -------------------------------------------------------------------------------- 1 | btsync-core: embedded-library usr/lib/btsync-core/btsync-core: sqlite 2 | btsync-core: embedded-library usr/lib/btsync-core/btsync-core: openssl 3 | btsync-core: hardening-no-relro usr/lib/btsync-core/btsync-core 4 | btsync-core: hardening-no-fortify-functions usr/lib/btsync-core/btsync-core 5 | btsync-core: extra-license-file usr/share/doc/btsync-core/LICENSE.TXT 6 | 7 | -------------------------------------------------------------------------------- /btsync-core/debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postinst script for btsync-core 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `configure' 10 | # * `abort-upgrade' 11 | # * `abort-remove' `in-favour' 12 | # 13 | # * `abort-remove' 14 | # * `abort-deconfigure' `in-favour' 15 | # `removing' 16 | # 17 | # for details, see http://www.debian.org/doc/debian-policy/ or 18 | # the debian-policy package 19 | 20 | 21 | case "$1" in 22 | configure) 23 | set +e 24 | # try to fix all that annoying arm stuff that 25 | # may prevent btsync from running.... 26 | if [ $(uname -m | grep -c arm) -gt 0 ]; then 27 | # it's an arm architecure 28 | if [ ! -e /lib/ld-linux.so.3 ]; then 29 | # strange situation reported by schlegel11. we try 30 | # to fix it... 31 | if [ -e /lib/arm-linux-gnueabihf/ld-linux.so.3 ]; then 32 | ln -s /lib/arm-linux-gnueabihf/ld-linux.so.3 /lib/ld-linux.so.3 33 | elif [ -e /lib/arm-linux-gnueabihf/ld-2.13.so ]; then 34 | ln -s /lib/arm-linux-gnueabihf/ld-2.13.so /lib/ld-linux.so.3 35 | fi 36 | fi 37 | fi 38 | DAEMON=/usr/lib/btsync-core/btsync-core 39 | if [ -r /proc/cpu/alignment ]; then 40 | if ! ${DAEMON} --help > /dev/null 2> /dev/null; then 41 | # something is wrong 42 | if ${DAEMON} --help | grep -i "Alignment error" > /dev/null 2> /dev/null; then 43 | # adjust arm alignment handler 44 | echo 2 > /proc/cpu/alignment 45 | fi 46 | fi 47 | fi 48 | SAMPLECFG=/usr/share/doc/btsync-core/btsync.conf.sample 49 | echo '//!/usr/lib/btsync-core/btsync-core --config' > ${SAMPLECFG} 50 | echo '//' >> ${SAMPLECFG} 51 | echo '// (c) 2013-2015 BitTorrent Inc.' >> ${SAMPLECFG} 52 | echo '//' >> ${SAMPLECFG} 53 | echo '// This btsync configuration file features the complete set of' >> ${SAMPLECFG} 54 | echo '// commented configuration directives' >> ${SAMPLECFG} 55 | echo '//' >> ${SAMPLECFG} 56 | ${DAEMON} --dump-sample-config >> ${SAMPLECFG} 57 | touch -r ${DAEMON} ${SAMPLECFG} 58 | set -e 59 | ;; 60 | abort-upgrade|abort-remove|abort-deconfigure) 61 | ;; 62 | *) 63 | echo "postinst called with unknown argument \`$1'" >&2 64 | exit 1 65 | ;; 66 | esac 67 | 68 | # dh_installdeb will replace this with shell code automatically 69 | # generated by other debhelper scripts. 70 | 71 | #DEBHELPER# 72 | 73 | exit 0 74 | -------------------------------------------------------------------------------- /btsync-core/debian/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prerm script for btsync-core 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `upgrade' 11 | # * `failed-upgrade' 12 | # * `remove' `in-favour' 13 | # * `deconfigure' `in-favour' 14 | # `removing' 15 | # 16 | # for details, see http://www.debian.org/doc/debian-policy/ or 17 | # the debian-policy package 18 | 19 | 20 | case "$1" in 21 | remove|deconfigure) 22 | rm -f /usr/share/doc/btsync-core/btsync.conf.sample 23 | ;; 24 | upgrade) 25 | ;; 26 | failed-upgrade) 27 | ;; 28 | *) 29 | echo "prerm called with unknown argument \`$1'" >&2 30 | exit 1 31 | ;; 32 | esac 33 | 34 | # dh_installdeb will replace this with shell code automatically 35 | # generated by other debhelper scripts. 36 | 37 | #DEBHELPER# 38 | 39 | exit 0 40 | -------------------------------------------------------------------------------- /btsync-core/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | # make it work without cddb since cdbs assumes that the makefile 13 | # will be executed from the project directory but we need this vars 14 | # in target get-orig-source that MUST work from every directory 15 | 16 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 17 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 18 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 19 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 20 | | sed -rne 's,^Source: (.*),\1,p') 21 | 22 | %: 23 | dh $@ 24 | 25 | override_dh_install: 26 | dh_install 27 | case "$(DEB_HOST_ARCH)" in \ 28 | i386) dh_install btsync-core usr/lib/btsync-core; ;; \ 29 | amd64) dh_install btsync-core usr/lib/btsync-core; ;; \ 30 | powerpc) dh_install btsync-core usr/lib/btsync-core; ;; \ 31 | arm|armel|armhf|arm64) dh_install btsync-core usr/lib/btsync-core; ;; \ 32 | esac 33 | 34 | override_dh_auto_build: 35 | dh_auto_build 36 | case "$(DEB_HOST_ARCH)" in \ 37 | i386) cp -a i386/rslsync btsync-core; ;; \ 38 | amd64) cp -a amd64/rslsync btsync-core; ;; \ 39 | powerpc) cp -a powerpc/rslsync btsync-core; ;; \ 40 | arm|armel|armhf|arm64) cp -a arm/rslsync btsync-core; ;; \ 41 | esac 42 | 43 | override_dh_clean: 44 | rm -f btsync-core 45 | dh_clean 46 | 47 | # this would not work in cross-platform builds and 48 | # we do not need this dependencies to be detected. 49 | override_dh_shlibdeps: 50 | 51 | # leave the original binaries untouched 52 | override_dh_strip: 53 | 54 | # clean the existent sources 55 | clean-orig-source: 56 | rm -rf $(DEB_DEBIAN_DIR)../amd64 57 | rm -rf $(DEB_DEBIAN_DIR)../arm 58 | rm -rf $(DEB_DEBIAN_DIR)../i386 59 | rm -rf $(DEB_DEBIAN_DIR)../powerpc 60 | 61 | # create an original source archive out of the original distribution, if not present 62 | get-orig-source: 63 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 64 | rm -rf temp-orig-source; \ 65 | mkdir -p temp-orig-source/$(DEB_SOURCE_PACKAGE); \ 66 | for arch in arm i386 x64; do \ 67 | mkdir -p temp-orig-source/$(DEB_SOURCE_PACKAGE)/$${arch}; \ 68 | wget --progress=dot -c https://download-cdn.getsync.com/stable/linux-$${arch}/resilio-sync_$${arch}.tar.gz; \ 69 | tar -C temp-orig-source/$(DEB_SOURCE_PACKAGE)/$${arch} -xzf resilio-sync_$${arch}.tar.gz; \ 70 | rm resilio-sync_$${arch}.tar.gz; \ 71 | done; \ 72 | mv temp-orig-source/$(DEB_SOURCE_PACKAGE)/x64 temp-orig-source/$(DEB_SOURCE_PACKAGE)/amd64; \ 73 | tar -C temp-orig-source -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 74 | rm -rf temp-orig-source; \ 75 | fi 76 | 77 | -------------------------------------------------------------------------------- /btsync-core/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /btsync-core/debian/triggers: -------------------------------------------------------------------------------- 1 | activate btsync-common-changed 2 | 3 | -------------------------------------------------------------------------------- /btsync-core/debian/watch: -------------------------------------------------------------------------------- 1 | # Example watch control file for uscan 2 | # Rename this file to "watch" and then you can run the "uscan" command 3 | # to check for upstream updates and more. 4 | # See uscan(1) for format 5 | 6 | # Compulsory line, this is a version 3 file 7 | version=3 8 | 9 | # since currently there is no official repository for 10 | # versionably btsync binaries, this file is only 11 | # a stub and will be updated as soon as the functionality 12 | # will be possible. in the meantime the yeasoft archive 13 | # acts as a valid source 14 | 15 | http://archive.yeasoft.net/btsync/([\d\.]+)/btsync-core-([\d\.]+)\.tar\.gz 16 | 17 | # Uncomment to examine a Webpage 18 | # 19 | #http://www.example.com/downloads.php btsync-core-(.*)\.tar\.gz 20 | 21 | # Uncomment to examine a Webserver directory 22 | #http://www.example.com/pub/btsync-core-(.*)\.tar\.gz 23 | 24 | # Uncommment to examine a FTP server 25 | #ftp://ftp.example.com/pub/btsync-core-(.*)\.tar\.gz debian uupdate 26 | 27 | # Uncomment to find new files on sourceforge, for devscripts >= 2.9 28 | # http://sf.net/btsync-core/btsync-core-(.*)\.tar\.gz 29 | 30 | # Uncomment to find new files on GooglePages 31 | # http://example.googlepages.com/foo.html btsync-core-(.*)\.tar\.gz 32 | -------------------------------------------------------------------------------- /btsync-gui/CREDITS.md: -------------------------------------------------------------------------------- 1 | btsync-gui credits 2 | ================== 3 | 4 | The BitTorrent Sync GUI was written by Leo Moll 5 | 6 | ### Main Inspiration ### 7 | 8 | I would like to thank Mark Johnson for writing 9 | [`btsyncindicator.py`][1] which made a consistent part of the success of 10 | `btsync-user` and gave me the last nudge needed to learn python and write my 11 | first linux GUI application. Thank you! 12 | 13 | ### Contributions ### 14 | 15 | The following people have contributed with code and/or good ideas: 16 | 17 | 1. Brandon Ingalls for his [BtSyncAPI][2] Python bindings 18 | which inspired me in writing my own binding class. 19 | 20 | 2. Harvey Mittens for his [Pull Request #42][3] to Mark's indicator which 21 | inspired me to implement my own abstraction class. 22 | 23 | 3. Sean (_"shizeon"_) for pushing me in implementing the support for encrypted 24 | nodes and supplying some useful patches. 25 | 26 | 27 | [1]: https://github.com/marxjohnson/btsyncindicator 28 | [2]: https://github.com/BrandonIngalls/BTSyncAPI 29 | [3]: https://github.com/marxjohnson/btsyncindicator/pull/42 30 | [4]: https://poeditor.com/join/project?hash=447194402f4913165d4ae5f2fc60ffca 31 | 32 | ### Localization ### 33 | 34 | The following People contributed in translating `btsync-gui`: 35 | 36 | * Andrea Pennelli (Italian) 37 | * Antoine Lorence (French) 38 | * Atanas Kovachki (Bulgarian, Russian) 39 | * Damian Szymański (Polish) 40 | * Dávid Szilágyi (Hungarian) 41 | * Jasper Sierink _"knireis"_ (Dutch) 42 | * Jose Luis Tirado (Spanish) 43 | * Leo Moll (German & Italian) 44 | * Loïc Fournet _"AnthorNet"_ (French) 45 | * Marek Lukas (Czech) 46 | * Miguel Anxo Bouzada (Galician) 47 | * Sergey Shlyapugin (Russian) 48 | 49 | If you want to help in translating changed strings or add you favourite 50 | language, you may [join the localisation team][4] on [POEditor.com][4]. 51 | 52 | ### Maintainers ### 53 | 54 | * Martin Wimpress for maintaining the Arch Linux package 55 | in the AUR 56 | -------------------------------------------------------------------------------- /btsync-gui/btsync-gui: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding=utf-8 3 | # 4 | # Copyright 2014 Leo Moll 5 | # 6 | # Authors: Leo Moll and Contributors (see CREDITS) 7 | # 8 | # Thanks to Mark Johnson for btsyncindicator.py which gave me the 9 | # last nudge needed to learn python and write my first linux gui 10 | # application. Thank you! 11 | # 12 | # This file is part of btsync-gui. btsync-gui is free software: you can 13 | # redistribute it and/or modify it under the terms of the GNU General Public 14 | # License as published by the Free Software Foundation, version 2. 15 | # 16 | # This program is distributed in the hope that it will be useful, but WITHOUT 17 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 19 | # details. 20 | # 21 | # You should have received a copy of the GNU General Public License 22 | # along with this program. If not, see 23 | # 24 | 25 | import sys 26 | 27 | # primary initialization 28 | sys.path.append('/usr/lib/btsync-gui') 29 | 30 | from btsyncguiapp import GuiApp 31 | 32 | if __name__ == "__main__": 33 | # play the music 34 | app = GuiApp() 35 | app.run() 36 | 37 | -------------------------------------------------------------------------------- /btsync-gui/btsync-gui.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=BitTorrent Sync 3 | Comment=Secure, unlimited file-syncing. No cloud required. 4 | Comment[de]=Sichere und unbegrenzte Synchronisation von Dateien. Völlig ohne Cloud. 5 | Comment[it]=Sincronizzazione di file sicura. Senza limiti. Senza cloud. 6 | Comment[fr]=Synchronisation de fichiers sécurisée et illimitée. Pas besoin du nuage. 7 | Comment[es]=Sincronización de archivos segura y sin límites. Sin acceder a la nube. 8 | Comment[ru]=Полная безопасность и синхронизация файлов без ограничений. Данные не хранятся на облачных серверах. 9 | Comment[nl]=Veilig, onbeperkt bestanden synchroniseren. Geen cloud vereist. 10 | Exec=btsync-gui 11 | Icon=btsync-gui 12 | Terminal=false 13 | Type=Application 14 | Categories=Network;FileTransfer;P2P;GTK; 15 | -------------------------------------------------------------------------------- /btsync-gui/btsyncguiapp.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | # 3 | # Copyright 2014 Leo Moll 4 | # 5 | # Authors: Leo Moll and Contributors (see CREDITS) 6 | # 7 | # Thanks to Mark Johnson for btsyncindicator.py which gave me the 8 | # last nudge needed to learn python and write my first linux gui 9 | # application. Thank you! 10 | # 11 | # This file is part of btsync-gui. btsync-gui is free software: you can 12 | # redistribute it and/or modify it under the terms of the GNU General Public 13 | # License as published by the Free Software Foundation, version 2. 14 | # 15 | # This program is distributed in the hope that it will be useful, but WITHOUT 16 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 18 | # details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with this program. If not, see 22 | # 23 | 24 | import os 25 | import sys 26 | import signal 27 | import locale 28 | import gettext 29 | import logging 30 | import argparse 31 | import subprocess 32 | 33 | from gettext import gettext as _ 34 | from gi.repository import Gtk 35 | 36 | from btsyncagent import BtSyncAgent, BtSyncAgentException, BtSingleInstanceException 37 | from btsyncstatus import * 38 | 39 | try: 40 | dbusloaded = True 41 | import dbus 42 | except ImportError: 43 | dbusloaded = False 44 | 45 | class GuiApp: 46 | 47 | def __init__(self): 48 | self.agent = None 49 | self.indicator = None 50 | self._init_localisation() 51 | self._init_argparser() 52 | self._init_logger() 53 | try: 54 | # instantiate agent 55 | self.agent = BtSyncAgent(self.args) 56 | # create graceful shutdown mechanisms 57 | signal.signal(signal.SIGTERM, self.on_signal_term) 58 | # dbus connection 59 | if dbusloaded: 60 | try: 61 | self.bus = dbus.SessionBus() 62 | self.bus.call_on_disconnection(self.on_session_disconnect) 63 | except dbus.DBusException as e: 64 | # basically we can ignore this... 65 | logging.warning('Failed to connect to session bus: '+str(e)) 66 | except BtSingleInstanceException as e: 67 | # we are running in auto mode and someone tries to start a 68 | # second instance 69 | logging.error(e.message) 70 | # exit - we cannot tollerate this! 71 | exit(-1) 72 | except BtSyncAgentException as e: 73 | # the agent has already finished his work... 74 | if e.retcode != 0: 75 | logging.error(e.message) 76 | else: 77 | logging.info(e.message) 78 | print e.message 79 | exit (e.retcode) 80 | except Exception as e: 81 | # this should not really happen... 82 | logging.critical('Unexpected exception caught: '+str(e)) 83 | exit(-1) 84 | 85 | def run(self): 86 | try: 87 | self.agent.startup() 88 | # initialize indicator 89 | self.indicator = BtSyncStatus(self.agent) 90 | self.indicator.startup() 91 | # giro giro tondo... 92 | Gtk.main() 93 | except Exception as e: 94 | logging.critical('Unexpected exception caught: '+str(e)) 95 | finally: 96 | # good night! 97 | self.shutdown() 98 | 99 | def shutdown(self,returncode=0): 100 | logging.info('Shutting down application...') 101 | if self.indicator is not None: 102 | self.indicator.shutdown() 103 | if self.agent is not None: 104 | self.agent.shutdown() 105 | logging.shutdown() 106 | exit(returncode) 107 | 108 | def on_session_disconnect(self, connection): 109 | logging.info('Disconnected from session bus. Shutting down...') 110 | self.shutdown() 111 | 112 | def on_signal_term(self, signum, frame): 113 | logging.warning('Signal {0} received. Shutting down...'.format(signum)) 114 | self.shutdown() 115 | 116 | 117 | def _init_argparser(self): 118 | parser = argparse.ArgumentParser() 119 | 120 | parser.add_argument('--log', 121 | choices=['CRITICAL','ERROR','WARNING','INFO','DEBUG'], 122 | default='WARNING', 123 | help=_('Sets the logging level. By default the logging '\ 124 | 'level is WARNING')) 125 | parser.add_argument('--host', 126 | default='auto', 127 | help=_('Hostname for the connection to BitTorrent Sync. '\ 128 | 'If not specified, a local BitTorrent Sync agent will be '\ 129 | 'launched.')) 130 | parser.add_argument('--port', type=int, 131 | default=0, 132 | help=_('Optional port number for the connection to '\ 133 | 'BitTorrent Sync. If not specified, port 8888 is taken '\ 134 | 'for a connection to a remote BitTorrent Sync agent or '\ 135 | '(8999 + uid) is taken when creating a locally launched '\ 136 | 'agent. This option can be made persistent for local '\ 137 | 'agents with --savedefaults')) 138 | parser.add_argument('--username', 139 | default=None, 140 | help=_('Optional user name for connecting to a remote '\ 141 | 'BitTorrent Sync agent or username to use when creating a '\ 142 | 'locally launched agent. This option can be made '\ 143 | 'persistent for local agents with --savedefaults')) 144 | parser.add_argument('--password', 145 | default=None, 146 | help=_('Optional password for connecting to a remote '\ 147 | 'BitTorrent Sync agent or password to use when creating a '\ 148 | 'locally launched agent. This option can be made '\ 149 | 'persistent for local agents with --savedefaults')) 150 | parser.add_argument('--bindui', 151 | default=None, 152 | help=_('Optional bind address for the Web UI of a locally '\ 153 | 'created BitTorrent Sync agent. By default the agent '\ 154 | 'binds to 127.0.0.1. If you want the Web UI of the agent '\ 155 | 'to be reachable by other computers, specify one of the '\ 156 | 'available IP addresses of this computer or "all" to bind '\ 157 | 'to all available adapters. This option can be made '\ 158 | 'persistent for local agents with --savedefaults')) 159 | parser.add_argument('--webui', 160 | default=False, 161 | action='store_true', 162 | help=_('Include the Web UI in the menu. This option can '\ 163 | 'be made persistent with --savedefaults')) 164 | parser.add_argument('--dark', 165 | default=False, 166 | action='store_true', 167 | help=_('If specified, the dark indicator icon set will '\ 168 | 'be used. This option can be made persistent with '\ 169 | '--savedefaults')) 170 | parser.add_argument('--savedefaults', 171 | action='store_true', 172 | help=_('If specified, the optionally supplied '\ 173 | 'credentials, bind address, port information and storable '\ 174 | 'settings will be stored as default in the application '\ 175 | 'preferences and used when launching a local BitTorrent '\ 176 | 'Sync agent.')) 177 | parser.add_argument('--cleardefaults', 178 | action='store_true', 179 | help=_('If specified, all internally stored credentials, '\ 180 | 'bind address, port information and storable settings '\ 181 | 'will be cleared from the application preferences.')) 182 | 183 | self.args = parser.parse_args() 184 | 185 | def _init_logger(self): 186 | # initialize logger 187 | numeric_level = getattr(logging, self.args.log.upper(), None) 188 | if not isinstance(numeric_level, int): 189 | raise ValueError('Invalid log level: %s' % self.args.log) 190 | logging.basicConfig(level=numeric_level) 191 | if not os.path.isdir(os.environ['HOME'] + '/.btsync'): 192 | os.makedirs(os.environ['HOME'] + '/.btsync') 193 | fh = logging.FileHandler(filename=os.environ['HOME'] + '/.btsync/btsync-gui.log') 194 | ff = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 195 | fh.setFormatter(ff) 196 | logging.getLogger().addHandler(fh) 197 | logging.getLogger().setLevel(numeric_level) 198 | 199 | def _init_localisation(self): 200 | locale.setlocale(locale.LC_ALL, '') 201 | # gettext.bindtextdomain('btsync-gui','') 202 | gettext.textdomain('btsync-gui') 203 | 204 | 205 | 206 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.README.Debian: -------------------------------------------------------------------------------- 1 | btsync-gui-gtk for Debian 2 | ------------------------- 3 | 4 | 5 | -- Leo Moll Mon, 27 Jan 2014 14:34:29 +0100 6 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | usr/lib/btsync-gui 3 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.docs: -------------------------------------------------------------------------------- 1 | # docs 2 | README.md 3 | CREDITS.md 4 | 5 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.install: -------------------------------------------------------------------------------- 1 | # files 2 | btsync-gui usr/bin 3 | btsyncagent.py usr/lib/btsync-gui 4 | btsyncapi.py usr/lib/btsync-gui 5 | btsyncapp.glade usr/lib/btsync-gui 6 | btsyncapp.py usr/lib/btsync-gui 7 | btsyncguiapp.py usr/lib/btsync-gui 8 | btsyncstatus.glade usr/lib/btsync-gui 9 | btsyncstatus.py usr/lib/btsync-gui 10 | btsyncutils.py usr/lib/btsync-gui 11 | dialogs.glade usr/lib/btsync-gui 12 | dialogs.py usr/lib/btsync-gui 13 | trayindicator.py usr/lib/btsync-gui 14 | 15 | btsync-gui.desktop usr/share/applications 16 | 17 | locale usr/share 18 | 19 | icons/256x256/apps/btsync-gui.png usr/share/icons/hicolor/256x256/apps 20 | icons/128x128/apps/btsync-gui.png usr/share/icons/hicolor/128x128/apps 21 | icons/64x64/apps/btsync-gui.png usr/share/icons/hicolor/64x64/apps 22 | icons/48x48/apps/btsync-gui.png usr/share/icons/hicolor/48x48/apps 23 | icons/32x32/apps/btsync-gui.png usr/share/icons/hicolor/32x32/apps 24 | icons/16x16/apps/btsync-gui.png usr/share/icons/hicolor/16x16/apps 25 | 26 | icons/16x16/status/btsync-gui-cloud.png usr/share/icons/hicolor/16x16/status 27 | icons/16x16/status/btsync-gui-direct.png usr/share/icons/hicolor/16x16/status 28 | 29 | icons/22x22/status/btsync-gui-disconnected.png usr/share/icons/hicolor/22x22/status 30 | icons/22x22/status/btsync-gui-connecting.png usr/share/icons/hicolor/22x22/status 31 | icons/22x22/status/btsync-gui-paused.png usr/share/icons/hicolor/22x22/status 32 | icons/22x22/status/btsync-gui-0.png usr/share/icons/hicolor/22x22/status 33 | icons/22x22/status/btsync-gui-1.png usr/share/icons/hicolor/22x22/status 34 | icons/22x22/status/btsync-gui-2.png usr/share/icons/hicolor/22x22/status 35 | icons/22x22/status/btsync-gui-3.png usr/share/icons/hicolor/22x22/status 36 | icons/22x22/status/btsync-gui-4.png usr/share/icons/hicolor/22x22/status 37 | icons/22x22/status/btsync-gui-5.png usr/share/icons/hicolor/22x22/status 38 | icons/22x22/status/btsync-gui-6.png usr/share/icons/hicolor/22x22/status 39 | icons/22x22/status/btsync-gui-7.png usr/share/icons/hicolor/22x22/status 40 | icons/22x22/status/btsync-gui-8.png usr/share/icons/hicolor/22x22/status 41 | icons/22x22/status/btsync-gui-9.png usr/share/icons/hicolor/22x22/status 42 | icons/22x22/status/btsync-gui-10.png usr/share/icons/hicolor/22x22/status 43 | icons/22x22/status/btsync-gui-11.png usr/share/icons/hicolor/22x22/status 44 | 45 | icons/22x22/status/btsync-gui-disconnected-dark.png usr/share/icons/hicolor/22x22/status 46 | icons/22x22/status/btsync-gui-connecting-dark.png usr/share/icons/hicolor/22x22/status 47 | icons/22x22/status/btsync-gui-paused-dark.png usr/share/icons/hicolor/22x22/status 48 | icons/22x22/status/btsync-gui-0-dark.png usr/share/icons/hicolor/22x22/status 49 | icons/22x22/status/btsync-gui-1-dark.png usr/share/icons/hicolor/22x22/status 50 | icons/22x22/status/btsync-gui-2-dark.png usr/share/icons/hicolor/22x22/status 51 | icons/22x22/status/btsync-gui-3-dark.png usr/share/icons/hicolor/22x22/status 52 | icons/22x22/status/btsync-gui-4-dark.png usr/share/icons/hicolor/22x22/status 53 | icons/22x22/status/btsync-gui-5-dark.png usr/share/icons/hicolor/22x22/status 54 | icons/22x22/status/btsync-gui-6-dark.png usr/share/icons/hicolor/22x22/status 55 | icons/22x22/status/btsync-gui-7-dark.png usr/share/icons/hicolor/22x22/status 56 | icons/22x22/status/btsync-gui-8-dark.png usr/share/icons/hicolor/22x22/status 57 | icons/22x22/status/btsync-gui-9-dark.png usr/share/icons/hicolor/22x22/status 58 | icons/22x22/status/btsync-gui-10-dark.png usr/share/icons/hicolor/22x22/status 59 | icons/22x22/status/btsync-gui-11-dark.png usr/share/icons/hicolor/22x22/status 60 | 61 | icons/44x44/status/btsync-gui-disconnected.png usr/share/icons/hicolor/44x44/status 62 | icons/44x44/status/btsync-gui-connecting.png usr/share/icons/hicolor/44x44/status 63 | icons/44x44/status/btsync-gui-paused.png usr/share/icons/hicolor/44x44/status 64 | icons/44x44/status/btsync-gui-0.png usr/share/icons/hicolor/44x44/status 65 | icons/44x44/status/btsync-gui-1.png usr/share/icons/hicolor/44x44/status 66 | icons/44x44/status/btsync-gui-2.png usr/share/icons/hicolor/44x44/status 67 | icons/44x44/status/btsync-gui-3.png usr/share/icons/hicolor/44x44/status 68 | icons/44x44/status/btsync-gui-4.png usr/share/icons/hicolor/44x44/status 69 | icons/44x44/status/btsync-gui-5.png usr/share/icons/hicolor/44x44/status 70 | icons/44x44/status/btsync-gui-6.png usr/share/icons/hicolor/44x44/status 71 | icons/44x44/status/btsync-gui-7.png usr/share/icons/hicolor/44x44/status 72 | icons/44x44/status/btsync-gui-8.png usr/share/icons/hicolor/44x44/status 73 | icons/44x44/status/btsync-gui-9.png usr/share/icons/hicolor/44x44/status 74 | icons/44x44/status/btsync-gui-10.png usr/share/icons/hicolor/44x44/status 75 | icons/44x44/status/btsync-gui-11.png usr/share/icons/hicolor/44x44/status 76 | 77 | icons/44x44/status/btsync-gui-disconnected-dark.png usr/share/icons/hicolor/44x44/status 78 | icons/44x44/status/btsync-gui-connecting-dark.png usr/share/icons/hicolor/44x44/status 79 | icons/44x44/status/btsync-gui-paused-dark.png usr/share/icons/hicolor/44x44/status 80 | icons/44x44/status/btsync-gui-0-dark.png usr/share/icons/hicolor/44x44/status 81 | icons/44x44/status/btsync-gui-1-dark.png usr/share/icons/hicolor/44x44/status 82 | icons/44x44/status/btsync-gui-2-dark.png usr/share/icons/hicolor/44x44/status 83 | icons/44x44/status/btsync-gui-3-dark.png usr/share/icons/hicolor/44x44/status 84 | icons/44x44/status/btsync-gui-4-dark.png usr/share/icons/hicolor/44x44/status 85 | icons/44x44/status/btsync-gui-5-dark.png usr/share/icons/hicolor/44x44/status 86 | icons/44x44/status/btsync-gui-6-dark.png usr/share/icons/hicolor/44x44/status 87 | icons/44x44/status/btsync-gui-7-dark.png usr/share/icons/hicolor/44x44/status 88 | icons/44x44/status/btsync-gui-8-dark.png usr/share/icons/hicolor/44x44/status 89 | icons/44x44/status/btsync-gui-9-dark.png usr/share/icons/hicolor/44x44/status 90 | icons/44x44/status/btsync-gui-10-dark.png usr/share/icons/hicolor/44x44/status 91 | icons/44x44/status/btsync-gui-11-dark.png usr/share/icons/hicolor/44x44/status 92 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.manpages: -------------------------------------------------------------------------------- 1 | btsync-gui.7 2 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postinst script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | # summary of how this script can be called: 7 | # * `configure' 8 | # * `abort-upgrade' 9 | # * `abort-remove' `in-favour' 10 | # 11 | # * `abort-remove' 12 | # * `abort-deconfigure' `in-favour' 13 | # `removing' 14 | # 15 | # for details, see http://www.debian.org/doc/debian-policy/ or 16 | # the debian-policy package 17 | 18 | set -e 19 | 20 | #echo btsync-user.postinst $1 >> /root/btsync-user.inst.log 21 | case "$1" in 22 | configure) 23 | unset DISPLAY # No GUI launched from postinst please 24 | 25 | # generate autostart link 26 | set +e 27 | if [ -d /etc/xdg/autostart ]; then 28 | ln -sf /usr/share/applications/btsync-gui.desktop /etc/xdg/autostart/btsync-gui.desktop 29 | elif [ -d /etc/xdg/openbox/autostart ]; then 30 | ln -sf /usr/share/applications/btsync-gui.desktop /etc/xdg/openbox/autostart/btsync-gui.desktop 31 | elif [ -d /usr/share/autostart ]; then 32 | ln -sf /usr/share/applications/btsync-gui.desktop /usr/share/autostart/btsync-gui.desktop 33 | # else 34 | # # fallback: no /etc/xdg/autostart - create one and let's hope it works... 35 | # mkdir -p /etc/xdg/autostart 36 | # ln -sf /usr/share/applications/btsync-gui.desktop /etc/xdg/autostart/btsync-gui.desktop 37 | fi 38 | set -e 39 | 40 | # if [ -f /var/run/btsync-user-updating ]; then 41 | # rm -f /var/run/btsync-user-updating 42 | # fi 43 | 44 | ;; 45 | 46 | abort-upgrade|abort-remove|abort-deconfigure) 47 | ;; 48 | 49 | *) 50 | echo "postinst called with unknown argument '$1'" >&2 51 | exit 1 52 | ;; 53 | esac 54 | 55 | # dh_installdeb will replace this with shell code automatically 56 | # generated by other debhelper scripts. 57 | 58 | #DEBHELPER# 59 | 60 | exit 0 61 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui-gtk.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postrm script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | #echo btsync-user.postrm $1 >> /root/btsync-user.inst.log 9 | case "$1" in 10 | remove|purge) 11 | set +e 12 | rm -f /etc/xdg/autostart/btsync-gui.desktop 13 | rm -f /etc/xdg/openbox/autostart/btsync-gui.desktop 14 | rm -f /usr/share/autostart/btsync-gui.desktop 15 | set -e 16 | ;; 17 | upgrade|disappear) 18 | ;; 19 | failed-upgrade) 20 | ;; 21 | 22 | *) 23 | echo "postrm called with unknown argument \`$1'" >&2 24 | exit 1 25 | ;; 26 | esac 27 | 28 | #DEBHELPER# 29 | 30 | exit 0 31 | -------------------------------------------------------------------------------- /btsync-gui/debian/btsync-gui.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prerm script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `upgrade' 11 | # * `failed-upgrade' 12 | # * `remove' `in-favour' 13 | # * `deconfigure' `in-favour' 14 | # `removing' 15 | # 16 | # for details, see http://www.debian.org/doc/debian-policy/ or 17 | # the debian-policy package 18 | 19 | # Source debconf library. 20 | . /usr/share/debconf/confmodule 21 | 22 | CONFFILE=/etc/btsync/debconf-user-default.conf 23 | 24 | #echo btsync-user.prerm $1 >> /root/btsync-user.inst.log 25 | case "$1" in 26 | remove|deconfigure) 27 | set +e 28 | # rm -f /var/run/btsync-user-updating 29 | # pkill -f btsync-starter 30 | # pkill -f btsyncindicator.py 31 | # pkill -x btsync-agent 32 | set -e 33 | ;; 34 | upgrade) 35 | set +e 36 | # touch /var/run/btsync-user-updating 37 | # pkill -x btsync-agent 38 | set -e 39 | ;; 40 | 41 | failed-upgrade) 42 | set +e 43 | # rm -f /var/run/btsync-user-updating 44 | # set -e 45 | ;; 46 | 47 | *) 48 | echo "prerm called with unknown argument \`$1'" >&2 49 | exit 1 50 | ;; 51 | esac 52 | 53 | # dh_installdeb will replace this with shell code automatically 54 | # generated by other debhelper scripts. 55 | 56 | #DEBHELPER# 57 | 58 | exit 0 59 | -------------------------------------------------------------------------------- /btsync-gui/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /btsync-gui/debian/control: -------------------------------------------------------------------------------- 1 | Source: btsync-gui 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 7.0.50), curl,intltool 6 | Standards-Version: 3.9.4 7 | Vcs-Git: https://github.com/tuxpoldo/btsync-deb.git 8 | Vcs-browser: https://github.com/tuxpoldo/btsync-deb 9 | Homepage: http://www.yeasoft.com/site/projects:btsync-deb:btsync-user 10 | 11 | Package: btsync-gui-gtk 12 | Architecture: all 13 | Depends: ${python:Depends}, ${misc:Depends}, python, 14 | python-gi, gir1.2-gtk-3.0, gir1.2-pango-1.0, 15 | python-dbus, python-requests, python-qrencode, 16 | btsync-common 17 | Provides: btsync-user-application 18 | Replaces: btsync-user 19 | Breaks: btsync-user 20 | Description: Full GTK based Linux GUI for BitTorrent Sync 21 | BitTorrent Sync is a simple tool that applies p2p protocol for 22 | direct live folder sync with maximum security, network speed 23 | and storage capacity. It has native versions for Mac, Windows 24 | and Linux, as well as native NAS integration. 25 | . 26 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 27 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 28 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 29 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 30 | THREAD IN THE SUPPORT FORUM (http://goo.gl/Bljx0b) 31 | . 32 | This package installs BitTorrent Sync as a full featured GUI 33 | application based on GTK. 34 | 35 | Package: btsync-gui 36 | Architecture: all 37 | Depends: btsync-gui-gtk, gir1.2-appindicator3-0.1 38 | Description: Full GTK based Linux GUI for BitTorrent Sync 39 | BitTorrent Sync is a simple tool that applies p2p protocol for 40 | direct live folder sync with maximum security, network speed 41 | and storage capacity. It has native versions for Mac, Windows 42 | and Linux, as well as native NAS integration. 43 | . 44 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 45 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 46 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 47 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 48 | THREAD IN THE SUPPORT FORUM (http://goo.gl/Bljx0b) 49 | . 50 | This dependency package installs BitTorrent Sync as a full 51 | featured GUI application based on GTK using the appindicator 52 | library for desktops not supporting GTK.TrayIcon (like Unity) 53 | 54 | -------------------------------------------------------------------------------- /btsync-gui/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: btsync-gui 3 | Source: https://github.com/tuxpoldo/btsync-deb 4 | 5 | Files: * 6 | Copyright: 2013-2014 Leo Moll 7 | License: GPL-2+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this program. If not, see 20 | . 21 | On Debian systems, the complete text of the GNU General 22 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 23 | 24 | -------------------------------------------------------------------------------- /btsync-gui/debian/querykey.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OUTFILE=$1 4 | if [ -z $1 ]; then 5 | echo "ERROR: outfile must be specified" >&2 6 | exit 1 7 | fi 8 | 9 | # magick shortcut: if you already have a running version of btsync-gui 10 | # installed, you can also build packages without having to enter the 11 | # API key manually... 12 | 13 | if [ -f /usr/lib/btsync-gui/btsync-gui.key ]; then 14 | cat /usr/lib/btsync-gui/btsync-gui.key > ${OUTFILE} 15 | exit 0 16 | fi 17 | 18 | # launchpad shortcut - provide a special version for LP containing 19 | # this magick file (since launchpad is not able to download anything 20 | # during the build) 21 | if [ -f $(dirname $0)/launchpad.key ]; then 22 | cat $(dirname $0)/launchpad.key > ${OUTFILE} 23 | exit 0 24 | fi 25 | 26 | #if curl -f 'http://77.232.232.105/btsync-gui.key' > ${OUTFILE}; then 27 | # # workaround for launchpad - the file is available only at build time 28 | # exit 0 29 | #else 30 | # echo "INFO: remote request failed. API key must be entered manually..." >&2 31 | #fi 32 | 33 | APIKEY="" 34 | printf "Please enter the API key: " 35 | read APIKEY 36 | if [ -z $APIKEY ]; then 37 | echo "ERROR: Failed to get API key" >&2 38 | exit 1 39 | fi 40 | 41 | echo $APIKEY > ${OUTFILE} 42 | echo "# BEWARE: the following API key is owned by tuxpoldo! If you write your own" >> ${OUTFILE} 43 | echo "# application, do NOT take this, but request your own key by folling" >> ${OUTFILE} 44 | echo "# out the form at http://www.bittorrent.com/sync/developers" >> ${OUTFILE} 45 | -------------------------------------------------------------------------------- /btsync-gui/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Create some helper variables without using cddb since cdbs assumes 4 | # that the makefile will be executed from the project directory but 5 | # we need this vars in target get-orig-source that MUST work from 6 | # every directory 7 | 8 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 9 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 10 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 11 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 12 | | sed -rne 's,^Source: (.*),\1,p') 13 | 14 | MSGSRC=$(wildcard po/*.po) 15 | MSGOBJ=$(MSGSRC:.po=.mo) 16 | 17 | po/%.mo: po/%.po 18 | msgfmt -c $< -o $@ 19 | mkdir -p locale/$*/LC_MESSAGES 20 | cp $@ locale/$*/LC_MESSAGES/btsync-gui.mo 21 | 22 | # Uncomment this to turn on verbose mode. 23 | #export DH_VERBOSE=1 24 | 25 | %: 26 | dh $@ 27 | 28 | override_dh_install: 29 | dh_install 30 | $(DEB_DEBIAN_DIR)querykey.sh $(CURDIR)/$(DEB_DEBIAN_DIR)btsync-gui-gtk/usr/lib/btsync-gui/btsync-gui.key 31 | 32 | override_dh_auto_build: $(MSGOBJ) 33 | dh_auto_build 34 | 35 | override_dh_clean: 36 | rm -f *.pyc 37 | rm -f po/*.mo 38 | rm -rf locale 39 | dh_clean 40 | 41 | get-orig-source: make-orig-source 42 | echo OK 43 | 44 | make-orig-source: 45 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 46 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 47 | mkdir -p /tmp/$(DEB_SOURCE_PACKAGE); \ 48 | cp -a $(DEB_DEBIAN_DIR)../ /tmp/$(DEB_SOURCE_PACKAGE)/; \ 49 | tar -C /tmp --exclude debian --exclude '.git*' -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 50 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 51 | fi 52 | -------------------------------------------------------------------------------- /btsync-gui/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /btsync-gui/debian/watch: -------------------------------------------------------------------------------- 1 | # Example watch control file for uscan 2 | # Rename this file to "watch" and then you can run the "uscan" command 3 | # to check for upstream updates and more. 4 | # See uscan(1) for format 5 | 6 | # Compulsory line, this is a version 3 file 7 | version=3 8 | 9 | # Uncomment to examine a Webpage 10 | # 11 | #http://www.example.com/downloads.php syncapp-(.*)\.tar\.gz 12 | 13 | # Uncomment to examine a Webserver directory 14 | #http://www.example.com/pub/syncapp-(.*)\.tar\.gz 15 | 16 | # Uncommment to examine a FTP server 17 | #ftp://ftp.example.com/pub/syncapp-(.*)\.tar\.gz debian uupdate 18 | 19 | # Uncomment to find new files on sourceforge, for devscripts >= 2.9 20 | # http://sf.net/syncapp/syncapp-(.*)\.tar\.gz 21 | 22 | # Uncomment to find new files on GooglePages 23 | # http://example.googlepages.com/foo.html syncapp-(.*)\.tar\.gz 24 | -------------------------------------------------------------------------------- /btsync-gui/icons/128x128/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/128x128/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/16x16/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/16x16/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/16x16/status/btsync-gui-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/16x16/status/btsync-gui-cloud.png -------------------------------------------------------------------------------- /btsync-gui/icons/16x16/status/btsync-gui-direct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/16x16/status/btsync-gui-direct.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-0-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-0-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-0.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-1-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-1-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-1.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-10-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-10-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-10.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-11-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-11-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-11.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-2-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-2-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-2.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-3-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-3-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-3.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-4-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-4-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-4.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-5-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-5-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-5.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-6-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-6-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-6.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-7-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-7-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-7.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-8-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-8-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-8.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-9-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-9-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-9.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-connecting-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-connecting-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-connecting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-connecting.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-disconnected-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-disconnected-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-disconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-disconnected.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-paused-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-paused-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/22x22/status/btsync-gui-paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/22x22/status/btsync-gui-paused.png -------------------------------------------------------------------------------- /btsync-gui/icons/256x256/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/256x256/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/32x32/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/32x32/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-0.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-1.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-10.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-11.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-2.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-3.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-4.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-5.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-6.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-7.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-8.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-9.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-connecting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-connecting.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-disconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-disconnected.png -------------------------------------------------------------------------------- /btsync-gui/icons/36x36/status/btsync-gui-paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/36x36/status/btsync-gui-paused.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-0-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-0-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-0.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-1-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-1-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-1.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-10-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-10-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-10.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-11-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-11-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-11.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-2-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-2-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-2.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-3-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-3-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-3.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-4-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-4-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-4.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-5-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-5-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-5.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-6-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-6-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-6.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-7-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-7-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-7.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-8-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-8-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-8.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-9-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-9-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-9.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-connecting-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-connecting-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-connecting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-connecting.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-disconnected-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-disconnected-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-disconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-disconnected.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-paused-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-paused-dark.png -------------------------------------------------------------------------------- /btsync-gui/icons/44x44/status/btsync-gui-paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/44x44/status/btsync-gui-paused.png -------------------------------------------------------------------------------- /btsync-gui/icons/48x48/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/48x48/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/512x512/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/512x512/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/icons/64x64/apps/btsync-gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-gui/icons/64x64/apps/btsync-gui.png -------------------------------------------------------------------------------- /btsync-gui/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | [encoding: UTF-8] 2 | btsyncagent.py 3 | btsyncapi.py 4 | btsyncapp.py 5 | btsyncguiapp.py 6 | btsyncstatus.py 7 | btsyncutils.py 8 | dialogs.py 9 | trayindicator.py 10 | btsyncapp.glade 11 | btsyncstatus.glade 12 | dialogs.glade 13 | -------------------------------------------------------------------------------- /btsync-gui/trayindicator.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | # 3 | # Copyright 2014 Leo Moll 4 | # 5 | # Authors: Leo Moll and Contributors (see CREDITS) 6 | # 7 | # Thanks to Mark Johnson for btsyncindicator.py which gave me the 8 | # last nudge needed to learn python and write my first linux gui 9 | # application. Thank you! 10 | # 11 | # This file is part of btsync-gui. btsync-gui is free software: you can 12 | # redistribute it and/or modify it under the terms of the GNU General Public 13 | # License as published by the Free Software Foundation, version 2. 14 | # 15 | # This program is distributed in the hope that it will be useful, but WITHOUT 16 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 18 | # details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with this program. If not, see 22 | # 23 | 24 | import logging 25 | from os import environ 26 | from os.path import join as path_join 27 | from os.path import isdir 28 | 29 | from gi.repository import Gtk, GObject 30 | 31 | try: 32 | from gi.repository import AppIndicator3 as AppIndicator 33 | except ImportError: 34 | logging.warning('Ignore the previous error: using Gtk.TrayIcon instead. Everything is fine!') 35 | 36 | class TrayIndicator: 37 | """ 38 | This class provides an abstraction of application indicator functionality 39 | based Gtk.StatusIcon or libindicator3 if the distribution/desktop requires 40 | it (like Ubuntu with Unity) 41 | 42 | The bindings to libindicator3 are provided by installing the package 43 | gir1.2-appindicator3-0.1 - the package python-appindicator unfortunately 44 | provides only PyGtk bindings for Gtk2 45 | """ 46 | def __init__(self,name,icon_name,attention_icon_name=None): 47 | try: 48 | self.indicator = AppIndicator.Indicator.new ( 49 | name, 50 | icon_name, 51 | AppIndicator.IndicatorCategory.APPLICATION_STATUS 52 | ) 53 | # Try to make AppIndicator respect weird paths in XDG_DATA_DIRS 54 | for p in environ.get('XDG_DATA_DIRS','').split(':'): 55 | if p in ('/usr/share', '/usr/local/share'): 56 | continue 57 | ip = path_join(p, 'icons') 58 | if not isdir(ip): 59 | continue 60 | self.indicator.set_icon_theme_path(ip) 61 | break 62 | if attention_icon_name is None: 63 | self.indicator.set_attention_icon(icon_name) 64 | else: 65 | self.indicator.set_attention_icon(attention_icon_name) 66 | self.indicator.set_status (AppIndicator.IndicatorStatus.ACTIVE) 67 | self.statusicn = None 68 | except NameError: 69 | self.statusicn = Gtk.StatusIcon() 70 | self.statusicn.set_name(name) 71 | self.statusicn.set_from_icon_name(icon_name) 72 | self.indicator = None 73 | 74 | def set_title(self,title): 75 | if self.indicator is None: 76 | self.statusicn.set_title(title) 77 | 78 | def set_tooltip_text(self,text): 79 | if self.indicator is None: 80 | self.statusicn.set_tooltip_text(text) 81 | 82 | def set_from_icon_name(self,icon_name): 83 | if self.indicator is None: 84 | self.statusicn.set_from_icon_name(icon_name) 85 | else: 86 | self.indicator.set_icon(icon_name) 87 | 88 | def set_menu(self,menu): 89 | self.menu = menu 90 | if self.indicator is None: 91 | self.menu = menu 92 | self.statusicn.connect('popup-menu', self.onContextMenu) 93 | else: 94 | self.indicator.set_menu(self.menu) 95 | 96 | def set_default_action(self,handler): 97 | if self.indicator is None: 98 | self.statusicn.connect('activate', handler) 99 | 100 | 101 | def onContextMenu(self,widget,button,activate_time): 102 | self.menu.popup(None,None,Gtk.StatusIcon.position_menu,widget,button,activate_time) 103 | 104 | -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Packages 7 | *.egg 8 | *.egg-info 9 | dist 10 | build 11 | eggs 12 | parts 13 | bin 14 | var 15 | sdist 16 | develop-eggs 17 | .installed.cfg 18 | lib 19 | lib64 20 | 21 | # Installer logs 22 | pip-log.txt 23 | 24 | # Unit test / coverage reports 25 | .coverage 26 | .tox 27 | nosetests.xml 28 | 29 | # Translations 30 | *.mo 31 | 32 | # Mr Developer 33 | .mr.developer.cfg 34 | .project 35 | .pydevproject 36 | -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/CREDITS: -------------------------------------------------------------------------------- 1 | The following people have contributed to this project: 2 | * Brian Boucheron "beardicus" - Icons 3 | * Leo Moll "tuxpoldo" - Packaging, bug fixes and testing 4 | * "dswd" - Bug fixes 5 | * Léo Lam "leoetlino" - Documentation 6 | * Martin Wimpress "flexiondotorg" - Bug fixes 7 | * Pavel Ilin "PIlin" - Bug fixes 8 | * Andrew "hotice" - Testing 9 | * Rob Miceli "rmiceli" - Bug fixes 10 | * Charl P. Botha - Per-folder activity feedback. 11 | 12 | If you think you should be credited in this file and you aren't, please add yourself and send me a pull request. 13 | -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/README.md: -------------------------------------------------------------------------------- 1 | btsyncindicator 2 | =============== 3 | 4 | **BitTorrent Sync indicator for Linux desktops** 5 | 6 | ``` 7 | usage: btsyncindicator.py [-h] [--config CONFIG] [--iconpath ICONPATH] [-v] 8 | [--log LOG] 9 | 10 | optional arguments: 11 | -h, --help show this help message and exit 12 | --config CONFIG Location of BitTorrent Sync config file 13 | --iconpath ICONPATH Path to icon theme folder 14 | -v, --version Print version information and exit 15 | --log LOG Set logging level 16 | ``` 17 | 18 | * Displays an application indicator for BitTorrent Sync on Linux desktops. 19 | * Shows syncing folders and the status of connected peers. 20 | * Allows you copy the secret for each folder to the clipboard. 21 | 22 | ### Contributions welcome 23 | 24 | I'm not actively developing the indicator at the moment but am keeping an eye on bug reports and will test and merge pull requests. If you'd like to contribute, please raise a bug in the tracker, I'll be notified and get back to you. 25 | 26 | ## Installation 27 | 28 | 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. 29 | 30 | ### Ubuntu/Debian (i386, and amd64) 31 | ``` 32 | sudo add-apt-repository ppa:tuxpoldo/btsync 33 | sudo apt-get update 34 | sudo apt-get install btsync-user 35 | ``` 36 | If you get a *command not found* error, run `sudo apt-get install python-software-properties software-properties-common` first. 37 | 38 | The indicator will start on login with BitTorrent Sync. 39 | 40 | ### Debian (i386, amd64, powerpc, armel, and armhf) 41 | ``` 42 | sudo gpg --keyserver pgp.mit.edu --recv-keys 6BF18B15 43 | sudo gpg --armor --export 6BF18B15 | sudo apt-key add - 44 | sudo echo deb http://debian.yeasoft.net/btsync $(lsb_release -cs) main contrib non-free >> /etc/apt/sources.list.d/btsync.list 45 | sudo echo deb-src http://debian.yeasoft.net/btsync $(lsb_release -cs) main contrib non-free >> /etc/apt/sources.list.d/btsync.list 46 | sudo apt-get update 47 | sudo apt-get install btsync-user 48 | ``` 49 | The indicator will start on login with BitTorrent Sync. 50 | 51 | ### Arch Linux 52 | btsyncindicator is available in the [AUR](https://aur.archlinux.org). 53 | ``` 54 | sudo packer -S --noedit --noconfirm btsyncindicator 55 | ``` 56 | 57 | ### Other distributions 58 | The indicator is not packaged for other distros. You will have to [download BitTorrent Sync](http://labs.bittorrent.com/experiments/sync.html), then download and run the indicator seperately: 59 | ``` 60 | cd ~/ 61 | git clone https://github.com/marxjohnson/btsyncindicator.git 62 | ~/btsyncindicator/btsyncindicator.py` 63 | ``` 64 | You may want to make it start on login. 65 | 66 | ## Documentation 67 | 68 | The API used by the indicator is (partially) documented on the [GitHub Wiki](https://github.com/marxjohnson/btsyncindicator/wiki) 69 | 70 | Copyright Mark Johnson and contributors, 2013 71 | Released under GNU Lesser General Public License V3 72 | -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-active-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-active-0.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-active-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-active-1.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-active-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-active-2.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-attention.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-attention.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-direct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-direct.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-error.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync-relay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync-relay.png -------------------------------------------------------------------------------- /btsync-user/btsyncindicator/icons/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/btsyncindicator/icons/btsync.png -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.README.Debian: -------------------------------------------------------------------------------- 1 | btsync-user for Debian 2 | ---------------------- 3 | 4 | This package of BitTorrent Sync is mainly intended for generic desktop usage. 5 | It tries to create a desktop experience similar to Windows or Mac OS/X: When 6 | the user logs in, an instance of BitTorrent Sync is automatically launched 7 | under the user's credentials and an applet is launched enabling the user 8 | to control the application. 9 | 10 | The web UI of btsync can be launched through the applet or by a user specific 11 | desktop shortcut. 12 | 13 | The configuration file for each user is created automatically in his home 14 | directory based on the template /etc/btsync-user/btsync-user.conf with the 15 | filename ~/.config/btsync/btsync-auto.conf defining a user specific device 16 | name, a user specific storage directory (~/.btsync), a user specific PID 17 | file and a user specific port number for the web ui. A user specific web ui 18 | shortcut is created in ~/.local/share/applications 19 | 20 | In order to give more freedom to the advanced user, there is also a 21 | possibility to launch BitTorrent Sync with a custom configuration file 22 | instead of the automatically created file: the startup routine of BitTorrent 23 | Sync checks, if there is a file named btsync-user.conf in the configuration 24 | directory ~/.config/btsync of the user. If this file is found, then it is used 25 | as configuration file. If not, BitTorrent Sync uses the automatically created 26 | default configuration file ~/.config/btsync/btsync-auto.conf that will be 27 | recreated on every restart. 28 | 29 | The simplest way to create a custom configuration file, is to create a copy 30 | of the default configuration file and then to edit it according to your 31 | needs: 32 | 33 | cp ~/.config/btsync/btsync-auto.conf ~/.config/btsync/btsync-user.conf 34 | 35 | When you are ready with your modifications, you can restart BitTorrent Sync 36 | by executing: 37 | 38 | btsync restart 39 | 40 | on the command line. 41 | 42 | -- Leo Moll Mon, 27 Jan 2014 14:34:29 +0100 43 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | etc/btsync-user 3 | usr/lib/btsync-user 4 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.docs: -------------------------------------------------------------------------------- 1 | # docs 2 | btsyncindicator/README.md 3 | README.md 4 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.install: -------------------------------------------------------------------------------- 1 | # files 2 | scripts/btsync-agent.desktop usr/share/applications 3 | scripts/btsync-user.conf etc/btsync-user 4 | scripts/btsync-user.desktop etc/btsync-user 5 | scripts/btsync-starter usr/lib/btsync-user 6 | scripts/btsync-stopper usr/lib/btsync-user 7 | scripts/btsync-tester usr/lib/btsync-user 8 | scripts/btsync usr/bin 9 | icons/96/btsync-user.png usr/share/icons/hicolor/96x96/apps 10 | icons/48/btsync-user.png usr/share/icons/hicolor/48x48/apps 11 | icons/32/btsync-user.png usr/share/icons/hicolor/32x32/apps 12 | icons/16/btsync-user.png usr/share/icons/hicolor/16x16/apps 13 | 14 | btsyncindicator/btsyncindicator.py usr/lib/btsync-user 15 | btsyncindicator/icons/btsync.png usr/share/icons/hicolor/22x22/status 16 | btsyncindicator/icons/btsync-active-0.png usr/share/icons/hicolor/22x22/status 17 | btsyncindicator/icons/btsync-active-1.png usr/share/icons/hicolor/22x22/status 18 | btsyncindicator/icons/btsync-active-2.png usr/share/icons/hicolor/22x22/status 19 | btsyncindicator/icons/btsync-attention.png usr/share/icons/hicolor/22x22/status 20 | btsyncindicator/icons/btsync-error.png usr/share/icons/hicolor/22x22/status 21 | btsyncindicator/icons/btsync-direct.png usr/share/icons/hicolor/22x22/status 22 | btsyncindicator/icons/btsync-relay.png usr/share/icons/hicolor/22x22/status 23 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.links: -------------------------------------------------------------------------------- 1 | # links - src dest 2 | usr/lib/btsync-common/btsync-core usr/lib/btsync-user/btsync-agent 3 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.manpages: -------------------------------------------------------------------------------- 1 | man/btsync.7 2 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postinst script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | # summary of how this script can be called: 7 | # * `configure' 8 | # * `abort-upgrade' 9 | # * `abort-remove' `in-favour' 10 | # 11 | # * `abort-remove' 12 | # * `abort-deconfigure' `in-favour' 13 | # `removing' 14 | # 15 | # for details, see http://www.debian.org/doc/debian-policy/ or 16 | # the debian-policy package 17 | 18 | set -e 19 | 20 | #echo btsync-user.postinst $1 >> /root/btsync-user.inst.log 21 | case "$1" in 22 | configure) 23 | unset DISPLAY # No GUI launched from postinst please 24 | 25 | # generate autostart link 26 | set +e 27 | if [ -d /etc/xdg/autostart ]; then 28 | ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/autostart/btsync-agent.desktop 29 | elif [ -d /etc/xdg/openbox/autostart ]; then 30 | ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/openbox/autostart/btsync-agent.desktop 31 | elif [ -d /usr/share/autostart ]; then 32 | ln -sf /usr/share/applications/btsync-agent.desktop /usr/share/autostart/btsync-agent.desktop 33 | else 34 | # fallback: no /etc/xdg/autostart - create one 35 | mkdir /etc/xdg/autostart 36 | ln -sf /usr/share/applications/btsync-agent.desktop /etc/xdg/autostart/btsync-agent.desktop 37 | fi 38 | rm -f /var/run/btsync-user-updating 39 | set -e 40 | ;; 41 | 42 | triggered) 43 | case "$2" in 44 | btsync-common-changed) 45 | set +e 46 | # handle btsync-user if installed 47 | pkill -SIGHUP -f btsync-starter 48 | ;; 49 | *) 50 | echo "Unhandled trigger '$2' received" >&2 51 | ;; 52 | esac 53 | ;; 54 | 55 | abort-upgrade|abort-remove|abort-deconfigure) 56 | ;; 57 | 58 | *) 59 | echo "postinst called with unknown argument '$1'" >&2 60 | exit 1 61 | ;; 62 | esac 63 | 64 | # dh_installdeb will replace this with shell code automatically 65 | # generated by other debhelper scripts. 66 | 67 | #DEBHELPER# 68 | 69 | exit 0 70 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postrm script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | #echo btsync-user.postrm $1 >> /root/btsync-user.inst.log 9 | case "$1" in 10 | remove|purge) 11 | set +e 12 | rm -f /etc/xdg/autostart/btsync-agent.desktop 13 | rm -f /etc/xdg/openbox/autostart/btsync-agent.desktop 14 | rm -f /usr/share/autostart/btsync-agent.desktop 15 | set -e 16 | ;; 17 | upgrade|disappear) 18 | ;; 19 | failed-upgrade) 20 | ;; 21 | 22 | *) 23 | echo "postrm called with unknown argument \`$1'" >&2 24 | exit 1 25 | ;; 26 | esac 27 | 28 | #DEBHELPER# 29 | 30 | exit 0 31 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prerm script for btsync-user 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `upgrade' 11 | # * `failed-upgrade' 12 | # * `remove' `in-favour' 13 | # * `deconfigure' `in-favour' 14 | # `removing' 15 | # 16 | # for details, see http://www.debian.org/doc/debian-policy/ or 17 | # the debian-policy package 18 | 19 | # Source debconf library. 20 | . /usr/share/debconf/confmodule 21 | 22 | CONFFILE=/etc/btsync/debconf-user-default.conf 23 | 24 | #echo btsync-user.prerm $1 >> /root/btsync-user.inst.log 25 | case "$1" in 26 | remove|deconfigure) 27 | set +e 28 | rm -f /var/run/btsync-user-updating 29 | pkill -f btsync-starter 30 | pkill -f btsyncindicator.py 31 | pkill -x btsync-agent 32 | set -e 33 | ;; 34 | upgrade) 35 | set +e 36 | touch /var/run/btsync-user-updating 37 | pkill -x btsync-agent 38 | set -e 39 | ;; 40 | 41 | failed-upgrade) 42 | set +e 43 | rm -f /var/run/btsync-user-updating 44 | set -e 45 | ;; 46 | 47 | *) 48 | echo "prerm called with unknown argument \`$1'" >&2 49 | exit 1 50 | ;; 51 | esac 52 | 53 | # dh_installdeb will replace this with shell code automatically 54 | # generated by other debhelper scripts. 55 | 56 | #DEBHELPER# 57 | 58 | exit 0 59 | -------------------------------------------------------------------------------- /btsync-user/debian/btsync-user.triggers: -------------------------------------------------------------------------------- 1 | interest btsync-common-changed 2 | 3 | -------------------------------------------------------------------------------- /btsync-user/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /btsync-user/debian/control: -------------------------------------------------------------------------------- 1 | Source: btsync-user 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 7.0.50) 6 | Standards-Version: 3.9.4 7 | Vcs-Git: https://github.com/tuxpoldo/btsync-deb.git 8 | Vcs-browser: https://github.com/tuxpoldo/btsync-deb 9 | Homepage: http://www.yeasoft.com/site/projects:btsync-deb:btsync-user 10 | 11 | Package: btsync-user 12 | Architecture: all 13 | Depends: debconf | debconf-2.0, libc6, ${python:Depends}, 14 | python-requests, python-appindicator, python-gtk2, btsync-common 15 | Provides: btsync-user-application 16 | Description: Private network P2P file synchronisation daemon(s) 17 | BitTorrent Sync is a simple tool that applies p2p protocol for 18 | direct live folder sync with maximum security, network speed 19 | and storage capacity. It has native versions for Mac, Windows 20 | and Linux, as well as native NAS integration. 21 | . 22 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 23 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 24 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 25 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 26 | THREAD IN THE SUPPORT FORUM (http://goo.gl/zqDyqD) 27 | . 28 | This package installs BitTorrent Sync as a WebUI and system 29 | tray application for desktop users. It includes Mark 30 | Johnson's btsyncindicator applet. 31 | -------------------------------------------------------------------------------- /btsync-user/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: btsync-user 3 | Source: http://www.bittorrent.com 4 | 5 | Files: * 6 | Copyright: 2013 Leo Moll 7 | License: GPL-2+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this program. If not, see 20 | . 21 | On Debian systems, the complete text of the GNU General 22 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 23 | 24 | Files: btsyncindicator/* 25 | Copyright: 2013 Mark Johnson 26 | License: LGPL-3 27 | This package is free software; you can redistribute it and/or modify 28 | it under the terms of the GNU Lesser General Public License as published 29 | by the Free Software Foundation version 3. 30 | . 31 | This package is distributed in the hope that it will be useful, 32 | but WITHOUT ANY WARRANTY; without even the implied warranty of 33 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 34 | GNU Lesser General Public License for more details. 35 | . 36 | You should have received a copy of the GNU Lesser General Public License 37 | along with this program. If not, see 38 | . 39 | On Debian systems, the complete text of the GNU Lesser General 40 | Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3". 41 | 42 | -------------------------------------------------------------------------------- /btsync-user/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Create some helper variables without using cddb since cdbs assumes 4 | # that the makefile will be executed from the project directory but 5 | # we need this vars in target get-orig-source that MUST work from 6 | # every directory 7 | 8 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 9 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 10 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 11 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 12 | | sed -rne 's,^Source: (.*),\1,p') 13 | 14 | # Uncomment this to turn on verbose mode. 15 | #export DH_VERBOSE=1 16 | 17 | %: 18 | dh $@ 19 | 20 | override_dh_auto_build: 21 | dh_auto_build 22 | 23 | override_dh_clean: 24 | dh_clean 25 | 26 | get-orig-source: make-orig-source 27 | echo OK 28 | 29 | make-orig-source: 30 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 31 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 32 | mkdir -p /tmp/$(DEB_SOURCE_PACKAGE); \ 33 | cp -a $(DEB_DEBIAN_DIR)../ /tmp/$(DEB_SOURCE_PACKAGE)/; \ 34 | tar -C /tmp --exclude debian --exclude '.git*' -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 35 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 36 | fi 37 | -------------------------------------------------------------------------------- /btsync-user/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /btsync-user/debian/watch: -------------------------------------------------------------------------------- 1 | # Example watch control file for uscan 2 | # Rename this file to "watch" and then you can run the "uscan" command 3 | # to check for upstream updates and more. 4 | # See uscan(1) for format 5 | 6 | # Compulsory line, this is a version 3 file 7 | version=3 8 | 9 | # Uncomment to examine a Webpage 10 | # 11 | #http://www.example.com/downloads.php syncapp-(.*)\.tar\.gz 12 | 13 | # Uncomment to examine a Webserver directory 14 | #http://www.example.com/pub/syncapp-(.*)\.tar\.gz 15 | 16 | # Uncommment to examine a FTP server 17 | #ftp://ftp.example.com/pub/syncapp-(.*)\.tar\.gz debian uupdate 18 | 19 | # Uncomment to find new files on sourceforge, for devscripts >= 2.9 20 | # http://sf.net/syncapp/syncapp-(.*)\.tar\.gz 21 | 22 | # Uncomment to find new files on GooglePages 23 | # http://example.googlepages.com/foo.html syncapp-(.*)\.tar\.gz 24 | -------------------------------------------------------------------------------- /btsync-user/icons/16/btsync-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/icons/16/btsync-user.png -------------------------------------------------------------------------------- /btsync-user/icons/32/btsync-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/icons/32/btsync-user.png -------------------------------------------------------------------------------- /btsync-user/icons/48/btsync-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/icons/48/btsync-user.png -------------------------------------------------------------------------------- /btsync-user/icons/96/btsync-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync-user/icons/96/btsync-user.png -------------------------------------------------------------------------------- /btsync-user/man/btsync.7: -------------------------------------------------------------------------------- 1 | .TH btsync 7 "October 2013" "BitTorrent Sync" "Private network P2P file synchronisation daemon" 2 | .SH NAME 3 | btsync - Private network P2P file synchronisation daemon 4 | 5 | .SH SYNOPSIS 6 | .sp 7 | .B btsync [-hvq] 8 | .I 9 | .B [ 10 | .I 11 | .B ] 12 | 13 | .SH DESCRIPTION 14 | .B BitTorrent Sync 15 | is a simple tool that applies p2p protocol for 16 | direct live folder sync with maximum security, network speed and 17 | storage capacity. It has native versions for Mac, Windows and 18 | Linux, as well as native NAS integration. 19 | 20 | .SH OPTIONS 21 | .TP 22 | .B -h, --help 23 | shows the help for the command. 24 | 25 | .TP 26 | .B -v, --verbose 27 | increases the verbosity level of the command. If specified more than once, the verbosity level will be increased. 28 | 29 | .TP 30 | .B -q, --quiet 31 | sets the verbosity level to a minimum. If specified, commands will produce no output and return only their result 32 | by setting a return value. 33 | 34 | .SH COMMANDS 35 | The following commands are available: 36 | 37 | .TP 38 | .B btsync start 39 | starts the whole btsync system (agent and applet) 40 | 41 | .TP 42 | .B btsync stop 43 | stops the whole btsync system (agent and applet) 44 | 45 | .TP 46 | .B btsync restart 47 | restarts the whole btsync system (agent and applet) 48 | 49 | .TP 50 | .B btsync pause|suspend 51 | stops the btsync agent but leaves the desktop applet running 52 | 53 | .TP 54 | .B btsync resume 55 | resumes the btsync agent 56 | 57 | .TP 58 | .B btsync status 59 | returns the status of the btsync agent 60 | 61 | .TP 62 | .B btsync debug|setdebug [on|off|status|] 63 | controls verbose logging or returns the verbose logging state. Instead of 64 | activating full logging, a specific logging mask can be specified as a 16 65 | bit hex value 66 | 67 | .TP 68 | .B btsync nodebug 69 | .RB "disables verbose logging (same as " "btsync debug off" ")" 70 | 71 | .SH FILES 72 | 73 | .TP 74 | .I /etc/btsync-user/btsync-user.conf 75 | Template for the btsync agent configuration files 76 | 77 | .TP 78 | .I /etc/btsync-user/btsync-user.desktop 79 | Template for the btsync web UI desktop shortcut 80 | 81 | .TP 82 | .I ~/.local/share/applications/btsync-user.desktop 83 | Automatically created user specific web UI desktop shortcut 84 | 85 | .TP 86 | .I ~/.config/btsync/btsync-auto.conf 87 | Automatically created user specific configuration file for the btsync agent 88 | 89 | .TP 90 | .I ~/.config/btsync/btsync-user.conf 91 | Optional configuration file that will be used instead of 92 | .I ~/.config/btsync/btsync-auto.conf 93 | if present in the system. Allows the user to create his own customized 94 | configuration 95 | 96 | .TP 97 | .I ~/.config/btsync/.btsync.pid 98 | User specific btsync PID file 99 | 100 | .TP 101 | .I ~/.btsync/btsync-user.log 102 | User specific log file of the btsync-user scripts 103 | 104 | .TP 105 | .I ~/.btsync/sync.log 106 | User specific log file of the btsync agent 107 | 108 | .SH DIRECTORIES 109 | 110 | .TP 111 | .I ~/.btsync 112 | User specific storage path of the btsync agent 113 | 114 | .TP 115 | .I ~/.config/btsync 116 | User specific configuration file path of the btsync agent and scripts 117 | 118 | .SH AUTHORS 119 | 120 | .TP 121 | .B BitTorrent Sync 122 | itself was written by BitTorrent Inc. (See http://labs.bittorrent.com/experiments/sync.html) 123 | 124 | .TP 125 | .B btsyncindicator.py 126 | was written by Mark Johnson 127 | 128 | .TP 129 | .B btsync-user 130 | Debian/Ubuntu packaging was written by Leo Moll 131 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # (c) 2013 YeaSoft Int'l - Leo Moll 4 | # 5 | # This script allows to manage the 6 | # btsync user agent 7 | 8 | ##################################### 9 | # variables section 10 | 11 | # compute user specific directories 12 | DESTDIR=${HOME} 13 | DATADIR=${DESTDIR}/.btsync 14 | CFGPATH=${DESTDIR}/.config/btsync 15 | PIDFILE=${CFGPATH}/btsync.pid 16 | CFGFILE=${CFGPATH}/btsync-auto.conf 17 | USRFILE=${CFGPATH}/btsync-user.conf 18 | 19 | APPLDIR=${HOME}/.local/share/applications 20 | APPFILE=${APPLDIR}/btsync-user.desktop 21 | DEVNAME="$(hostname) - $(whoami)" 22 | 23 | RUNNING_STATEFILE="${DATADIR}/running" 24 | PAUSED_STATEFILE="${DATADIR}/paused" 25 | UPDATING_STATEFILE="/var/run/btsync-user-updating" 26 | 27 | # initialize runtime variables 28 | VERBOSE=1 29 | 30 | ##################################### 31 | # basic script functions 32 | 33 | function usage { 34 | cat < [param] 36 | 37 | Commands: 38 | start start the btsync system 39 | stop stop the btsync system 40 | restart restarts the btsync system 41 | pause suspends the btsync system 42 | resume resumes the btsync system 43 | status output the btsync status 44 | debug|setdebug enables/configures/disables verbose logging 45 | nodebug disables verbose logging 46 | 47 | Options: 48 | -v, --verbose increase verbosity 49 | -q, --quiet say nothing - only return error codes 50 | 51 | This script allows to manage the BitTorrent Sync Desktop application 52 | 53 | EOF 54 | } 55 | 56 | function show_verbose { 57 | if [ $VERBOSE -ge $1 ]; then 58 | echo "${*:2}" 59 | fi 60 | } 61 | 62 | function show_error { 63 | echo "btsync error: $*" >&2 64 | } 65 | 66 | PARSER=$(getopt --name "$SCRIPTNAME" --options h,v,q --longoptions help,verbose,quiet -- "$@") 67 | case $? in 68 | 0);; 69 | 1) show_error "syntax or usage error (code $?)"; exit $?;; 70 | 2) show_error "syntax or usage error (code $?) in [getopt]"; exit $?;; 71 | 3) show_error "internal error (code $?) in [getopt]"; exit $?;; 72 | 4) show_error "wrong getopt version istalled"; exit $?;; 73 | *) show_error "Unknown getopt error (code $?)"; exit $?;; 74 | esac 75 | 76 | # Parameter parsing 77 | eval set -- "$PARSER" 78 | while true; do 79 | case "$1" in 80 | -h|--help) usage; exit 0;; 81 | -v|--verbose) (( VERBOSE++ )); shift;; 82 | -q|--quiet) VERBOSE=0; shift;; 83 | --) shift; break;; 84 | *) echo "btsync: $1: unknown option"; show_error "syntax or usage error (code 1)"; exit 1;; 85 | esac 86 | done 87 | 88 | # configuration checking 89 | 90 | if [ -z $1 ]; then 91 | usage 92 | exit 0 93 | fi 94 | 95 | RESULT=0 96 | 97 | case "$1" in 98 | start) 99 | if [ -f "${RUNNING_STATEFILE}" -a -f "${PAUSED_STATEFILE}" ]; then 100 | show_verbose 2 "Resuming btsync instead of starting..." 101 | rm -f "${PAUSED_STATEFILE}" 102 | RESULT=$? 103 | if ! pgrep -u $(id -u) -f btsync-starter > /dev/null; then 104 | /usr/lib/btsync-user/btsync-starter 105 | RESULT=$? 106 | fi 107 | show_verbose 2 "Done." 108 | else 109 | show_verbose 2 "Starting btsync..." 110 | /usr/lib/btsync-user/btsync-starter 111 | RESULT=$? 112 | show_verbose 2 "Done." 113 | fi 114 | ;; 115 | stop) 116 | show_verbose 2 "Stopping btsync..." 117 | /usr/lib/btsync-user/btsync-stopper 118 | RESULT=$? 119 | show_verbose 2 "Done." 120 | ;; 121 | restart) 122 | show_verbose 2 "Restarting btsync..." 123 | /usr/lib/btsync-user/btsync-stopper 124 | sleep 5 125 | /usr/lib/btsync-user/btsync-starter 126 | RESULT=$? 127 | show_verbose 2 "Done." 128 | ;; 129 | pause|suspend) 130 | if [ -f "${PAUSED_STATEFILE}" ]; then 131 | show_verbose 1 "btsync is already paused" 132 | RESULT=1 133 | elif [ -f "${RUNNING_STATEFILE}" ]; then 134 | show_verbose 2 "Suspending..." 135 | touch "${PAUSED_STATEFILE}" 136 | pkill -u $(id -u) -x btsync-agent 137 | RESULT=$? 138 | show_verbose 2 "Done." 139 | else 140 | show_verbose 1 "Cannot suspend since btsync is not running" 141 | RESULT=2 142 | fi 143 | ;; 144 | resume) 145 | if [ -f "${PAUSED_STATEFILE}" ]; then 146 | show_verbose 2 "Resuming btsync..." 147 | rm -f "${PAUSED_STATEFILE}" 148 | RESULT=$? 149 | if ! pgrep -u $(id -u) -f btsync-starter > /dev/null; then 150 | /usr/lib/btsync-user/btsync-starter 151 | RESULT=$? 152 | fi 153 | show_verbose 2 "Done." 154 | elif [ -f "${RUNNING_STATEFILE}" ]; then 155 | show_verbose 1 "btsync is already running" 156 | RESULT=1 157 | else 158 | show_verbose 1 "Cannot resume since btsync is not running" 159 | RESULT=2 160 | fi 161 | ;; 162 | status) 163 | if [ -f "${RUNNING_STATEFILE}" ]; then 164 | if [ -f "${PAUSED_STATEFILE}" ]; then 165 | show_verbose 1 "paused" 166 | RESULT=1 167 | else 168 | show_verbose 1 "running" 169 | RESULT=0 170 | fi 171 | else 172 | show_verbose 1 "stopped" 173 | RESULT=2 174 | fi 175 | ;; 176 | debug|setdebug) 177 | case "$2" in 178 | 1|on|On|ON) 179 | show_verbose 1 "Enabling verbose logging" 180 | echo "FFFF" > "${DATADIR}/debug.txt" 181 | ;; 182 | 0|off|Off|OFF) 183 | show_verbose 1 "Disabling verbose logging" 184 | rm -f "${DATADIR}/debug.txt" 185 | ;; 186 | [0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f][0-9,A-F,a-f]) 187 | show_verbose 1 "Enabling verbose logging (Mask: $2)" 188 | echo "$2" > "${DATADIR}/debug.txt" 189 | ;; 190 | *) 191 | if [ -f "${DATADIR}/debug.txt" ]; then 192 | case "$(head -n 1 ${DATADIR}/debug.txt)" in 193 | FFFF|ffff) 194 | show_verbose 1 "debug=on" 195 | RESULT=1 196 | ;; 197 | *) 198 | show_verbose 1 "debug=$(head -n 1 ${DATADIR}/debug.txt)" 199 | RESULT=1 200 | ;; 201 | esac 202 | else 203 | show_verbose 1 "debug=off" 204 | RESULT=0 205 | fi 206 | ;; 207 | esac 208 | ;; 209 | nodebug) 210 | show_verbose 1 "Disabling verbose logging" 211 | rm -f "${DATADIR}/debug.txt" 212 | ;; 213 | help) 214 | usage 215 | ;; 216 | *) 217 | show_error "Unknown command $1" 218 | RESULT=99 219 | ;; 220 | esac 221 | exit ${RESULT} 222 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync-agent.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=BitTorrent Sync 3 | Comment=Synchronize your folders with maximum security, network speed and storage capacity 4 | Exec=/usr/lib/btsync-user/btsync-starter 5 | Icon=btsync-user 6 | Terminal=false 7 | Type=Application 8 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync-stopper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # (c) 2013 YeaSoft Int'l - Leo Moll 4 | # 5 | # This script stops and cleanup a running btsync 6 | 7 | ##################################### 8 | # variables section 9 | 10 | # compute user specific directories 11 | DESTDIR=${HOME} 12 | DATADIR=${DESTDIR}/.btsync 13 | RUNNING_STATEFILE="${DATADIR}/running" 14 | PAUSED_STATEFILE="${DATADIR}/paused" 15 | 16 | ##################################### 17 | # the main script 18 | 19 | rm -f "${RUNNING_STATEFILE}" 20 | pkill -u $(id -u) -x btsync-agent 21 | pkill -u $(id -u) -f btsyncindicator.py 22 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync-tester: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # (c) 2013 YeaSoft Int'l - Leo Moll 4 | # 5 | # This script tests if ANY btsync agents are running 6 | 7 | ##################################### 8 | # the main script 9 | if pgrep -x btsync-agent > /dev/null; then 10 | exit 1 11 | else 12 | exit 0 13 | fi 14 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync-user.conf: -------------------------------------------------------------------------------- 1 | //!/usr/lib/btsync-user/btsync-agent --config 2 | // 3 | // configuration for the btsync agent running in the 4 | // user environment 5 | { 6 | "device_name" : "DEVNAME", 7 | "pid_file" : "PIDFILE", 8 | "storage_path" : "DATADIR", 9 | "vendor" : "tuxpoldo", 10 | "display_new_version" : false, 11 | "webui" : 12 | { 13 | "listen" : "127.0.0.1:PORTNUM" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /btsync-user/scripts/btsync-user.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=BitTorrent Sync Web UI 3 | Comment=BitTorrent Sync management interface 4 | Exec=sensible-browser http://127.0.0.1:PORTNUM 5 | Icon=btsync-user 6 | Terminal=false 7 | Type=Application 8 | Categories=Network 9 | -------------------------------------------------------------------------------- /btsync/CREDITS.md: -------------------------------------------------------------------------------- 1 | btsync credits 2 | ============== 3 | 4 | The BitTorrent Server Package was written by Leo Moll 5 | 6 | ### Main Inspiration ### 7 | 8 | The main structure of this deployment was inspired by the OpenVPN package for 9 | Debian. In OpenVPN, you define your VPN instances by specifying configuration 10 | files in /etc/openvpn and so I adopted the same mechanism for BitTorrent Sync. 11 | 12 | ### Contributions ### 13 | 14 | A lot of people [in the forum][1] has contributed by reporting bugs, making 15 | suggestions and providing some eccellent ideas. 16 | 17 | With about 100.000 topic views and over 23 pages, I can only say: 18 | 19 | __THANK YOU ALL!!! THANK YOU FOR YOUR GOOD IDEAS, YOUR SUPPORT AND YOUR 20 | ENCOURAGEMENT!__ 21 | 22 | Many thanks also to Daniel Ryde for [bind.so][2] that makes it 23 | possible to bind BitTorrent Sync to a specific interface. 24 | 25 | [1]: http://forum.bittorrent.com/topic/18974-debian-and-ubuntu-server-unofficial-packages-for-bittorrent-sync/ 26 | [2]: http://www.ryde.net/code/bind.c.txt 27 | 28 | ### Localization ### 29 | 30 | The following People contributed in translating `btsync`: 31 | 32 | * Alex Novo (Russian) 33 | * Andreas Kiss (Hungarian) 34 | * Andrea Pennelli (Italian) 35 | * Damian _"xearonet"_ (Polish) 36 | * Dmitriy Lopatko (Russian) 37 | * Jasper Sierink _"knireis"_ (Dutch) 38 | * Julian _"Hennessy"_ (Chinese) 39 | * Leo Moll (German & Italian) 40 | * Marek Lukas (Czech) 41 | * Marti Segarra Casas (Catalan, Spanish) 42 | * Miguel Anxo Bouzada (Galician) 43 | * Loïc Fournet _"AnthorNet"_ (French) 44 | * Quentin Scouflaire (French) 45 | * Thanos Papaoikonomou (Greek) 46 | * Voctpr Pavlov (Russian) 47 | * Jose Luis Tirado (Spanish) 48 | 49 | -------------------------------------------------------------------------------- /btsync/debian/btsync.README.Debian: -------------------------------------------------------------------------------- 1 | btsync for Debian 2 | ----------------- 3 | 4 | See /usr/share/doc/btsync/README.md for full documentation. 5 | 6 | -- Leo Moll Mon, 07 Apr 2014 18:31:12 +0200 7 | 8 | -------------------------------------------------------------------------------- /btsync/debian/btsync.default: -------------------------------------------------------------------------------- 1 | # This is the configuration file for /etc/init.d/btsync 2 | # 3 | # Start only these btsync instances automatically via 4 | # init script. 5 | # Allowed values are "all", "none" or a space separated list of 6 | # names of the instances. If empty, "all" is assumed. 7 | # 8 | # The instance name refers to the btsync configuration file name. 9 | # i.e. "general" would be /etc/btsync/general.conf 10 | # 11 | #AUTOSTART="all" 12 | #AUTOSTART="none" 13 | #AUTOSTART="general special" 14 | # 15 | # Optional arguments to btsync's command line. Be careful! 16 | # You should only add things here if you know EXACTLY what 17 | # you are doing! 18 | DAEMON_ARGS="" 19 | # 20 | # Optional bind address for all daemons. This setting can 21 | # be overridden for each instance by specifying the 22 | # parameter as a comment in the configuration file. 23 | # NOTICE: this will work only, if bind-shim is installed 24 | #DAEMON_BIND=10.20.30.40 25 | # 26 | # 27 | # Enable this to see more output during the init script 28 | # execution 29 | #DAEMON_INIT_DEBUG=1 30 | -------------------------------------------------------------------------------- /btsync/debian/btsync.dirs: -------------------------------------------------------------------------------- 1 | # dirs 2 | etc/btsync 3 | etc/btsync/samples 4 | usr/share/btsync 5 | usr/lib/btsync 6 | var/lib/btsync 7 | -------------------------------------------------------------------------------- /btsync/debian/btsync.docs: -------------------------------------------------------------------------------- 1 | # Docs 2 | README.md 3 | CREDITS.md 4 | 5 | -------------------------------------------------------------------------------- /btsync/debian/btsync.install: -------------------------------------------------------------------------------- 1 | # files 2 | samples/simple.conf etc/btsync/samples 3 | samples/user.conf etc/btsync/samples 4 | icons/256/btsync.png usr/share/icons/hicolor/256x256/apps 5 | icons/128/btsync.png usr/share/icons/hicolor/128x128/apps 6 | icons/96/btsync.png usr/share/icons/hicolor/96x96/apps 7 | icons/64/btsync.png usr/share/icons/hicolor/64x64/apps 8 | icons/48/btsync.png usr/share/icons/hicolor/48x48/apps 9 | icons/32/btsync.png usr/share/icons/hicolor/32x32/apps 10 | icons/16/btsync.png usr/share/icons/hicolor/16x16/apps 11 | 12 | -------------------------------------------------------------------------------- /btsync/debian/btsync.links: -------------------------------------------------------------------------------- 1 | # links - src dest 2 | usr/lib/btsync-core/btsync-core usr/lib/btsync/btsync-daemon 3 | usr/share/doc/btsync-core/btsync.conf.sample etc/btsync/samples/complex.conf 4 | -------------------------------------------------------------------------------- /btsync/debian/btsync.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postrm script for btsync 3 | 4 | set -e 5 | 6 | if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then 7 | # Possibly installed desktop file 8 | if [ -f /usr/share/applications/btsync.desktop ] ; then 9 | rm -f /usr/share/applications/btsync.desktop 10 | fi 11 | # Possibly created default certificates 12 | 13 | if [ "$1" = "purge" ]; then 14 | if [ -h /etc/avahi/services/btsync.service ] ; then 15 | rm -f /etc/avahi/services/btsync.service 16 | fi 17 | rm -rf /etc/btsync /var/lib/btsync /usr/lib/btsync /usr/share/btsync 18 | fi 19 | fi 20 | 21 | #DEBHELPER# 22 | 23 | exit 0 24 | -------------------------------------------------------------------------------- /btsync/debian/btsync.preinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # preinst script for btsync 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `install' 10 | # * `install' 11 | # * `upgrade' 12 | # * `abort-upgrade' 13 | # for details, see http://www.debian.org/doc/debian-policy/ or 14 | # the debian-policy package 15 | 16 | # Source debconf library. 17 | . /usr/share/debconf/confmodule 18 | 19 | CONFFILE=/etc/btsync/debconf-default.conf 20 | DESKFILE=/usr/share/applications/btsync.desktop 21 | 22 | case "$1" in 23 | install|upgrade) 24 | ;; 25 | 26 | abort-upgrade) 27 | ;; 28 | 29 | *) 30 | echo "preinst called with unknown argument \`$1'" >&2 31 | exit 1 32 | ;; 33 | esac 34 | 35 | # dh_installdeb will replace this with shell code automatically 36 | # generated by other debhelper scripts. 37 | 38 | #DEBHELPER# 39 | 40 | exit 0 41 | -------------------------------------------------------------------------------- /btsync/debian/btsync.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prerm script for btsync 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | set -e 7 | 8 | # summary of how this script can be called: 9 | # * `remove' 10 | # * `upgrade' 11 | # * `failed-upgrade' 12 | # * `remove' `in-favour' 13 | # * `deconfigure' `in-favour' 14 | # `removing' 15 | # 16 | # for details, see http://www.debian.org/doc/debian-policy/ or 17 | # the debian-policy package 18 | 19 | # Source debconf library. 20 | . /usr/share/debconf/confmodule 21 | 22 | CONFFILE=/etc/btsync/debconf-default.conf 23 | DESKFILE=/usr/share/applications/btsync.desktop 24 | 25 | case "$1" in 26 | remove|upgrade|deconfigure) 27 | ;; 28 | 29 | failed-upgrade) 30 | ;; 31 | 32 | *) 33 | echo "prerm called with unknown argument \`$1'" >&2 34 | exit 1 35 | ;; 36 | esac 37 | 38 | # dh_installdeb will replace this with shell code automatically 39 | # generated by other debhelper scripts. 40 | 41 | #DEBHELPER# 42 | 43 | exit 0 44 | -------------------------------------------------------------------------------- /btsync/debian/btsync.triggers: -------------------------------------------------------------------------------- 1 | interest btsync-common-changed 2 | interest bind-shim-changed 3 | 4 | -------------------------------------------------------------------------------- /btsync/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /btsync/debian/control: -------------------------------------------------------------------------------- 1 | Source: btsync 2 | Section: net 3 | Priority: extra 4 | Maintainer: Leo Moll 5 | Build-Depends: debhelper (>= 7.0.50), po-debconf 6 | Standards-Version: 3.9.4 7 | Vcs-Git: https://github.com/tuxpoldo/btsync-deb.git 8 | Vcs-browser: https://github.com/tuxpoldo/btsync-deb 9 | Homepage: http://www.yeasoft.com/site/projects:btsync-deb:btsync-server 10 | 11 | Package: btsync 12 | Architecture: all 13 | Pre-Depends: debconf | debconf-2.0, adduser 14 | Depends: ${shlibs:Depends}, ${misc:Depends}, openssl, 15 | btsync-core (>= 2.4.0) 16 | Suggests: bind-shim 17 | Provides: btsync-server-daemon 18 | Description: Private network P2P file synchronisation daemon(s) 19 | BitTorrent Sync is a simple tool that applies p2p protocol for 20 | direct live folder sync with maximum security, network speed 21 | and storage capacity. It has native versions for Mac, Windows 22 | and Linux, as well as native NAS integration. 23 | . 24 | THIS PACKAGE IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT INC. 25 | PLEASE DO NOT CONTACT THE BITTORRENT INC. SUPPORT WITH 26 | QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE PACKAGES. YOU 27 | WILL FIND COMPETENT HELP AND SUPPORT IN THE RELATED DISCUSSION 28 | THREAD IN THE SUPPORT FORUM (http://goo.gl/NN4RL5) 29 | . 30 | This package installs BitTorrent Sync as a single or multiple 31 | service with or without WebUI for server/NAS deployment. 32 | 33 | -------------------------------------------------------------------------------- /btsync/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: btsync 3 | Source: http://www.bittorrent.com 4 | 5 | Files: * 6 | Copyright: 2013-2015 Leo Moll 7 | License: GPL-2+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this program. If not, see 20 | . 21 | On Debian systems, the complete text of the GNU General 22 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 23 | 24 | -------------------------------------------------------------------------------- /btsync/debian/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | [type: gettext/rfc822deb] btsync.templates 2 | -------------------------------------------------------------------------------- /btsync/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Create some helper variables without using cddb since cdbs assumes 4 | # that the makefile will be executed from the project directory but 5 | # we need this vars in target get-orig-source that MUST work from 6 | # every directory 7 | 8 | DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST))) 9 | DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 10 | | sed -rne 's,^Version: ([^-]+).*,\1,p') 11 | DEB_SOURCE_PACKAGE=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \ 12 | | sed -rne 's,^Source: (.*),\1,p') 13 | 14 | # Uncomment this to turn on verbose mode. 15 | #export DH_VERBOSE=1 16 | 17 | %: 18 | dh $@ 19 | 20 | override_dh_auto_build: 21 | dh_auto_build 22 | 23 | override_dh_clean: 24 | dh_clean 25 | 26 | get-orig-source: make-orig-source 27 | echo OK 28 | 29 | make-orig-source: 30 | if [ ! -f $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz ]; then \ 31 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 32 | mkdir -p /tmp/$(DEB_SOURCE_PACKAGE); \ 33 | cp -a $(DEB_DEBIAN_DIR)../ /tmp/$(DEB_SOURCE_PACKAGE)/; \ 34 | tar -C /tmp --exclude debian --exclude '.git*' -czf $(DEB_DEBIAN_DIR)../../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz $(DEB_SOURCE_PACKAGE); \ 35 | rm -rf /tmp/$(DEB_SOURCE_PACKAGE); \ 36 | fi 37 | -------------------------------------------------------------------------------- /btsync/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /btsync/debian/source/include-binaries: -------------------------------------------------------------------------------- 1 | debian/btsyncindicator/icons/btsync.png 2 | debian/btsyncindicator/icons/btsync-active-0.png 3 | debian/btsyncindicator/icons/btsync-active-1.png 4 | debian/btsyncindicator/icons/btsync-active-2.png 5 | debian/btsyncindicator/icons/btsync-attention.png 6 | debian/btsyncindicator/icons/btsync-error.png 7 | debian/btsyncindicator/icons/btsync-relay.png 8 | debian/btsyncindicator/icons/btsync-direct.png 9 | -------------------------------------------------------------------------------- /btsync/debian/watch: -------------------------------------------------------------------------------- 1 | # Example watch control file for uscan 2 | # Rename this file to "watch" and then you can run the "uscan" command 3 | # to check for upstream updates and more. 4 | # See uscan(1) for format 5 | 6 | # Compulsory line, this is a version 3 file 7 | version=3 8 | 9 | # Uncomment to examine a Webpage 10 | # 11 | #http://www.example.com/downloads.php syncapp-(.*)\.tar\.gz 12 | 13 | # Uncomment to examine a Webserver directory 14 | #http://www.example.com/pub/syncapp-(.*)\.tar\.gz 15 | 16 | # Uncommment to examine a FTP server 17 | #ftp://ftp.example.com/pub/syncapp-(.*)\.tar\.gz debian uupdate 18 | 19 | # Uncomment to find new files on sourceforge, for devscripts >= 2.9 20 | # http://sf.net/syncapp/syncapp-(.*)\.tar\.gz 21 | 22 | # Uncomment to find new files on GooglePages 23 | # http://example.googlepages.com/foo.html syncapp-(.*)\.tar\.gz 24 | -------------------------------------------------------------------------------- /btsync/icons/128/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/128/btsync.png -------------------------------------------------------------------------------- /btsync/icons/16/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/16/btsync.png -------------------------------------------------------------------------------- /btsync/icons/256/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/256/btsync.png -------------------------------------------------------------------------------- /btsync/icons/32/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/32/btsync.png -------------------------------------------------------------------------------- /btsync/icons/48/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/48/btsync.png -------------------------------------------------------------------------------- /btsync/icons/64/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/64/btsync.png -------------------------------------------------------------------------------- /btsync/icons/96/btsync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/btsync/icons/96/btsync.png -------------------------------------------------------------------------------- /btsync/samples/complex.conf: -------------------------------------------------------------------------------- 1 | //!/usr/lib/btsync/btsync-daemon --config 2 | // 3 | // (c) 2013-2014 BitTorrent Inc. 4 | // 5 | // This btsync configuration file features the complete set of 6 | // commented configuration directives 7 | // 8 | // Configuration parameters not parsed by btsync but by the daemon 9 | // init script can be supplied as comments in the configuration file. 10 | // 11 | // The following parameters are supported: 12 | // 13 | // DAEMON_UID: A uid for supplying the user under which 14 | // the btsync daemon should run 15 | // 16 | // DAEMON_GID: A gid for supplying the group under which 17 | // the btsync daemon should run. If omitted 18 | // the daemon will run under the primary group 19 | // of the user 20 | // 21 | // DAEMON_UMASK: The umask (up to 4 octal digits) for the 22 | // btsync daemon. If omitted the default umask 23 | // is used. 24 | // 25 | // DAEMON_DEBUG: The debug mask (4 hex digits) for the btsync 26 | // daemon. If omitted the init script will not 27 | // touch potential settings defined manually. 28 | // If set to 0000, a potential settings file 29 | // will be deleted. Full detail is set by 30 | // specifying FFFF 31 | // 32 | // DAEMON_NICE: The niceness level of the btsync daemon, which 33 | // affects process scheduling. Nicenesses range from 34 | // -20 (most favorable scheduling) to 19 (least 35 | // favorable). 36 | // 37 | // The parameter definition must use an equal sign ("="): 38 | // 39 | -------------------------------------------------------------------------------- /btsync/samples/simple.conf: -------------------------------------------------------------------------------- 1 | //!/usr/lib/btsync/btsync-daemon --config 2 | // 3 | // (c) 2013-2014 YeaSoft Int'l - Leo Moll 4 | // 5 | // This btsync configuration file provides a simple configuration 6 | // for a btsync instance running under the credentials of user root 7 | // and providing a web frontend listening on all interfaces and IP 8 | // addresses 9 | { 10 | "storage_path" : "/var/lib/btsync", 11 | "display_new_version": false, 12 | "vendor": "tuxpoldo", 13 | "webui" : 14 | { 15 | "listen" : "0.0.0.0:8888" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /btsync/samples/user.conf: -------------------------------------------------------------------------------- 1 | //!/usr/lib/btsync/btsync-daemon --config 2 | // 3 | // (c) 2013-2014 YeaSoft Int'l - Leo Moll 4 | // 5 | // This btsync configuration file shows how to configure a btsync 6 | // instance running under specific user credentials and/or how 7 | // to supply additional configuration parameters. 8 | // 9 | // Configuration parameters not parsed by btsync but by the daemon 10 | // init script can be supplied as comments in the configuration file. 11 | // 12 | // The following parameters are supported: 13 | // 14 | // DAEMON_UID: A uid for supplying the user under which 15 | // the btsync daemon should run 16 | // 17 | // DAEMON_GID: A gid for supplying the group under which 18 | // the btsync daemon should run. If omitted 19 | // the daemon will run under the primary group 20 | // of the user 21 | // 22 | // DAEMON_UMASK: The umask (up to 4 octal digits) for the 23 | // btsync daemon. If omitted the default umask 24 | // is used. 25 | // 26 | // DAEMON_DEBUG: The debug mask (4 hex digits) for the btsync 27 | // daemon. If omitted the init script will not 28 | // touch potential settings defined manually. 29 | // If set to 0000, a potential settings file 30 | // will be deleted. Full detail is set by 31 | // specifying FFFF 32 | // 33 | // DAEMON_NICE: The niceness level of the btsync daemon, which 34 | // affects process scheduling. Nicenesses range from 35 | // -20 (most favorable scheduling) to 19 (least 36 | // favorable). 37 | // 38 | // The parameter definition must use an equal sign ("="): 39 | // 40 | // DAEMON_UID=jdoe 41 | // DAEMON_UMASK=0002 42 | // 43 | // This example will launch the instance running under the credentials 44 | // of the user "jdoe" using 0002 as umask 45 | // The internal data of the btsync daemon will be written in 46 | // /home/jdoe/.btsync 47 | // Since the web gui is disabled, the user cannot configure anything. 48 | // The instance offers one replicated directory located in 49 | // /home/jdoe/syncdir 50 | // 51 | { 52 | "device_name": "John Doe's btsync Server", 53 | "listening_port" : 0, 54 | "storage_path" : "/home/jdoe/.btsync", 55 | "display_new_version": false, 56 | "vendor" : "tuxpoldo", 57 | "use_upnp" : false, 58 | "download_limit" : 0, 59 | "upload_limit" : 0, 60 | "webui" : 61 | { 62 | }, 63 | "shared_folders" : 64 | [ 65 | { 66 | "secret" : "bGTbrwreXPW4XxHEmTKnX", 67 | "dir" : "/home/jdoe/syncdir", 68 | "use_relay_server" : true, 69 | "use_dht" : false, 70 | "search_lan" : true, 71 | "use_sync_trash" : true 72 | } 73 | ] 74 | } 75 | -------------------------------------------------------------------------------- /build.cake: -------------------------------------------------------------------------------- 1 | #load "cake/functions.cake" 2 | #load "cake/objects.cake" 3 | #addin "Cake.FileHelpers" 4 | 5 | // https://download-cdn.getsync.com/stable/linux-x64/resilio-sync_x64.tar.gz 6 | 7 | // --target Clean 8 | var target = Argument("target", "Default"); 9 | // --packages btsync-common,btsync-core,btsync-gui,btsync-user,btsync 10 | var packageArgs = Argument("packages", "btsync-core,btsync").Split(','); 11 | 12 | var availablePackageProfiles = new List() 13 | { 14 | new PackageProfile { 15 | Name = "btsync-common", 16 | Arches = "i386 amd64 armel armhf powerpc".Split() 17 | }, 18 | new PackageProfile { 19 | Name = "btsync-core", 20 | Arches = "i386 amd64 armel armhf arm64".Split() 21 | }, 22 | new PackageProfile { 23 | Name = "btsync-gui", 24 | Arches = "all".Split() 25 | }, 26 | new PackageProfile { 27 | Name = "btsync-user", 28 | Arches = "all".Split() 29 | }, 30 | new PackageProfile { 31 | Name = "btsync", 32 | Arches = "all".Split() 33 | } 34 | }; 35 | 36 | var packageProfiles = availablePackageProfiles 37 | .Where(x => packageArgs.Contains(x.Name)) 38 | .ToList(); 39 | 40 | const string syncChangeLog = "http://help.getsync.com/hc/en-us/articles/206216855-Sync-2-x-change-log"; 41 | const string historyPath = "btsync-core/debian/history/changelog"; 42 | const string changelogFile = "btsync-core/debian/changelog"; 43 | 44 | Task("Update-Changelog") 45 | .Does(() => 46 | { 47 | var lastVersion = GetLastVersion(syncChangeLog); 48 | Information(string.Format("Last detected version {0}.", lastVersion.Version)); 49 | 50 | var currentHistory = FileReadText(historyPath); 51 | if(!currentHistory.Split('\n').Any(x => x.StartsWith(lastVersion.Version))) 52 | { 53 | Information("Updating history file."); 54 | currentHistory = CreateHistoryChangelog(lastVersion) + currentHistory; 55 | FileWriteText(historyPath, currentHistory); 56 | } 57 | else 58 | { 59 | Information("History file is already up-to-date."); 60 | } 61 | 62 | var currentChangelog = FileReadText(changelogFile); 63 | if(!currentChangelog.Contains("(" + lastVersion.Version)) 64 | { 65 | Information("Updating changelog file."); 66 | currentChangelog = CreateChangelog(lastVersion) + currentChangelog; 67 | FileWriteText(changelogFile, currentChangelog); 68 | } 69 | else 70 | { 71 | Information("Changelog file is already up-to-date."); 72 | } 73 | }); 74 | 75 | Task("Clean") 76 | .Does(() => 77 | { 78 | foreach(var package in packageProfiles) 79 | { 80 | Information(string.Format("Cleaning workspace of {0}.", package.Name)); 81 | CleanDebianWorkspace(package.Name, package.Arches); 82 | } 83 | }); 84 | 85 | Task("Build-Src") 86 | .IsDependentOn("Clean") 87 | .Does(() => 88 | { 89 | foreach(var package in packageProfiles) 90 | { 91 | Information(string.Format("Building source of {0}.", package.Name)); 92 | BuildDebianSrc(package.Name); 93 | } 94 | }); 95 | 96 | Task("Build-Deb") 97 | .IsDependentOn("Build-Src") 98 | .Does(() => 99 | { 100 | foreach(var package in packageProfiles) 101 | { 102 | Information(string.Format("Building Debian package for {0}.", package.Name)); 103 | BuildDebianPackage(package.Name, package.Arches); 104 | } 105 | }); 106 | 107 | Task("Default") 108 | .IsDependentOn("Update-Changelog"); 109 | 110 | RunTarget(target); 111 | -------------------------------------------------------------------------------- /build.ps1: -------------------------------------------------------------------------------- 1 | ########################################################################## 2 | # This is the Cake bootstrapper script for PowerShell. 3 | # This file was downloaded from https://github.com/cake-build/resources 4 | # Feel free to change this file to fit your needs. 5 | ########################################################################## 6 | 7 | <# 8 | 9 | .SYNOPSIS 10 | This is a Powershell script to bootstrap a Cake build. 11 | 12 | .DESCRIPTION 13 | This Powershell script will download NuGet if missing, restore NuGet tools (including Cake) 14 | and execute your Cake build script with the parameters you provide. 15 | 16 | .PARAMETER Script 17 | The build script to execute. 18 | .PARAMETER Target 19 | The build script target to run. 20 | .PARAMETER Configuration 21 | The build configuration to use. 22 | .PARAMETER Verbosity 23 | Specifies the amount of information to be displayed. 24 | .PARAMETER Experimental 25 | Tells Cake to use the latest Roslyn release. 26 | .PARAMETER WhatIf 27 | Performs a dry run of the build script. 28 | No tasks will be executed. 29 | .PARAMETER Mono 30 | Tells Cake to use the Mono scripting engine. 31 | .PARAMETER SkipToolPackageRestore 32 | Skips restoring of packages. 33 | .PARAMETER ScriptArgs 34 | Remaining arguments are added here. 35 | 36 | .LINK 37 | http://cakebuild.net 38 | 39 | #> 40 | 41 | [CmdletBinding()] 42 | Param( 43 | [string]$Script = "build.cake", 44 | [string]$Target = "Default", 45 | [ValidateSet("Release", "Debug")] 46 | [string]$Configuration = "Release", 47 | [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] 48 | [string]$Verbosity = "Verbose", 49 | [switch]$Experimental, 50 | [Alias("DryRun","Noop")] 51 | [switch]$WhatIf, 52 | [switch]$Mono, 53 | [switch]$SkipToolPackageRestore, 54 | [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] 55 | [string[]]$ScriptArgs 56 | ) 57 | 58 | [Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null 59 | function MD5HashFile([string] $filePath) 60 | { 61 | if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf)) 62 | { 63 | return $null 64 | } 65 | 66 | [System.IO.Stream] $file = $null; 67 | [System.Security.Cryptography.MD5] $md5 = $null; 68 | try 69 | { 70 | $md5 = [System.Security.Cryptography.MD5]::Create() 71 | $file = [System.IO.File]::OpenRead($filePath) 72 | return [System.BitConverter]::ToString($md5.ComputeHash($file)) 73 | } 74 | finally 75 | { 76 | if ($file -ne $null) 77 | { 78 | $file.Dispose() 79 | } 80 | } 81 | } 82 | 83 | Write-Host "Preparing to run build script..." 84 | 85 | if(!$PSScriptRoot){ 86 | $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent 87 | } 88 | 89 | $TOOLS_DIR = Join-Path $PSScriptRoot "tools" 90 | $NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" 91 | $CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" 92 | $NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" 93 | $PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" 94 | $PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum" 95 | 96 | # Should we use mono? 97 | $UseMono = ""; 98 | if($Mono.IsPresent) { 99 | Write-Verbose -Message "Using the Mono based scripting engine." 100 | $UseMono = "-mono" 101 | } 102 | 103 | # Should we use the new Roslyn? 104 | $UseExperimental = ""; 105 | if($Experimental.IsPresent -and !($Mono.IsPresent)) { 106 | Write-Verbose -Message "Using experimental version of Roslyn." 107 | $UseExperimental = "-experimental" 108 | } 109 | 110 | # Is this a dry run? 111 | $UseDryRun = ""; 112 | if($WhatIf.IsPresent) { 113 | $UseDryRun = "-dryrun" 114 | } 115 | 116 | # Make sure tools folder exists 117 | if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { 118 | Write-Verbose -Message "Creating tools directory..." 119 | New-Item -Path $TOOLS_DIR -Type directory | out-null 120 | } 121 | 122 | # Make sure that packages.config exist. 123 | if (!(Test-Path $PACKAGES_CONFIG)) { 124 | Write-Verbose -Message "Downloading packages.config..." 125 | try { (New-Object System.Net.WebClient).DownloadFile("http://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { 126 | Throw "Could not download packages.config." 127 | } 128 | } 129 | 130 | # Try find NuGet.exe in path if not exists 131 | if (!(Test-Path $NUGET_EXE)) { 132 | Write-Verbose -Message "Trying to find nuget.exe in PATH..." 133 | $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_ -PathType Container) } 134 | $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1 135 | if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) { 136 | Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)." 137 | $NUGET_EXE = $NUGET_EXE_IN_PATH.FullName 138 | } 139 | } 140 | 141 | # Try download NuGet.exe if not exists 142 | if (!(Test-Path $NUGET_EXE)) { 143 | Write-Verbose -Message "Downloading NuGet.exe..." 144 | try { 145 | (New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE) 146 | } catch { 147 | Throw "Could not download NuGet.exe." 148 | } 149 | } 150 | 151 | # Save nuget.exe path to environment to be available to child processed 152 | $ENV:NUGET_EXE = $NUGET_EXE 153 | 154 | # Restore tools from NuGet? 155 | if(-Not $SkipToolPackageRestore.IsPresent) { 156 | Push-Location 157 | Set-Location $TOOLS_DIR 158 | 159 | # Check for changes in packages.config and remove installed tools if true. 160 | [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG) 161 | if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or 162 | ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) { 163 | Write-Verbose -Message "Missing or changed package.config hash..." 164 | Remove-Item * -Recurse -Exclude packages.config,nuget.exe 165 | } 166 | 167 | Write-Verbose -Message "Restoring tools from NuGet..." 168 | $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`"" 169 | 170 | if ($LASTEXITCODE -ne 0) { 171 | Throw "An error occured while restoring NuGet tools." 172 | } 173 | else 174 | { 175 | $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII" 176 | } 177 | Write-Verbose -Message ($NuGetOutput | out-string) 178 | Pop-Location 179 | } 180 | 181 | # Make sure that Cake has been installed. 182 | if (!(Test-Path $CAKE_EXE)) { 183 | Throw "Could not find Cake.exe at $CAKE_EXE" 184 | } 185 | 186 | # Start Cake 187 | Write-Host "Running build script..." 188 | Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs" 189 | exit $LASTEXITCODE -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ########################################################################## 4 | # This is the Cake bootstrapper script for Linux and OS X. 5 | # This file was downloaded from https://github.com/cake-build/resources 6 | # Feel free to change this file to fit your needs. 7 | ########################################################################## 8 | 9 | # Define directories. 10 | SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 11 | TOOLS_DIR=$SCRIPT_DIR/tools 12 | NUGET_EXE=$TOOLS_DIR/nuget.exe 13 | CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe 14 | PACKAGES_CONFIG=$TOOLS_DIR/packages.config 15 | PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum 16 | 17 | # Define md5sum or md5 depending on Linux/OSX 18 | MD5_EXE= 19 | if [[ "$(uname -s)" == "Darwin" ]]; then 20 | MD5_EXE="md5 -r" 21 | else 22 | MD5_EXE="md5sum" 23 | fi 24 | 25 | # Define default arguments. 26 | SCRIPT="build.cake" 27 | TARGET="Default" 28 | CONFIGURATION="Release" 29 | VERBOSITY="verbose" 30 | DRYRUN= 31 | SHOW_VERSION=false 32 | SCRIPT_ARGUMENTS=() 33 | 34 | # Parse arguments. 35 | for i in "$@"; do 36 | case $1 in 37 | -s|--script) SCRIPT="$2"; shift ;; 38 | -t|--target) TARGET="$2"; shift ;; 39 | -c|--configuration) CONFIGURATION="$2"; shift ;; 40 | -v|--verbosity) VERBOSITY="$2"; shift ;; 41 | -d|--dryrun) DRYRUN="-dryrun" ;; 42 | --version) SHOW_VERSION=true ;; 43 | --) shift; SCRIPT_ARGUMENTS+=("$@"); break ;; 44 | *) SCRIPT_ARGUMENTS+=("$1") ;; 45 | esac 46 | shift 47 | done 48 | 49 | # Make sure the tools folder exist. 50 | if [ ! -d "$TOOLS_DIR" ]; then 51 | mkdir "$TOOLS_DIR" 52 | fi 53 | 54 | # Make sure that packages.config exist. 55 | if [ ! -f "$TOOLS_DIR/packages.config" ]; then 56 | echo "Downloading packages.config..." 57 | curl -Lsfo "$TOOLS_DIR/packages.config" http://cakebuild.net/download/bootstrapper/packages 58 | if [ $? -ne 0 ]; then 59 | echo "An error occured while downloading packages.config." 60 | exit 1 61 | fi 62 | fi 63 | 64 | # Download NuGet if it does not exist. 65 | if [ ! -f "$NUGET_EXE" ]; then 66 | echo "Downloading NuGet..." 67 | curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe 68 | if [ $? -ne 0 ]; then 69 | echo "An error occured while downloading nuget.exe." 70 | exit 1 71 | fi 72 | fi 73 | 74 | # Restore tools from NuGet. 75 | pushd "$TOOLS_DIR" >/dev/null 76 | if [ ! -f $PACKAGES_CONFIG_MD5 ] || [ "$( cat $PACKAGES_CONFIG_MD5 | sed 's/\r$//' )" != "$( $MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' )" ]; then 77 | find . -type d ! -name . | xargs rm -rf 78 | fi 79 | 80 | mono "$NUGET_EXE" install -ExcludeVersion 81 | if [ $? -ne 0 ]; then 82 | echo "Could not restore NuGet packages." 83 | exit 1 84 | fi 85 | 86 | $MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' >| $PACKAGES_CONFIG_MD5 87 | 88 | popd >/dev/null 89 | 90 | # Make sure that Cake has been installed. 91 | if [ ! -f "$CAKE_EXE" ]; then 92 | echo "Could not find Cake.exe at '$CAKE_EXE'." 93 | exit 1 94 | fi 95 | 96 | # Start Cake 97 | if $SHOW_VERSION; then 98 | exec mono "$CAKE_EXE" -version 99 | else 100 | exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -configuration=$CONFIGURATION -target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}" 101 | fi -------------------------------------------------------------------------------- /cake/deploy_rsa.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/cake/deploy_rsa.enc -------------------------------------------------------------------------------- /cake/deploy_rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/ulrxQg7ao1KYN5YmYiv3DfjqfHZt6ijLlCjcVceOFiKE9vb3Zsiy8yCRKLWzRJ+x8G0Wk7q1qAVWI7n+/uDC6vE1+5kUoIoLDj/NWW6OzocFZR0j15Bs0yk2S78P7zjgrX4v8sKRLmpzHrtCqlmOdpbAokg5V8lzHzSnvzdEkY3VJTOhKF6QWvIu8EV0HqmHgukdy9Ykp8RI98K63A7GH2JCf2i21ZpsoCapFC92TbrlEHG86lHh/nUnv7r93THFYuiW15NpLe1SQ21PFseKVsDuCEyJXrJ/hzLdrfqRdJo3M6UrA8HE5Mgi7+ZaJfSvLJbvnptvfJ4AF5LKNDiM0tIOM/WusvWayK6z0bjM6d1Mc4FnJeWvUUwCcA1vkNhNm55CCpUU4WfOLFmF2AbM7ZJWha3ZW4RaylQ8ExY4TA+GUWp94Qb6oX73XrJXzGrlexX9jcuWkYsJd3mYK58e6aP62WsR/XNkYKJdZ4sFmoQnCc4khkHPyQkT1MfEtPq2rn85W4DmpY+pvGDVvsGpW7N+6GG05jcXi6Ac8bzGfELts33V/Ks5tBqTdY+9RndwUZMGudQLPidaWubkqzHP92utLglBX3t/yH+gS2132GjAwNWswtCfJJp1jL9+9f8SZczBHswcGHQN34SwdZMjH0d1jJGdp5p3TV3rBZhSvw== btsync-deb@travis-ci.org 2 | -------------------------------------------------------------------------------- /cake/functions.cake: -------------------------------------------------------------------------------- 1 | #addin nuget:?package=HtmlAgilityPack 2 | #reference "tools/Addins/HtmlAgilityPack/lib/Net45/HtmlAgilityPack.dll" 3 | using HtmlAgilityPack; 4 | using System.Text.RegularExpressions; 5 | 6 | const string maintainer = "Mark Lopez (Authority) "; 7 | 8 | IEnumerable GetVersions(string url) 9 | { 10 | const string delimiter = "`"; 11 | 12 | var webClient = new HtmlWeb(); 13 | var versionsPage = webClient.Load(url); 14 | 15 | var versionNodes = versionsPage.DocumentNode 16 | .SelectNodes("//*/body/main/div/div/article/div/div[1]/p/strong"); 17 | 18 | var textNodes = versionsPage.DocumentNode 19 | .SelectNodes("//*/body/main/div/div/article/div/div[1]"); 20 | 21 | if (versionNodes == null || textNodes == null || textNodes.Count() == 0) 22 | { 23 | throw new Exception("Changelog format changed!"); 24 | } 25 | 26 | var versions = versionNodes.Select(x => x.InnerText.Trim()).ToList(); 27 | var nodes = RecurseTextNodes(textNodes[0]); 28 | var text = string.Join("\n", nodes); 29 | 30 | // Cleanup formating 31 | text = text 32 | .Replace(delimiter, "'") 33 | .Replace(" ", " ") 34 | .Replace(""", "\"") 35 | .Replace("“", "\"") 36 | .Replace("”", "\"") 37 | .Replace("\n\n", "\n") 38 | .Replace("\u200B", "") 39 | .Replace("​", "") 40 | .Replace("'", "'"); 41 | 42 | // Split on versions 43 | foreach (var version in versions) 44 | { 45 | text = Regex.Replace(text, string.Format("\n[\\w| ]*{0}", version), delimiter); 46 | } 47 | 48 | // And cleanup 49 | var logs = text 50 | .Split(delimiter[0]) 51 | .Select(x => x.Trim()) 52 | .Where(x => !string.IsNullOrWhiteSpace(x)) 53 | .ToList(); 54 | 55 | // Return version objects 56 | for (var i = 0; i < Math.Min(versions.Count, 5); i++) 57 | { 58 | var version = versions[i]; 59 | var body = logs[i]; 60 | yield return new Release 61 | { 62 | Changes = body, 63 | Version = version 64 | }; 65 | } 66 | } 67 | 68 | public IEnumerable RecurseTextNodes(HtmlNode node) 69 | { 70 | if (node.ChildNodes.Count == 0) 71 | { 72 | yield return node.InnerText; 73 | yield break; 74 | } 75 | 76 | foreach (var child in node.ChildNodes) 77 | { 78 | foreach (var r in RecurseTextNodes(child)) 79 | { 80 | yield return r; 81 | } 82 | } 83 | } 84 | 85 | public Release GetLastVersion(string url) 86 | { 87 | var lastVerson = GetVersions(url) 88 | .OrderByDescending(x => x.Version) 89 | .First(); 90 | return lastVerson; 91 | } 92 | 93 | public string CreateHistoryChangelog(Release release) 94 | { 95 | var changelog = 96 | string.Format("{0} ({1})", release.Version, DateTime.Today.ToString("MM-dd-yy")) 97 | + Environment.NewLine 98 | + Environment.NewLine 99 | + release.Changes 100 | + Environment.NewLine 101 | + Environment.NewLine; 102 | 103 | return changelog; 104 | } 105 | 106 | public string CreateChangelog(Release release) 107 | { 108 | var changelog = 109 | string.Format("btsync-core ({0}-1.0) unstable; urgency=medium", release.Version) 110 | + Environment.NewLine 111 | + Environment.NewLine 112 | + " * Non-maintainer upload." 113 | + Environment.NewLine 114 | + " * New upstream release." 115 | + Environment.NewLine 116 | + Environment.NewLine 117 | + string.Format(" -- {0} {1}", "Mark Lopez (Authority) ", DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss zz00")) 118 | + Environment.NewLine 119 | + Environment.NewLine; 120 | 121 | return changelog; 122 | } 123 | 124 | void Run(string exe, string args, string path = "") 125 | { 126 | var settings = new ProcessSettings 127 | { 128 | Arguments = args, 129 | WorkingDirectory = path 130 | }; 131 | var exitCode = StartProcess(exe, settings); 132 | if(exitCode != 0) 133 | { 134 | throw new Exception("Process did not succeed."); 135 | } 136 | } 137 | 138 | string PackageToPath(string package) 139 | { 140 | return string.Format("./{0}", package); 141 | } 142 | 143 | void CleanDebianWorkspace(string package, params string[] arches) 144 | { 145 | var path = PackageToPath(package); 146 | Run("debuild", "clean", path); 147 | DeleteFiles(string.Format("./{0}*.build", package)); 148 | DeleteFiles(string.Format("./{0}*.changes", package)); 149 | DeleteFiles(string.Format("./{0}*.deb", package)); 150 | DeleteFiles(string.Format("./{0}*.dsc", package)); 151 | DeleteFiles(string.Format("./{0}*.tar.gz", package)); 152 | } 153 | 154 | void BuildDebianPackage(string package, params string[] arches) 155 | { 156 | Information("Extracting source."); 157 | var extractOptions = string.Format("-c \"tar xvf {0}_*.orig.tar.gz -C ./\"", package); 158 | Run("bash", extractOptions, "./"); 159 | 160 | var path = PackageToPath(package); 161 | foreach(var arch in arches) 162 | { 163 | Information(string.Format("Building for arch {0}.", arch)); 164 | var options = (arch == "all") 165 | ? "-uc -us -b" 166 | : "-uc -us -b -a" + arch; 167 | Run("debuild", options, path); 168 | } 169 | } 170 | 171 | void BuildDebianSrc(string package) 172 | { 173 | var path = PackageToPath(package); 174 | Run(path + "/debian/rules", "get-orig-source", path); 175 | Run("debuild", "-S -sa -uc -us", path); 176 | } 177 | -------------------------------------------------------------------------------- /cake/objects.cake: -------------------------------------------------------------------------------- 1 | public class PackageProfile 2 | { 3 | public string Name { get; set; } 4 | public string[] Arches { get; set; } 5 | } 6 | 7 | public class Release 8 | { 9 | public string Version { get; set; } 10 | public string Changes { get; set; } 11 | } 12 | -------------------------------------------------------------------------------- /deps.md: -------------------------------------------------------------------------------- 1 | ``` 2 | apt-get install build-essential devscripts debhelper intltool 3 | ``` -------------------------------------------------------------------------------- /docs/forum-topic-btsync-gui-alpha.txt: -------------------------------------------------------------------------------- 1 | Ladies and Gentlemen! 2 |   3 | I'm pleased to announce, that the waiting is over! The alpha test of [font='courier new', courier, monospace][b]btsync-gui[/b][/font] starts today. I will not spend many words. I prefer to let speak the images: 4 |   5 | [i][img=http://s6.postimg.org/855mfvgtt/btsync_gui_1.png][/i] 6 | [i]Figure 1: The indicator part[/i] 7 |   8 | [i][img=http://s6.postimg.org/azzvkeacx/btsync_gui_2.png][/i] 9 | [i]Figure 2: Adding a shared folder[/i] 10 |   11 | [i][img=http://s6.postimg.org/faejfzfg1/btsync_gui_3.png][/i] 12 | [i]Figure 3: Connect mobile device[/i] 13 |   14 | [i][img=http://s6.postimg.org/63w8spa7l/btsync_gui_4.png][/i] 15 | [i]Figure 4: Manage folder preferences[/i] 16 |   17 | [i][img=http://s6.postimg.org/yut2irg1d/btsync_gui_5.png][/i] 18 | [i]Figure 5: Manage application preferences[/i] 19 |   20 | [img=http://s6.postimg.org/a4ckwffg1/btsync_gui_6.png] 21 | [i]Figure 6: Show connected devices status[/i] 22 |   23 | [b]OBLIGATORY DISCLAIMER:[/b] 24 |   25 | [color=#ff0000][b]THIS APPLICATION IS UNOFFICIAL AND NOT THE WORK OF BITTORRENT® INC. PLEASE DO NOT CONTACT THE BITTORRENT® INC. SUPPORT WITH QUESTIONS OR PROBLEMS RELATED TO THE USE OF THE APPLICATION. YOU WILL FIND COMPETENT HELP AND SUPPORT IN THIS THREAD[/b][/color] 26 |   27 | [b]AUDIENCE:[/b] 28 |   29 | Since the software has never been tested by anyone but me, only experienced linux user should participate in this alpha test during the first weeks... 30 |   31 | [b]COMPATIBILITY:[/b] 32 |   33 | Currently the application has been tested by me on the following distributions: 34 | [LIST] 35 | [*]Debian Wheezy with Gnome Desktop[/*] 36 | [*]Ubuntu Raring 13.04 with Unity Desktop[/*] 37 | [*]Linux Mint Petra with Cinnamon Desktop[/*] 38 | [/LIST] 39 | Other users have reported successful installations on: 40 | [LIST] 41 | [*]Xubuntu 13.10 with OpenBox+Tint2[/*] 42 | [*]Debian Jessie with KDE[/*] 43 | [*]Ubuntu 14.04 with Cinnamon[/*] 44 | [/LIST] 45 | Now it's up to you to test it and give me lots of feedback in order to extend this list. 46 |   47 | [b]FEATURES:[/b] 48 |   49 | The application aims to be a clone of the GUI on Windows and Mac OSX and to replace on long term the package [font='courier new', courier, monospace][b]btsync-user[/b][/font]. This alpha release offers the minimum feature set needed to work with BitTorrent Sync. The following features are still [b]not implemented[/b]: 50 | [LIST=1] 51 | [*]Editing of predefined hosts[/*] 52 | [*]Creation of one time secrets (I still have no idea how to implement it...)[/*] 53 | [*]GUI is still only available in English[/*] 54 | [*][s]The whole "Devices" tab[/s][/*] 55 | [*]The whole "Transfers" tab[/*] 56 | [*]The whole "History" tab[/*] 57 | [/LIST] 58 | [b]All the other features should work.[/b] 59 |   60 | [b]HOW TO INSTALL:[/b] 61 |   62 | If you have already added one of the Debian/Ubuntu repositories [url=http://forum.bittorrent.com/topic/19560-debian-and-ubuntu-desktop-unofficial-packages-for-bittorrent-sync/][b]following the instructions in this post[/b][/url], you have only to add the following additional lines to the source definition file: 63 |   64 | 65 | 66 | [code=auto:0]deb http://debian.yeasoft.net/btsync experimental main 67 | deb-src http://debian.yeasoft.net/btsync experimental main 68 | [/code] 69 |   70 | Then you should update your package index: 71 |   72 | [code=auto:0]sudo apt-get update 73 | [/code] 74 |   75 | After updating the package index, you can install btsync-gui with: 76 |   77 | [code=auto:0]sudo apt-get install btsync-gui 78 | [/code] 79 |   80 | or 81 |   82 | [code=auto:0]sudo apt-get install btsync-gui-gtk 83 | [/code] 84 |   85 | if you do not want to use [font='courier new', courier, monospace][b]libappindicator[/b][/font] - but you can do this only if you are using a GTK based desktop like Gnome on Debian. [b]THIS WILL DEFINITIVELY NOT WORK WITH DESKTOPS LIKE UNITY[/b]! If you are in doubt, install [font='courier new', courier, monospace][b]btsync-gui[/b][/font] - this will work for sure! 86 |   87 | The application will replace [b]btsync-user[/b] (if installed) without losing the already configured folder shares. 88 |   89 | [b]WANTED:[/b] 90 |   91 | Maintainers for other Linux distributions able to write a suitable packaging for their favourite distribution: 92 | [LIST] 93 | [*]Centos/RHEL (rpm)[/*] 94 | [*]Fedora (rpm)[/*] 95 | [*]SLES(rpm)[/*] 96 | [*]Arch Linux[/*] 97 | [*]Gentoo[/*] 98 | [/LIST] 99 | [b]SOURCES:[/b] 100 |   101 | The sources of the project are [url=https://github.com/tuxpoldo/btsync-deb][b]hosted on GitHub[/b][/url]. 102 | -------------------------------------------------------------------------------- /docs/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxpoldo/btsync-deb/c35f10f1502db8308d90c49663f1de826d601003/docs/images/icon.png -------------------------------------------------------------------------------- /docs/images/icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/sample.conf.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "device_name": "My Sync Device", 4 | // "listening_port" : 0, // 0 - randomize port 5 | 6 | /* storage_path dir contains auxilliary app files if no storage_path field: .sync dir created in current working directory */ 7 | // "storage_path" : "/home/user/.sync", 8 | 9 | /* set location of pid file */ 10 | // "pid_file" : "/var/run/resilio/resilio.pid", 11 | 12 | /* use UPnP for port mapping */ 13 | "use_upnp" : true, 14 | 15 | /* limits in kB/s. 0 - no limit */ 16 | "download_limit" : 0, 17 | "upload_limit" : 0, 18 | 19 | /* proxy configuration */ 20 | // "proxy_type" : "socks4", // Valid types: "socks4", "socks5", "http_connect". Any other value means no proxy 21 | // "proxy_addr" : "192.168.1.2", // IP address of proxy server. 22 | // "proxy_port" : 1080, 23 | // "proxy_auth" : false, // Use authentication for proxy. Note: only username/password for socks5 (RFC 1929) is supported, and it is not really secure 24 | // "proxy_username" : "user", 25 | // "proxy_password" : "password", 26 | 27 | /* directory_root path defines where the WebUI Folder browser starts (linux only). Default value is / */ 28 | // "directory_root" : "/home/user/MySharedFolders/", 29 | 30 | /* directory_root_policy defines how directory_root is used (linux only). 31 | Valid values are: 32 | "all" - accepts directory_root and its subdirectories for 'getdir' and 'adddir' actions 33 | "belowroot" - accepts directory_root's subdirectories for 'getdir' and 'adddir' actions, 34 | but denies attempts to use 'adddir' to create directories directly within directory_root 35 | Default value is "all". */ 36 | // "directory_root_policy" : "all", 37 | 38 | "webui" : 39 | { 40 | "listen" : "0.0.0.0:8888" // remove field to disable WebUI 41 | 42 | /* preset credentials. Use password or password_hash */ 43 | // ,"login" : "admin" 44 | // ,"password" : "password" 45 | // ,"password_hash" : "some_hash" // password hash in crypt(3) format 46 | // ,"allow_empty_password" : false // Defaults to true 47 | /* ssl configuration */ 48 | // ,"force_https" : true // disable http 49 | // ,"ssl_certificate" : "/path/to/cert.pem" 50 | // ,"ssl_private_key" : "/path/to/private.key" 51 | 52 | /* dir_whitelist defines which directories can be shown to user or have folders added (linux only) 53 | relative paths are relative to directory_root setting */ 54 | // ,"dir_whitelist" : [ "/home/user/MySharedFolders/personal", "work" ] 55 | } 56 | 57 | /* !!! if you set shared folders in config file WebUI will be DISABLED !!! 58 | shared directories specified in config file override the folders previously added from WebUI. */ 59 | /*, 60 | "shared_folders" : 61 | [ 62 | { 63 | "secret" : "MY_SECRET_1", // required field - use --generate-secret in command line to create new secret 64 | "dir" : "/home/user/resilio/sync_test", // * required field 65 | "use_relay_server" : true, // use relay server when direct connection fails 66 | "use_tracker" : true, 67 | "search_lan" : true, 68 | "use_sync_trash" : true, // enable SyncArchive to store files deleted on remote devices 69 | "overwrite_changes" : false, // restore modified files to original version, ONLY for Read-Only folders 70 | "selective_sync" : false, // add folder in selective sync mode 71 | "known_hosts" : // specify hosts to attempt connection without additional search 72 | [ 73 | "192.168.1.2:44444" 74 | ] 75 | } 76 | ] 77 | */ 78 | 79 | /* Advanced preferences can be added to config file. Info is available at "http://help.getsync.com/customer/portal/articles/1902048-sync-advanced-preferences--more-options" 80 | For example see folder_rescan_interval below */ 81 | //, "folder_rescan_interval" : "86400" 82 | 83 | } 84 | -------------------------------------------------------------------------------- /docs/site-page-btsync-gui-images.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Figure 1: The indicator part 4 |
5 |
6 | Figure 2: Adding a shared folder 7 |
8 |
9 | Figure 3: Connect mobile device 10 |
11 |
12 | 13 |
14 |
15 | Figure 4: Manage folder preferences 16 |
17 |
18 | Figure 5: Manage application preferences 19 |
20 |
21 | Figure 6: Show connected devices status 22 |
23 | 24 |
25 | 26 | 27 |
28 |
29 | Figure 1: The indicator part 30 |
31 |
32 | Figure 2: Adding a shared folder 33 |
34 |
35 | Figure 3: Connect mobile device 36 |
37 |
38 | 39 |
40 |
41 | Figure 4: Manage folder preferences 42 |
43 |
44 | Figure 5: Manage application preferences 45 |
46 |
47 | Figure 6: Show connected devices status 48 |
49 |
50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /docs/site-page-repo.md: -------------------------------------------------------------------------------- 1 | Adding the BitTorrent Sync Repositories 2 | ======================================= 3 | 4 | Debian and Debian based distributions (Linux Min, Ubuntu, Linspire, Xandros and 5 | Mepis to name a few) use a tool called APT (Advanced Packaging Tool) to manage 6 | all software on the system. The term _"package"_ refers to an individual file 7 | with a `.deb` extension that contains either all or part of an application. 8 | 9 | Your distribution comes with some default repositories that are already setup, 10 | but these contain only the software officially distributed by the creator of 11 | your distribution. In order to install the btsync packages, you have to add the 12 | specific repositories where btsync is hosted. 13 | 14 | Install the Repository 15 | ---------------------- 16 | 17 | The most easy and fast way to install the repository is to paste that at a 18 | terminal prompt: 19 | 20 | ```bash 21 | sh -c "$(curl -fsSL http://debian.yeasoft.net/add-btsync-repository.sh)" 22 | ``` 23 | 24 | The script explains what it will do and then pauses before it does it asking 25 | for your permission. 26 | 27 | After this, you can directly proceed to the installation. 28 | 29 | 30 | ### Alternative Manual Installation ### 31 | 32 | If you prefer to perform all the steps manually because you really want to 33 | understand what the script is doing, you can also install the repository 34 | manually. The procedure is described hereunder: 35 | 36 | The btsync packages are all signed with a key in order to guarantee their 37 | authenticity. Before using the repository, you should add the key to the 38 | package manager. To do that, run the following command: 39 | 40 | ```bash 41 | `which sudo` apt-key adv --keyserver keys.gnupg.net --recv-keys 6BF18B15 42 | ``` 43 | 44 | On success you should see an output like this: 45 | 46 | ``` 47 | gpg: requesting key 6BF18B15 from hkp server keys.gnupg.net 48 | gpg: key 6BF18B15: public key "Leo Moll " imported 49 | gpg: no ultimately trusted keys found 50 | gpg: Total number processed: 1 51 | gpg: imported: 1 52 | ``` 53 | 54 | Now you can easily add the package sources, by executing the following commands: 55 | 56 | ```bash 57 | CODENAME=$(lsb_release -cs | sed -n '/lucid\|precise\|quantal\|raring\|saucy\|trusty\|squeeze\|wheezy\|jessie\|sid/p') 58 | echo deb http://debian.yeasoft.net/btsync ${CODENAME:-unstable} main > ~/btsync.list 59 | echo deb-src http://debian.yeasoft.net/btsync ${CODENAME:-unstable} main >> ~/btsync.list 60 | unset CODENAME 61 | `which sudo` mv ~/btsync.list /etc/apt/sources.list.d/btsync.list 62 | `which sudo` chown root:root /etc/apt/sources.list.d/btsync.list 63 | `which sudo` apt-get update 64 | ``` 65 | 66 | After this, you can directly proceed to the installation. 67 | 68 | ### Alternative for Ubuntu ### 69 | 70 | __If you are using Ubuntu__, you may also use the Launchpad PPA instead of the 71 | default repositories but this has __some relevant disadvantages:__ 72 | 73 | - The PPA only supports Ubuntu versions that are supported (currently lucid, 74 | precise, quantal, saucy and trusty) 75 | - The PPA only supports the __i386__ and __amd64__ architectures 76 | - Often it takes some hours for the packages to be published 77 | 78 | If you are OK with this, you can add the Launchpad PPA by issuing the following 79 | commands: 80 | 81 | ```bash 82 | `which sudo` add-apt-repository ppa:tuxpoldo/btsync 83 | `which sudo` apt-get update 84 | ``` 85 | 86 | After this, you can [directly proceed to the installation](http://www.yeasoft.com/site/projects:btsync-deb). 87 | 88 | -------------------------------------------------------------------------------- /make-all-debs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | SOURCES="btsync-common btsync-core btsync-gui btsync-user btsync" 6 | 7 | [ -n "$1" ] && SOURCES="$1" 8 | 9 | function enter_build() { 10 | pushd $1 11 | trap exit_build INT QUIT TERM EXIT 12 | } 13 | 14 | function exit_build() { 15 | trap - INT QUIT TERM EXIT 16 | popd 17 | } 18 | 19 | for SRCDIR in ${SOURCES}; do 20 | if [ -d ${SRCDIR} ]; then 21 | enter_build ${SRCDIR} 22 | # make binary targets 23 | if [ "${SRCDIR}" != "btsync-common" -a "${SRCDIR}" != "btsync-core" ]; then 24 | debuild clean 25 | debuild -uc -us -b 26 | rm -f ../*all.build 27 | rm -f ../*all.changes 28 | else 29 | tar xvf ../${SRCDIR}_*.orig.tar.gz -C ../ 30 | 31 | ARCHS="i386 amd64 armel armhf powerpc" 32 | [ "${SRCDIR}" == "btsync-core" ] && ARCHS="i386 amd64 armel armhf" 33 | 34 | for destarch in ${ARCHS}; do 35 | debuild clean 36 | debuild -uc -us -b -a${destarch} 37 | rm -f ../*${destarch}.build 38 | rm -f ../*${destarch}.changes 39 | done 40 | fi 41 | # cleanup garbage 42 | debuild clean 43 | # return 44 | exit_build 45 | else 46 | echo ERROR: source tree ${SRCDIR} not found >&2 47 | fi 48 | done 49 | 50 | set +e 51 | -------------------------------------------------------------------------------- /make-all-srcs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | SOURCES="bind-shim btsync-common btsync-core btsync-user btsync-gui btsync" 6 | 7 | [ -n "$1" ] && SOURCES="$1" 8 | 9 | function enter_build() { 10 | pushd $1 11 | trap exit_build INT QUIT TERM EXIT 12 | } 13 | 14 | function exit_build() { 15 | trap - INT QUIT TERM EXIT 16 | popd 17 | } 18 | 19 | for SRCDIR in ${SOURCES}; do 20 | if [ -d ${SRCDIR} ]; then 21 | enter_build ${SRCDIR} 22 | # clean up garbage 23 | debuild clean 24 | # make sure the orig archive exists 25 | debian/rules get-orig-source 26 | # make source target 27 | debuild -S -sa -uc -us 28 | # cleanup garbage 29 | debuild clean 30 | # return 31 | exit_build 32 | else 33 | echo ERROR: source tree ${SRCDIR} not found >&2 34 | fi 35 | done 36 | 37 | set +e 38 | -------------------------------------------------------------------------------- /tools/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /upload-ppa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for dist in trusty; do 4 | git reset --hard && git clean -f -d -x 5 | find . -name "changelog" -type f -print0 | xargs -0 sed -i 's/unstable;/trusty;/g' 6 | bash make-all-srcs.sh 7 | for file in *.changes; do ; dput ppa:silvenga/btsync $file ; done; 8 | done 9 | --------------------------------------------------------------------------------