4e9cd1f114
Update FastCopy using new installer
2018-09-16 19:21:36 -06:00
b79cd5d65a
Updated tool versions
...
* Adjusted bundles
* Dropped Office 2013
* Moved to Python 3.7
* Replaced TreeSizeFree with WizTree
2018-09-16 18:46:02 -06:00
a213ba5d32
Bugfix for mount-all-volumes
2018-09-15 21:20:52 -06:00
91f7628081
Updated sources
...
* Dropping 2008
2018-09-15 18:17:58 -06:00
35fd50771c
Update hw_diags.py systemctl command syntax
...
* Now it matches the wk-power-command style
2018-09-15 17:50:54 -06:00
1e21c04a3e
Address shutdown slowdowns
...
* Unmount filesystem(s) and flush write cache before poweroff/reboot
* Also adjusted timouts to maybe fix issue #52
2018-09-15 17:46:05 -06:00
da92cee338
Fix issue #51
...
* The curly braces were being interpreted incorrectly by print_standard()
2018-09-15 16:00:24 -06:00
9a093ace9c
Moved 'Scanning disks...' message in hw_diags.py
...
* (Re)fixes issue #46
2018-09-15 15:47:47 -06:00
1ee4a611b9
Hide UFD-only boot options from Linux ISOs
...
* Fixes issue #41
2018-09-15 15:42:40 -06:00
d31991a67f
Always load broadcom before tg3
...
* Hopefully won't cause any problems.
2018-09-15 15:24:59 -06:00
879927c37c
Add CoreStorage support to mount-all-volumes
...
* Checks for any CoreStorage partitions
* If found scans partition with testdisk to find inner volume(s)
* If found mapper devices are added with dmsetup
* Then the device list is built in mount_volumes()
2018-09-14 17:53:35 -06:00
d9a9ce0a86
Allow hw-diags to reattach to the tmux session
...
* The option to kill the current session and start a new was left in place
2018-09-12 18:56:39 -06:00
56e354f124
Avoid crash described in issue #39
2018-09-12 16:15:15 -06:00
83064d7c90
Fix issue #46
2018-09-12 15:54:36 -06:00
9f12f2c856
Added SMART 199/C7 warning/override to HW-Diags
2018-09-12 15:39:28 -06:00
8fec6fc5b9
Save raw I/O read rates in log
2018-09-12 14:46:04 -06:00
793581ac22
Rewrote I/O benchmark sections
...
* Displays graph during test and in summary
* Reduce test area to speedup the benchmark
* Addresses issues #48 & #49
2018-09-09 19:41:46 -06:00
5ef7c9b16e
Updated functions/network.py
2018-09-04 22:35:39 -06:00
92822a1458
Merge branch 'dev' into 1201
2018-09-03 23:14:49 -06:00
0d0defb8de
Merge branch 'datarec' into dev
2018-09-03 23:13:47 -06:00
240c55f407
Remove more whitespace from image/map names
2018-09-03 23:13:17 -06:00
4837f266a9
Merge branch 'dev' into 1201
2018-09-03 23:10:19 -06:00
78c6024b95
Merge datarec updates
2018-09-03 23:00:13 -06:00
d35dba7539
Prevent crash when retrying recovery
...
* IMO ddrescue was exiting too quickly to load the map data so I'll assume 0b
2018-09-03 22:58:20 -06:00
bd47f08996
Removed (Whole) label when imaging
...
* If only one partition was selected it would be incorrectly labeled "Whole"
* Easier to remove the label than rework the data structures
2018-09-03 21:45:46 -06:00
9dbfce94d4
Fix auto continue logic
2018-09-03 21:44:28 -06:00
86fc23aed8
Fix pass number in status pane
...
* It was using the internal 0-2 instead of the display 1-3
2018-09-03 21:42:37 -06:00
dbf4559e14
Adjusted image/map filenames
...
* Partition filenames should include '_pX_' instead of just '_X_'
* Trailing whitespace should be removed
2018-09-03 21:39:32 -06:00
7cfdddcfbd
Fix using image file for clone source
2018-09-03 21:34:14 -06:00
b2e287520c
Fix help flags
2018-09-03 21:32:31 -06:00
84d7207d90
(Re)Add SMART values 196 and 199
...
* Value is only displayed, no additional aborts
2018-08-31 15:32:01 -06:00
7d1850a480
Allow BleachBit to be run more than once per day
2018-08-30 11:27:47 -07:00
b043b63d2d
Don't ask to install MSE in D7_MODE
2018-08-30 10:59:46 -07:00
b9b7b0456a
Fix error detection in SW Diags (again)
2018-08-30 10:58:31 -07:00
3875d4b2bd
Fix error detection in SW Diags
2018-08-21 12:14:17 -07:00
c25a46b49f
Let's not remove browser history
2018-08-21 12:03:31 -07:00
02a1593203
Merge 'upstream/dev' into 1201
2018-08-20 02:36:48 -07:00
887cfd9f92
Bugfix: typo
2018-08-20 02:31:22 -07:00
7bce6076c8
Added more d7II launchers
2018-08-20 02:30:50 -07:00
bb631b39e9
Merge branch 'datarec' into dev
2018-08-19 19:28:03 -07:00
1d0378dd7b
Training wheels off
2018-08-19 19:23:24 -07:00
33d1f42002
Add WinAIO Repair
2018-08-19 18:09:39 -07:00
2301c89b8c
Add ESET NOD32 AV install sections
...
* Installs with custom config
2018-08-19 17:32:55 -07:00
84120f1505
Adjusted launchers for d7II
2018-08-19 15:59:58 -07:00
6f3a1ee55f
Run BleachBit cleaners directly and allow cleaning
...
* Using the cleaner names to ensure desired cleanup
* Using the --preset option could lead to unintended deletions
* Cleaning is automatic in D7_MODE
2018-08-19 15:18:29 -07:00
9c1c8b90be
Added d7II Cleanup sections
...
* Renamed d7_firefox_fix.py to post_d7.py
* This will include all items that need to be run outside d7II
2018-08-19 14:10:37 -07:00
edb82df4d3
Move AdwCleaner/Desktop to LogDir during cleanup
...
* Instead of ProgBackupDir
2018-08-19 13:24:39 -07:00
42c5e918b6
Added Registry backups to system_checklist cleanup
2018-08-19 13:12:03 -07:00
4f2f696d60
Adjust backup paths for cleanup functions
2018-08-19 12:55:55 -07:00
251c232a6e
Added Emsisoft a2cmd to system_checklist cleanup
2018-08-19 12:50:36 -07:00
39f947bdd1
Leave SW Diags window open in D7_MODE on error(s)
2018-08-19 12:26:58 -07:00
4e022ed843
Run DISM RestoreHealth in D7_MODE
2018-08-19 12:14:34 -07:00
31a3d5a43b
Added D7_MODE to install_sw_bundle.py
2018-08-19 12:04:11 -07:00
1244b7f5e5
New SW Bundles
...
* Removed Air, Java, & Silverlight
* Added SumatraPDF
2018-08-19 11:53:33 -07:00
298222c9fc
Password protect browser backups
2018-08-18 18:46:17 -07:00
2369786b66
Bugfix: d7_firefox_fix.py
2018-08-18 18:10:54 -07:00
ceba2e5ff2
Add d7/Firefox workaround
...
* When Firefox is run from d7ii all tabs crash thus preventing installing uBO
* Added d7_forefix_fix.py to install uBO just for mozilla-type browsers
2018-08-18 17:53:50 -07:00
241f5cb897
Always open the uBlock store page for FF
...
* If d7 defaults are run then uBO may still need installed
2018-08-18 17:15:10 -07:00
90a9751883
More bugfixes for reset_browser split
2018-08-18 17:09:55 -07:00
b57374b177
Fix D7_MODE logic in reset_browsers (again)
...
* Went wrong direction last time
2018-08-18 16:47:09 -07:00
c16a540b3e
Fix D7_MODE logic in reset_browsers.py
2018-08-18 16:41:52 -07:00
712eeff79e
Set default main.py values for 1201
2018-08-18 16:26:17 -07:00
9f77b532b6
New reset_browsers script for use in d7ii
...
* Adjusted user_checklist as well
2018-08-18 15:49:12 -07:00
b42f393a1a
Always configure browsers/classicshell/explorer
2018-08-18 15:28:33 -07:00
ed3323fffb
Updated system checklist/diags and user checklits
...
* Added D7_MODE to limit functions run during d7II
* Added new archive_all_users() function to be run in system_diagnostics
2018-08-18 13:30:07 -07:00
71297eacc8
Allow L_ARGS for Python scripts in Launch.cmd
2018-08-18 13:24:59 -07:00
91b5dbfe88
Added ENABLED_OPEN_LOGS toggle var
2018-08-18 13:22:23 -07:00
ee4cea3b01
Added systemd journal pane
2018-08-16 01:58:22 -07:00
0c8de47893
Reworked auto mode and pass status sections
2018-08-16 01:49:06 -07:00
2272d133f9
Fixed update_progress & update_sidepane
2018-08-16 01:18:06 -07:00
afaee53077
Fixed current_pass updates/progression
2018-08-16 00:43:09 -07:00
7d30a735fc
Fix retry option and settings sections
2018-08-16 00:18:25 -07:00
8461e581ea
Updated menu_settings() to use RecoveryState
2018-08-15 23:24:01 -07:00
5948d1a62f
Fixed menu_main() arguments
2018-08-15 22:50:47 -07:00
5ac05c943e
Removed unused function show_device_details()
2018-08-15 22:50:05 -07:00
ca78da4dd4
Updated show_selection_details()
2018-08-15 22:49:43 -07:00
bb270715c1
Updated run_ddrescue() to use new objects
2018-08-15 22:38:54 -07:00
53a899f967
Updated menu_main() to use RecoveryState obj
...
* Also fixed rescued size calculations (again)
2018-08-15 21:53:22 -07:00
e0a695a673
Enable help flags for aliases
2018-08-15 20:35:09 -07:00
1a983344c2
Updated update_progress()
2018-08-02 00:42:14 -07:00
d474c8b5d4
Updated build_outer_panes() *BROKEN*
...
* Script broken until update_progress() is fixed
2018-08-01 23:56:25 -07:00
c568668fd0
Re-added 'Create ticket folder?' section
...
* Only asked if imaging and mounting a local device for the destination.
2018-08-01 23:39:19 -07:00
177bf10e2d
Added select_parts() function
...
* This replaced menu_select_children()
* Removed menu_select_children()
2018-08-01 23:32:39 -07:00
459b78dcc3
Updated select_dest_path(), now select_path()
...
* Moved menu_select_path() code into select_path()
* Removed menu_select_path()
* Fixed formatting in get_dir_report()
2018-08-01 23:04:44 -07:00
ccf7f0686e
Updated select_device() to use DevObj()
...
* Also fixed child/parent check(s)
* Removed menu_select_device() since code was moved into select_device()
2018-08-01 22:25:01 -07:00
03bdb4b4b7
Reordered classes and removed old menu functions
2018-08-01 21:12:05 -07:00
7ac91fd312
Adjust pass 1 threshold
2018-08-01 20:33:35 -07:00
1e195f70fc
Fixed names and started updating build_outer_panes
2018-07-26 20:49:27 -06:00
53f0b93a5f
Misc bugfixes
2018-07-26 20:24:34 -06:00
30b703e025
Updated get_formatted_status()
2018-07-26 20:09:48 -06:00
6cdc4015e7
Updated menu_ddrescue() and related sections
...
* RecoveryState is updated before confirmation(s)
* New confirmation prompt that supports both cloning and imaging modes
* Refactored show_selection_details() to use new objects
* Allows resumed state to be detected and prompt switched to "Resume?"
* Renamed function show_safety_check() to double_confirm_clone() for clarity
2018-07-26 19:34:51 -06:00
4047b956f5
Even better exception handling
2018-07-26 18:54:31 -06:00
a19ac4772b
Better exception handling
2018-07-26 18:29:14 -06:00
127c3b810d
Fixed image prefixes and removed unsused functions
2018-07-26 18:07:12 -06:00
d1eefd05ab
Major update to refactor for object-centricity
...
* Dest/map paths are now set in two steps:
* The filename prefix is set when creating the DevObj()
* The full paths are set when creating the BlockPair()
* Merged dest safety checks into RecoveryState.add_block_pair()
* Mostly check_dest_paths() and dest_safety_check()
* Moved dir RWX checks to is_writable_dir()
* Moved mount RW check to is_writable_filesystem()
* Started merging menu_clone() and menu_image() into menu_ddrescue()
2018-07-26 17:31:39 -06:00
6aeba34bdb
Include path in dir report
2018-07-25 23:57:50 -06:00
66c7563335
Set details for Dev/Dir/Image objects
...
* Colored report data is generated during obj instantiation
* Code has been moved into its own function
* Entire colored string is now stored for each Obj
* (Should make show_selection, etc more mode/Obj agnostic)
* loopback_dev vs image_path is now better separated
* losetup is called in ImageObj.set_details()
* loopback -D is still called during program cleanup/wrapup
* get_device_size_in_bytes() has been renamed get_size_in_bytes()
2018-07-25 23:31:04 -06:00
180eb0f9ef
Added base, dev, dir, and image objects
2018-07-25 21:44:40 -06:00
98b05c93bf
Moved menu_ddrescue() to ddrescue-tui-menu file
...
* Let's parse the sys.argv earlier in the process
2018-07-24 00:54:58 -06:00
fa3b3b11b0
Added methods: load_map and self_check(s)
...
* load_map() is called on BlockPair() instantiation
* This partially replaces resume_from_map()
* Also fixed improper method declarations lacking the self argument
2018-07-24 00:39:22 -06:00
f5ff65bfe0
Started rewriting ddrescue.py
...
Added two classes:
* BlockPair()
* Track source/dest pair specific data
* update_progress() method for its own data
* RecoveryState()
* Track BlockPair objects and overall state
* update_progress() method for overall data
Reasons:
* Code readability
* Better status updates, code currently split between:
* get_recovery_scope_size()
* resume_from_map()
* update_progress()
* Functions that should probably be merged into other functions:
* get_recovery_scope_size()
* set_dest_image_paths()
* check_dest_paths()
* Logic that needs to be cleaned up:
* Calculating overall recovery size
* Pass "Done"ness and status strings need separated
* Pass "Done"ness at the device and overall levels
* Updating output for side pane status display
2018-07-23 23:25:12 -06:00
2430ba5e00
Resume session via map file(s)
...
* Read map file(s) and set progress, status, and current pass
2018-07-23 00:43:22 -06:00
f5994d851b
Allow more characters in get_simple_string()
2018-07-22 21:56:52 -06:00
cd955fe1fc
Add overall recovery status to side-pane
...
* --test-mode disabled by default
* Fixed bug that prevented escaping auto_run via Ctrl-c
* Fixed no-trim / no-scrape flag handling
* Only proceed device(s) have been selected in menu_select_children
2018-07-22 21:56:39 -06:00
1f63f91144
PEP8 Cleanup
2018-07-22 16:27:34 -06:00
9e48c1d1a6
Read data from MAP files (Big update)
...
* Added read_map_file() which uses ddrescuelog to create dict of current state
* Added --test-mode= option to expert menu
* Add size (in bytes) to all devs
* Allows to calculate real total percent recovered
* Detect 100% completion via ddrescuelog -D
* Moved mark_complete / mark_incomplete code to update_progress()
* Update progress every 30s during ddrescue passes
* Fixed auto_run logic
2018-07-22 02:03:04 -06:00
6b28444c36
Fix function order
2018-07-21 20:31:39 -06:00
d7dfb34b02
Resume function working for imaging cases
2018-07-20 18:06:59 -06:00
37734e65bf
Bugfix: Paths are now relative to the current dir
...
* They were relative to the script's dir before
2018-07-20 17:53:09 -06:00
281607f3e4
Adjusted confirm/show details order
2018-07-20 13:57:55 -06:00
6582293370
Initial resume code -- Needs testing
2018-07-19 01:34:14 -06:00
5f4598814a
Clear screen before printing abort warning
...
* Otherwise the "Abort" string is in the middle of the ddrescue output
* Also added secondary return code to be treated as a user abort
2018-07-19 00:45:04 -06:00
016f87b76c
Don't hide source dev when selecting dest dev
...
* Disable the entry instead
* It's more clear what's being done
2018-07-19 00:43:41 -06:00
7597394d61
Build real ddrescue cmd for Cloning or Imaging
...
* --force is only used for cloning
2018-07-18 23:53:05 -06:00
d09664bb7d
Misc cleanup
2018-07-18 23:37:02 -06:00
f84413f1a9
Fix SMART not available warning
2018-07-18 23:36:15 -06:00
e640caee74
Add dest image/map path sections
2018-07-18 23:19:42 -06:00
646e1a3764
Show list of authorized fstypes with error
2018-07-18 22:17:32 -06:00
19dcc87950
Pause when showing usage
2018-07-18 22:09:47 -06:00
e5ce254e8b
Verify destination FS is mounted read-write
2018-07-18 22:02:17 -06:00
f2c557f77c
Added safety checks for the destination
...
* Dev size / avail space checks
* Permission checks
* No mount option checks (yet?)
2018-07-18 20:54:51 -06:00
88c28a3f25
Added auto-continue code
...
* Enabled by default
* Based on static thresholds per pass.
* Pass 1: 85%
* Pass 2: 98%
* If using child devices, all must be above the threshold to continue
2018-07-18 18:26:03 -06:00
9d91a28d7a
Add children pass, status, and update sections
...
* Updating device / child device status/progress done in mark_*() functions
* Add current pass description to main menu
* Current pass (overall) only updated if all children have passed
* Fix Pass 4 crash
2018-07-17 23:22:08 -06:00
c705ba6afc
Add pass completion detection sections
...
* Retry option now sets recovery back to pass 1
2018-07-17 22:10:37 -06:00
a12a591279
Moved SMART sections to a separate script
...
* Refresh rate is now handled by 'watch --interval'
* Allows for much simpler ddrescue execution / tracking
* Removed all 'SMART Report' sections from functions/ddrescue.py
* functions/hw_diags.py has been further extended
* Supports full device paths (only for displaying attributes ATM)
* Adds a timestamp when only displaying attributes
2018-07-17 21:05:37 -06:00
358191539c
Added run_ddrescue() and update_smart_report()
...
* Working "wait" loop while ddrescue is running.
2018-07-17 19:19:38 -06:00
d1d3e1592e
Added get_process()
2018-07-17 18:11:23 -06:00
7d851d2222
Add settings menu
2018-07-17 16:59:45 -06:00
310a2eb63a
Initial Main Menu code
...
* Required refactoring pass status code
* Need to add settings menu next
2018-07-17 16:01:29 -06:00
fd8ac7cf1a
Add child device selection menu for Image mode
...
* Can select either whole device or child dev(s), not both
2018-07-17 14:16:38 -06:00
de8f3bbd2b
Use image file instead of loopback device
...
* Still setup loopback for image details but use image directly in ddrescue
* Adjusted outer/side panes to use image path instead of loopback dev
2018-07-17 13:21:12 -06:00
29266f1611
Added initial Imaging source child dev support
2018-07-17 01:11:43 -06:00
1e4a3b6c0e
Fix provided_path for Imaging and adjust top panes
...
* Moved select_path menu sections to menu_select_path()
2018-07-17 00:49:41 -06:00
007d2ef692
Added select_path() for Image mode
...
* Can select the current path, a local device's volume, or enter manually
* Optionally add a ticket folder to path before imaging
2018-07-17 00:15:28 -06:00
c37dab58af
Updated mount_all_volumes(), now mount_volumes()
...
* Now allows mounting R/W
* Can restrict to a specific device's volume(s)
* Added more data to the returned report
2018-07-17 00:06:43 -06:00
6eb486c770
Extend get_simple_string() to support underscores
2018-07-17 00:05:47 -06:00
ae7ba9cba4
Fixed typo in mount-raw-image
2018-07-16 22:25:13 -06:00
9a27afebf7
Moved selection details into its own function
...
* Will allow for better duplication in Image mode
2018-07-16 22:19:39 -06:00
6643cf5d25
Moved outer pane section to its own function
...
* Will allow better duplication with Image mode
2018-07-16 22:08:00 -06:00
552868c26e
Moved safety check into its own function
...
* Will allow better duplication with Image mode
2018-07-16 22:04:09 -06:00
69909fa34c
Added safety check
2018-07-16 21:02:53 -06:00
855884ec93
Added initial update_progress() sections
...
* TODO: expand to support Image mode
2018-07-16 21:01:10 -06:00
ae4f2ac680
Added outer panes
2018-07-16 19:40:29 -06:00
b5d8a55031
Reordered functions
2018-07-16 18:07:12 -06:00
e56296d8b0
Consolidated device selection code
...
* Common code moved to select_device()
* Existing select_device() renamed menu_select_device()
* Fixed skip_device code
* Refactored source/dest vars into dicts
* Added confirmation after source/dest are selected
2018-07-16 18:01:06 -06:00
b2fc7ea860
Renamed script ddrescue-tui, added launcher script
...
Launcher script runs the python script in tmux (same as hw-diags)
2018-07-16 17:58:29 -06:00
0c3b90eb63
Add clone destination sections
...
* Hide source device in dest selection menu
2018-07-15 00:04:24 -06:00
cfbd0ec8f2
Add device selection menu
2018-07-14 23:45:08 -06:00
667223b3c2
Check passed source
...
* If it's an image, setup loopback dev
* If it's a child block dev, prompt with option to use parent block
* Show selected source details
2018-07-14 22:52:18 -06:00
8b1e19fa4b
Initial wk-ddrescue menu
2018-07-14 21:19:08 -06:00