Giter Club home page Giter Club logo

tarsnap-gui's Introduction

Client code for Tarsnap

Tarsnap is a secure, efficient online backup service: "Online backups for the truly paranoid".

❗ We strongly recommend that people follow the installation instructions at https://www.tarsnap.com/download.html to use an official release.

This repository is intended for developers who may wish to watch changes in progress, investigate bugs, or test new (unreleased) features.

News

A list of major changes in each version is given in NEWS.md.

Building

If you would like to compile Tarsnap manually, see BUILDING.

tarsnap-gui's People

Contributors

apjanke avatar gperciva avatar minecrafter avatar shawwn avatar shinnok avatar woods avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tarsnap-gui's Issues

Creating jobs

When setting up a job using the File System tab I'm not seeing files/directories beginning with ".". It would be useful to have this at least as an option.

I was trying to create a job from an existing archive: it would be convenient to copy the file list and paste it into the job, but I cannot see any way of doing this.

Improve accessibility of setup wizard

Hello there. I'm pretty new to the tarsnapgui but I' here to report an issue.

I'm a visually impaired user who is using the GUI. I'll learn the command line interface as well but for now I'm using the gui. I notice in the setup wizard there are a set of 5 radio buttons including one that is dimmed. These haveno help tags for voiceover users. Voiceover is the screenreader that ships with mac os and reads to me what is on the screen and allows I and others to interact with our macs. I've attached a screenshot of the effected area. I hope this helps a bit.
screenshot showing the area of the wizard effected. Notice the unlabeled radio buttons.

Readme linking wrong page

https://github.com/Tarsnap/tarsnap-gui/wiki/Tarsnap

It should be https://github.com/Tarsnap/tarsnap-gui/wiki

"home directory" button in file browsers

The Backup->file browser automatically opens with your home directory, but the Jobs->Add jobs opens with /. It would be nice if

  • it automatically opened with your home directory.
  • (possibly) there was a "home dir" button inside that "hamburger menu". There is a "home" icon in the typical Qt and GNOME file browsers, so users might expect this.

how best to share existing tarsnap setup with Tarsnap GUI?

It's not clear how best to re-use an existing tarsnap configuration yet.

This should cover:

  1. cache dir permissions chown $USER:wheel /usr/local/tarsnap-cache
  2. sharing or re-using machine key(s), perhaps regenerated with different permissions
  3. sharing the tarsnap.conf -- atm I see no way of referring to this in the GUI so it's not clear if /usr/local/etc/tarsnap.conf and/or ~/.tarsnaprc are being applied. I assume they will be used as usual...

seems to crash if no tarsnap

I don't have tarsnap installed in this user account right now; program displays:

$ ./Tarsnappy 
widgets/setupdialog.cpp(359): Will look for tarsnap in PATH: ("/home/gperciva/.local/bin/",
<remainder of list removed for privacy>) 

and then nothing else happens. No graphical window, no command-line message, no return to the shell. ctrl-c functions, so this isn't a terrible bug.

backup browser is inaccessible with voiceover

When a user wants to browse for files and they hit command O the backup browser is totally inaccessible to voiceover users. I personally cannot make heads or tales of this. QT I heard thugh has some accessibility issues with voiceove. Still though can this please be looked into?

Macbook air, 8 gigs of ram, , 256 gig ssd drive.. Os is El Capitan.

screenshot of backup browser

Archive refresh should update the Jobs view

Use case:

  1. User creates new Job;
  2. Initiates a backup for that Job from the command line;
  3. Archives list is refreshed from remote at some point in the app and Jobs view should display the new Job stats;

gui assumes that tarsnap-keygen exists

Rare problem here: I have a second user (lily) on my machine, which I use for temporary / untrusted / messing around. Since I didn't want to possibly risk my real tarsnap installation, I decided to test the gui as user lily. I copied the tarsnap binary to a path, but I did not copy tarsnap-keygen.

At the 3rd step of the setup window, the GUI just has a spinning wheel at the "register machine" step. The command-line shows:

debug.h(39): "Executing [/home/lily/.local/bin/tarsnap-keygen --user [email protected] --machine gin --keyfile /home/lily/.local/share/Tarsnap Backup Inc./Tarsnap/gin_1432374427075]
"
debug.h(39): "Tarsnap process error 0 (No such file or directory) occured:

"

which is reasonable, but not ideal behavior.

OSX brew consideration

homebrew wants a terminal-based way to test the app, perhaps it could
have a --help flag for the binary that prints version number to the
terminal and then exits?

setup wizard "advanced"

Is it necessary to have an "advanced" option on the first page of the setup wizard? I think it unnecessarily complicates the process:

  • no information is given about which step(s) are "advanced". (by experimentation, it looks like the "advanced" step is the PATH-selection)
    • if I'm correct, then the "advanced" step will generally be filled-in automatically (if the CLI is in the path). If the CLI cannot be found, then I think it's important to issue a warning. Either way, a "beginner" user should not skip this step!
    • I see that if you don't have the CLI and do not select "advanced", then you are automatically taken into the "select the CLI location" screen. In GUI terms, the top "4 steps" silently turns into "5 steps". This is unnecessarily confusing.

Basically, I suggest that the "advanced" should be always enabled, and the option should be removed from the title page.

GUI should warn about missing binaries

If somebody deletes the tarsnap binaries (as a completely hypothetical example, if they were testing installing and uninstalling packages and ended up with no binaries installed), the console log will read:

-------------------------------------------------------------------------------- 
"Executing [/home/td/.local/bin/tarsnap --keyfile /home/td/.local/share/Tarsnap Backup Inc./Tarsnap/gui-testing-2016-02-10-17-11-09.key --cachedir /home/td/.cache/Tarsnap Backup Inc./Tarsnap --print-stats -d -f backup-good]" 
-------------------------------------------------------------------------------- 
"Tarsnap process error 0 (No such file or directory) occured (exit code 0):
" 
--------------------------------------------------------------------------------

but the GUI will not show any warning.

I know this is unlikely to occur, but perhaps there should be a "catch any error" handling for calling binaries. It's not impossible that they might get deleted, or the permissions could be set to no-execute, or something.

setup window not large enough

With a blank system, the dialogue window is not tall enough and cuts off some text ("Tarsnap CLI utilities can be found here")

tarsnap-gui-not-big-enough

Can add a directory/file multiple times to the Backup pane

Backup->file browser

I can select the same directory multiple times, then when I create an archive, it contains multiple copies of those files. However, I just verified that this behaviour is true of the command-line program as well, so I'm not certain this is a "bug". In the interests of user-friendliness, I'd be tempted to try avoiding this, but it might be tricky and certainly isn't a high priority.

For reference, here's an example (command-line only, for easy copy&paste)

td@gin: ~/src/tarsnap/build (master)
$ ./tarsnap -c -f weird_double --print-stats ~/backup ~/backup
tarsnap: Removing leading '/' from member names
                                       Total size  Compressed size
All archives                                12 MB           3.6 MB
  (unique data)                            2.5 MB           925 kB
This archive                               5.4 MB           1.8 MB
New data                                    11 kB           3.7 kB
td@gin: ~/src/tarsnap/build (master)
$ ./tarsnap -t -f weird_double
home/td/backup/
home/td/backup/lorem-5000.txt
home/td/backup/lorem-1000.txt
home/td/backup/zeros-900k-b.txt
home/td/backup/random-900k.txt
home/td/backup/zeros-900k-a.txt
home/td/backup/
home/td/backup/lorem-5000.txt
home/td/backup/lorem-1000.txt
home/td/backup/zeros-900k-b.txt
home/td/backup/random-900k.txt
home/td/backup/zeros-900k-a.txt
td@gin: ~/src/tarsnap/build (master)
$ 

Can only fork this repo

I can't push to this repo nor can I re-initialize it. What this forces me to do is make a fork of this repo and push and merge the Bitbucket repo to my fork then create PR to this one. Not sure this is what we want.

What I most likely need is CREATE repo permission so that I can initialize a new repo under the Tarsnap Group.

@gperciva @cperciva

Simulate mode

@cperciva @gperciva and others

I implemented a simulate mode, with the help of --dry-run tarsnap cli option. This feature will be released in v0.8.

No new archives will be uploaded to the Tarsnap servers while Simulation is on. The option is available in Settings -> Advanced. Disabling simulation mode or refreshing the Archives list will roll back all new archives and stats. Simulation mode is conveniently flagged while active with a bolt icon close to the busy indicator in the status bar.

screen shot 2015-12-07 at 1 43 31 pm

I need feedback on this. To start you off:

  1. Should I disable Simulation mode upon app quit? Currently it persists and must be disabled the same way it was enabled.
  2. @cperciva Is there a way of making the cli update the global stats too on -c --print-stats --dry-run (is there any potential for misleading in being able to do so)? The app displays that in Settings->Account page and would provide a nice overall overview of the result of several dry-run actions(complex evaluation of costs), if that would be updated.
  3. All other actions like Jobs created, archives deleted will persist. I need an workaround for the fact that the CLI allows for same archive name in this mode. The current buggy behavior of the app in this case is to update the metadata for the already existing archive.

unable to unselect a subdir

When picking which items to backup, I want to select my home dir but leave out one subdirectory. However, when I try to do this by clicking the subdirectory, tarsnap-gui unselects all the other things in the dir and selects only the directory I clicked. Is there some way to do this? Or perhaps just exclude certain dirs? Or is this more of a feature request? Thanks!

User login

I have a problem with user login. I can add/modify/delete archives, but I can't add my Tarsnap user to view credit and other information. There's is a way to do this?

I've attached a screenshot (note that Tarsnap user field is inactive!)

Thanks 😄
Andrea

schermata 2015-07-01 alle 18 38 47

title page: why no copy&paste?

clicking anywhere on the title page is interpreted as a "move window" command. Why? This means that people cannot copy&paste text (which is probably only useful for bug reporting, but I think it's still worth supporting it).

ArchiveListWidget (and Job) filter "discoverability"

Archive tab

  • press ctrl-f to enable searching.
  • no visual clue about this (such as the magnifying glass in the Archive details portion).

I can tackle this in the next few days; just thought I should record it.

very small bottom margin in dialog windows on Linux

In Linux / icewm (and Qt 5.5.1), there's no bottom margin in dialog windows:
gui-no-bottom

In GNOME (again Qt 5.5.1), there is a margin but it's very small:
gui-gnome-bottom

I just checked, and this doesn't happen on OSX. (I didn't notice the version number, but it's whatever homebrew is currently using)

Rolling backups

@cperciva @gperciva and others

I'm pondering the idea of having a rolling backup option for the GUI in the future. This should be a per job option as far as I am concerned. How do you feel about this? Any ideas, requests in regards to this?

Run -j flag headless

Running tarsnap-gui with -j seems to not spawn a window and instead prints the progress to the terminal, which seems perfect for what is almost certainly the intended use case: running from cron or some such, at least until there's first-party scheduling support.

Unfortunately, in practice running with cron seems to fail for lack of a windowing system: QXcbConnection: Could not connect to display Is there some sort of workaround or alternative?

Auto-searching for machine keys

It would be nice if tarsnap-gui could automatically find existing keys. In particular,

  1. I ran the setup wizard
  2. I ran it again, with a non-advanced setup, and said I already had a key
  3. it prompts me to locate the machine key. I can manually select ~/.local/share/Tarsnap Backup Inc/blah_2015-06-03-14-46-43 , but it would be nice if it automatically selected this. (or at least, auto-detected it and asked me to confirm it's the correct key).
    (I don't expect the GUI to search every directory, but I think that checking its default directory would be a nice thing to add)

On a related note, I suggest that the keyfiles be named "whatever-aaaa-bb-cc-dd-ee-ff.key"

visual warning for "deletion in progress"?

Archives->delete archive

Once I select an archive to delete (and press "Yes" in the confirmation), there's a line in the log at the bottom of the screen, but nothing else. Since the deletion can take a few seconds (even with my tiny test-archives; from reports on the mailing list, it can take much longer for larger "real" archives), the user might think that nothing happened and try deleting the archive again.

It would be great if there was some visual notification in the list... for example, the background of that row could be dark grey, or the archive name could be lighter grey. Or perhaps even replace the "2.59 MiB Tuesday..." info with a "(deletion scheduled)" ?

console messages on startup

Just built 0.9 from source on FreeBSD 10.3.
On startup I see a lot of these messages, though everything seems to work ok:

Executing command:
[tarsnap --list-archives -vv]
unknown(0): Error creating the PersistentStore: app.appdata not set.
unknown(0): PersistentStore was not initialized properly.
unknown(0): PersistentStore not initialized.
QSqlQuery::prepare: database not open
unknown(0): Driver not loaded Driver not loaded
Command finished with exit code 0 and output:

file browser regex box slow on large directories

Backup -> file browser -> regex box

If I type (at my normal quick typing speed),

/usr/bin/a

then there's a 21-second pause between /usr/bin/ and a, while the app (presumably) reads filenames. That pause has 100% CPU usage (in one core/thread); unknown disk usage (I could dig into this some more if you want). After the first time I did that, it's much faster -- only a 2-second pause between bin/ and a. But it's still a noticeable pause.

Ubuntu 14.04, Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz, 8 Gb RAM.

Package "redhat-rpm-config" missing for install on Fedora 23

After following build instruction for Fedora 22 the build failed with:

oliver@fed-v-box ~/w/tarsnap-gui> qmake-qt5 ; make -j(nproc)
/usr/lib64/qt5/bin/uic forms/backupitemwidget.ui -o ui_backupitemwidget.h
/usr/lib64/qt5/bin/uic forms/setupdialog.ui -o ui_setupdialog.h
/usr/lib64/qt5/bin/uic forms/mainwindow.ui -o ui_mainwindow.h
/usr/lib64/qt5/bin/uic forms/archiveitemwidget.ui -o ui_archiveitemwidget.h
/usr/lib64/qt5/bin/uic forms/restoredialog.ui -o ui_restoredialog.h
/usr/lib64/qt5/bin/uic forms/filepicker.ui -o ui_filepicker.h
/usr/lib64/qt5/bin/uic forms/jobitemwidget.ui -o ui_jobitemwidget.h
/usr/lib64/qt5/bin/uic forms/aboutwidget.ui -o ui_aboutwidget.h
/usr/lib64/qt5/bin/uic forms/logindialog.ui -o ui_logindialog.h
g++ -c -pipe -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DAPP_VERSION=\"0.7\" -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Isrc/widgets -I+= -Isrc -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o utils.o src/utils.cpp
g++: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
Makefile:787: recipe for target 'utils.o' failed
make: *** [utils.o] Error 1
make: *** Waiting for unfinished jobs....

Installing the package redhat-rpm-config fixes the issue.

Qt 5.4 required?

According to INSTALL, tarsnap-gui works on Qt 5.2.1. However, attempting to compile 1582a79 produces:

src/taskmanager.cpp: In member function ‘void TaskManager::dequeueTask()’:
src/taskmanager.cpp:801:70: error: no matching function for call to ‘QTimer::singleShot(int, QCoreApplication*, void (*)())’
                 QTimer::singleShot(500, qApp, &QCoreApplication::quit);
                                                                      ^
$ qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu

According to http://doc.qt.io/qt-5/qtimer.html#singleShot-2,

void QTimer::singleShot(int msec, const QObject * receiver, PointerToMemberFunction method)

was introduced in Qt 5.4.

Password-protected key files

I've run the setup wizard, which executes and hangs on:

usr/local/bin//tarsnap --fsck-prune --keyfile /Users/asdf/.tarsnap --cachedir /Users/asdf/Library/Caches/Tarsnap Backup Inc./Tarsnap

/Users/asdf/.tarsnap is password-protected, and I have copy-pasted it from a secure storage space.

Running the command manually prompts me for a password, and indeed if I kill the process, Tarsnap-gui displays:

tarsnap: Cannot read password: Interrupted system call
tarsnap: Error reading passphrase
tarsnap: Cannot read key file: /Users/asdf/.tarsnap

How is this intended to work?

quickly clicking twice on QSpinBox maximizes the window

Using IceMW on Ubuntu 14.04.

  1. Double-clicking on the app background (any of the grey area) maximizes the app. I'm not wild about this behaviour, since other Qt apps don't seem to act this way, but I'm not complaining about this. (note: normally in IceWM, double-clicking the title bar maximizes the window. This is also working in tarsnap-gui, and I have no complaints about this)

  2. however, clicking twice on arrows in a QSpinBox (such as Settings->App->Skip files larger than) also maximizes the window. This is not good behaviour.

Obviously the click-event is not stopping in the QSpinBox; it gets passed up the chain through the various QWidgets, QMainWindow, and finally to the window manager.

INSTALL instructions for Redhat-based distros

Just wanted to chime in with a version of the INSTALL instructions for Red Hat based distros. This was tested on the current Fedora release (22), but it should work on all fairly recent releases: (Fedora 20+, EL 6+)

  1. sudo yum install gcc-c++ git qt5-qtbase-devel
  2. git clone https://github.com/Tarsnap/tarsnap-gui.git && cd tarsnap-gui
  3. git checkout v0.5 # switch to the desired version
  4. qmake-qt5 && make -j$(nproc)
  5. ./tarsnap-gui

Replace "hamburger" icon with a triangle

To the right of the "navigate directories and filter file names" box is a "hamburger" icon (the three horizontal lines). I know that many websites and apps use this now; I'm not a fan, but that's a personal opinion.

However, that button doesn't actually bring up a pop-up menu (as is done in youtube and firefox, for example). Instead, it expands a new row in the top portion, displaying checkboxes for "show hidden", "show system", "hide symbolic links". I suggest that for consistency, the app should use a triangle for this -- that's what the main app uses (for the status messages / console at the bottom of the window).

ArchiveWidget restore files -> only certain ones

ArchiveWidget

  • right-click, select "Restore files(s)"
  • the RestoreDialog says "Restore archive xyz contents to original locations..." and does not clarify that only the select file(s) will be restored.

I can tackle this in the next few days, but I thought I should record the problem.

add "About" app menu to be more consistent with OSX standards

The version number and often any F/LOSS credits are put into an About menu. The version info is available already today in the app's help pane, but it would more typically be found in a separate App Window.

https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/MenuBarMenus.html#//apple_ref/doc/uid/20000957-CH29-SW1
https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/WindowPanels.html#//apple_ref/doc/uid/20000957-CH42-SW4

Nuke should require typing "No Tomorrow"

The command-line app has a nice confirmation screen before deleting all archives:

$ tarsnap --nuke
Please type 'No Tomorrow' to continue

I recommend that the GUI implement the same system.

(for the record, deleting a single archive requires no confirmation on the command-line)

first run shouldn't warn about a broken cache dir

The first time you run the app, IMO it should automatically (and silently) create the cache directory. The current warning about a "broken or missing cache dir; run fsck to fix" is a bit unfriendly. (it implies that something is wrong)

not usable on 640x480

Not certain how serious this is, but the main window doesn't fit into 640x480. This is primarily noticeable on virtualbox without the extra kernel extensions (which only provides 640x480 pixels).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.