├── .gitattributes ├── .github ├── CONTRIBUTING.md └── FUNDING.yml ├── .gitignore ├── CHANGELOG.md ├── DONATING.md ├── LICENSE.txt ├── README.md ├── Rakefile ├── SyncTrayzor.png ├── build ├── 7za.exe ├── CsprojResxWriter.rb ├── TxClient.rb └── vswhere.exe ├── chocolatey ├── synctrayzor.nuspec └── tools │ ├── VERIFICATION.txt │ └── chocolateyinstall.ps1 ├── installer ├── certnotes.txt ├── common.iss ├── dotNet472Setup.exe ├── icon.bmp ├── x64 │ ├── installer-x64.iss │ ├── ucrt │ │ ├── api-ms-win-core-console-l1-1-0.dll │ │ ├── api-ms-win-core-console-l1-2-0.dll │ │ ├── api-ms-win-core-datetime-l1-1-0.dll │ │ ├── api-ms-win-core-debug-l1-1-0.dll │ │ ├── api-ms-win-core-errorhandling-l1-1-0.dll │ │ ├── api-ms-win-core-file-l1-1-0.dll │ │ ├── api-ms-win-core-file-l1-2-0.dll │ │ ├── api-ms-win-core-file-l2-1-0.dll │ │ ├── api-ms-win-core-handle-l1-1-0.dll │ │ ├── api-ms-win-core-heap-l1-1-0.dll │ │ ├── api-ms-win-core-interlocked-l1-1-0.dll │ │ ├── api-ms-win-core-libraryloader-l1-1-0.dll │ │ ├── api-ms-win-core-localization-l1-2-0.dll │ │ ├── api-ms-win-core-memory-l1-1-0.dll │ │ ├── api-ms-win-core-namedpipe-l1-1-0.dll │ │ ├── api-ms-win-core-processenvironment-l1-1-0.dll │ │ ├── api-ms-win-core-processthreads-l1-1-0.dll │ │ ├── api-ms-win-core-processthreads-l1-1-1.dll │ │ ├── api-ms-win-core-profile-l1-1-0.dll │ │ ├── api-ms-win-core-rtlsupport-l1-1-0.dll │ │ ├── api-ms-win-core-string-l1-1-0.dll │ │ ├── api-ms-win-core-synch-l1-1-0.dll │ │ ├── api-ms-win-core-synch-l1-2-0.dll │ │ ├── api-ms-win-core-sysinfo-l1-1-0.dll │ │ ├── api-ms-win-core-timezone-l1-1-0.dll │ │ ├── api-ms-win-core-util-l1-1-0.dll │ │ ├── api-ms-win-crt-conio-l1-1-0.dll │ │ ├── api-ms-win-crt-convert-l1-1-0.dll │ │ ├── api-ms-win-crt-environment-l1-1-0.dll │ │ ├── api-ms-win-crt-filesystem-l1-1-0.dll │ │ ├── api-ms-win-crt-heap-l1-1-0.dll │ │ ├── api-ms-win-crt-locale-l1-1-0.dll │ │ ├── api-ms-win-crt-math-l1-1-0.dll │ │ ├── api-ms-win-crt-multibyte-l1-1-0.dll │ │ ├── api-ms-win-crt-private-l1-1-0.dll │ │ ├── api-ms-win-crt-process-l1-1-0.dll │ │ ├── api-ms-win-crt-runtime-l1-1-0.dll │ │ ├── api-ms-win-crt-stdio-l1-1-0.dll │ │ ├── api-ms-win-crt-string-l1-1-0.dll │ │ ├── api-ms-win-crt-time-l1-1-0.dll │ │ ├── api-ms-win-crt-utility-l1-1-0.dll │ │ └── ucrtbase.dll │ └── vc++ │ │ ├── concrt140.dll │ │ ├── msvcp140.dll │ │ ├── vccorlib140.dll │ │ └── vcruntime140.dll └── x86 │ ├── installer-x86.iss │ ├── ucrt │ ├── API-MS-Win-core-xstate-l2-1-0.dll │ ├── api-ms-win-core-console-l1-1-0.dll │ ├── api-ms-win-core-console-l1-2-0.dll │ ├── api-ms-win-core-datetime-l1-1-0.dll │ ├── api-ms-win-core-debug-l1-1-0.dll │ ├── api-ms-win-core-errorhandling-l1-1-0.dll │ ├── api-ms-win-core-file-l1-1-0.dll │ ├── api-ms-win-core-file-l1-2-0.dll │ ├── api-ms-win-core-file-l2-1-0.dll │ ├── api-ms-win-core-handle-l1-1-0.dll │ ├── api-ms-win-core-heap-l1-1-0.dll │ ├── api-ms-win-core-interlocked-l1-1-0.dll │ ├── api-ms-win-core-libraryloader-l1-1-0.dll │ ├── api-ms-win-core-localization-l1-2-0.dll │ ├── api-ms-win-core-memory-l1-1-0.dll │ ├── api-ms-win-core-namedpipe-l1-1-0.dll │ ├── api-ms-win-core-processenvironment-l1-1-0.dll │ ├── api-ms-win-core-processthreads-l1-1-0.dll │ ├── api-ms-win-core-processthreads-l1-1-1.dll │ ├── api-ms-win-core-profile-l1-1-0.dll │ ├── api-ms-win-core-rtlsupport-l1-1-0.dll │ ├── api-ms-win-core-string-l1-1-0.dll │ ├── api-ms-win-core-synch-l1-1-0.dll │ ├── api-ms-win-core-synch-l1-2-0.dll │ ├── api-ms-win-core-sysinfo-l1-1-0.dll │ ├── api-ms-win-core-timezone-l1-1-0.dll │ ├── api-ms-win-core-util-l1-1-0.dll │ ├── api-ms-win-crt-conio-l1-1-0.dll │ ├── api-ms-win-crt-convert-l1-1-0.dll │ ├── api-ms-win-crt-environment-l1-1-0.dll │ ├── api-ms-win-crt-filesystem-l1-1-0.dll │ ├── api-ms-win-crt-heap-l1-1-0.dll │ ├── api-ms-win-crt-locale-l1-1-0.dll │ ├── api-ms-win-crt-math-l1-1-0.dll │ ├── api-ms-win-crt-multibyte-l1-1-0.dll │ ├── api-ms-win-crt-private-l1-1-0.dll │ ├── api-ms-win-crt-process-l1-1-0.dll │ ├── api-ms-win-crt-runtime-l1-1-0.dll │ ├── api-ms-win-crt-stdio-l1-1-0.dll │ ├── api-ms-win-crt-string-l1-1-0.dll │ ├── api-ms-win-crt-time-l1-1-0.dll │ ├── api-ms-win-crt-utility-l1-1-0.dll │ └── ucrtbase.dll │ └── vc++ │ ├── concrt140.dll │ ├── msvcp140.dll │ ├── vccorlib140.dll │ └── vcruntime140.dll ├── lib ├── Itenso.Windows.Controls.ListViewLayout.dll ├── Itenso.Windows.Controls.ListViewLayout.pdb ├── x64 │ └── Interop.NETWORKLIST.dll └── x86 │ └── Interop.NETWORKLIST.dll ├── readme └── screenshot.png ├── security ├── README.md ├── syncthing_releases_cert.asc └── synctrayzor_releases_cert.asc ├── server ├── survey.php └── version_check.php └── src ├── ChecksumUtil ├── App.config ├── ChecksumUtil.csproj ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── PortableInstaller ├── App.config ├── PortableInstaller.csproj ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── ProcessRunner ├── App.config ├── GlobalSuppressions.cs ├── Options.cs ├── ProcessRunner.csproj ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── SyncTrayzor.sln └── SyncTrayzor ├── App.Installer.config.xslt ├── App.config ├── App.xaml ├── App.xaml.cs ├── Bootstrapper.cs ├── Design ├── DummyFileTransfersTrayViewModel.cs └── ViewModelLocator.cs ├── FodyWeavers.xml ├── GlobalSuppressions.cs ├── Icons ├── alert_tray.ico ├── alert_tray.svg ├── default.ico ├── default.svg ├── default_tray.ico ├── paused_tray.ico ├── paused_tray.svg ├── stopped.ico ├── stopped.svg ├── syncing_2.ico ├── syncing_2.svg ├── syncing_3.ico ├── syncing_3.svg ├── syncing_4.ico └── syncing_4.svg ├── Localization ├── CustomPluralLocalizationFormatter.cs ├── LocExtension.cs ├── LocalizeConverters.cs └── Localizer.cs ├── NotifyIcon ├── BalloonConductor.cs ├── ConnectedEventDebouncer.cs ├── NotifyIconManager.cs ├── NotifyIconResolutionUtilities.cs ├── NotifyIconViewModel.cs └── TaskbarIconResources.xaml ├── Pages ├── AboutView.xaml ├── AboutViewModel.cs ├── BarAlerts │ ├── AlertSeverity.cs │ ├── AlertSeverityToBackgroundColorConverter.cs │ ├── BarAlertsView.xaml │ ├── BarAlertsViewModel.cs │ ├── ConflictsAlertView.xaml │ ├── ConflictsAlertViewModel.cs │ ├── FailedTransfersAlertView.xaml │ ├── FailedTransfersAlertViewModel.cs │ ├── IBarAlert.cs │ ├── IntelXeGraphicsAlertView.xaml │ ├── IntelXeGraphicsAlertViewModel.cs │ ├── PausedDevicesFromMeteringView.xaml │ ├── PausedDevicesFromMeteringView.xaml.cs │ └── PausedDevicesFromMeteringViewModel.cs ├── ConflictResolution │ ├── ConflictOptionViewModel.cs │ ├── ConflictResolutionView.xaml │ ├── ConflictResolutionViewModel.cs │ ├── ConflictViewModel.cs │ ├── MultipleConflictsResolutionView.xaml │ ├── MultipleConflictsResolutionViewModel.cs │ ├── SingleConflictResolutionView.xaml │ └── SingleConflictResolutionViewModel.cs ├── ConsoleView.xaml ├── ConsoleViewModel.cs ├── NewVersionAlertToastView.xaml ├── NewVersionAlertToastViewModel.cs ├── NewVersionAlertView.xaml ├── NewVersionAlertViewModel.cs ├── NewVersionInstalledToastView.xaml ├── NewVersionInstalledToastViewModel.cs ├── Settings │ ├── KeyValueStringParser.cs │ ├── SettingItem.cs │ ├── SettingsView.xaml │ ├── SettingsViewModel.cs │ ├── SyncthingAddressValidator.cs │ ├── SyncthingCommandLineFlagsValidator.cs │ └── SyncthingEnvironmentalVariablesValidator.cs ├── ShellView.xaml ├── ShellViewModel.cs ├── ThirdPartyComponentsView.xaml ├── ThirdPartyComponentsViewModel.cs ├── Tray │ ├── FileTransferViewModel.cs │ ├── FileTransfersTrayView.xaml │ ├── FileTransfersTrayViewModel.cs │ ├── NetworkGraphView.xaml │ └── NetworkGraphViewModel.cs ├── UnhandledExceptionView.xaml ├── UnhandledExceptionViewModel.cs ├── ViewerView.xaml └── ViewerViewModel.cs ├── Properties ├── AssemblyInfo.cs ├── Resources.Designer.cs └── Resources.resx ├── Resources └── Licenses │ ├── BouncyCastle.txt │ ├── CEF.txt │ ├── CefSharp.txt │ ├── FluentValidation.txt │ ├── Fody.txt │ ├── Json.NET.txt │ ├── ListViewLayoutManager.txt │ ├── LongPath.txt │ ├── Mono.Options.txt │ ├── NLog.txt │ ├── NotifyIcon.txt │ ├── OxyPlot.txt │ ├── RestEase.txt │ ├── Rx.txt │ ├── SmartFormat.txt │ ├── Stylet.txt │ ├── Syncthing.txt │ └── WindowsAPICodePack.txt ├── Services ├── AlertsManager.cs ├── ApplicationState.cs ├── ApplicationWindowState.cs ├── AssemblyProvider.cs ├── AutostartProvider.cs ├── CommandLineOptionsParser.cs ├── Config │ ├── AppSettings.cs │ ├── ApplicationPathsProvider.cs │ ├── ConfigFolderCleaner.cs │ ├── Configuration.cs │ ├── ConfigurationProvider.cs │ ├── EnvironmentalVariableCollection.cs │ ├── FolderConfiguration.cs │ ├── IconAnimationMode.cs │ ├── LogLevel.cs │ ├── PathConfiguration.cs │ ├── SyncTrayzorVariant.cs │ ├── SyncthingPriorityLevel.cs │ └── WindowPlacement.cs ├── ConfigurationApplicator.cs ├── Conflicts │ ├── ConflictFileManager.cs │ └── ConflictFileWatcher.cs ├── DirectoryWatcher.cs ├── DonationManager.cs ├── FileWatcher.cs ├── FilesystemProvider.cs ├── FocusWindowProvider.cs ├── GraphicsCardDetector.cs ├── Ipc │ ├── IpcCommsClient.cs │ ├── IpcCommsClientFactory.cs │ └── IpcCommsServer.cs ├── MemoryUsageLogger.cs ├── Metering │ ├── MeteredNetworkManager.cs │ └── NetworkCostManager.cs ├── PathTransformer.cs ├── ProcessStartProvider.cs ├── UpdateManagement │ ├── IUpdateNotificationApi.cs │ ├── IUpdateVariantHandler.cs │ ├── InstalledUpdateVariantHandler.cs │ ├── InstallerCertificateVerifier.cs │ ├── PortableUpdateVariantHandler.cs │ ├── Release.cs │ ├── UpdateChecker.cs │ ├── UpdateCheckerFactory.cs │ ├── UpdateDownloader.cs │ ├── UpdateManager.cs │ ├── UpdateNotificationClient.cs │ ├── UpdateNotificationClientFactory.cs │ ├── UpdateNotificationResponse.cs │ └── UpdatePromptProvider.cs ├── UserActivityMonitor.cs └── WatchedFolderMonitor.cs ├── SyncTrayzor.csproj ├── SyncTrayzor.ruleset ├── Syncthing ├── ApiClient │ ├── Config.cs │ ├── ConfigSavedEvent.cs │ ├── Connections.cs │ ├── DebugFacilitiesSettings.cs │ ├── DefaultingStringEnumConverter.cs │ ├── DeviceConnectedEvent.cs │ ├── DeviceDisconnectedEvent.cs │ ├── DevicePausedEvent.cs │ ├── DeviceRejectedEvent.cs │ ├── DeviceResumedEvent.cs │ ├── DownloadProgressEvent.cs │ ├── Event.cs │ ├── EventConverter.cs │ ├── EventType.cs │ ├── FolderErrorsEvent.cs │ ├── FolderRejectedEvent.cs │ ├── FolderStatus.cs │ ├── FolderSummaryEvent.cs │ ├── GenericEvent.cs │ ├── IEventVisitor.cs │ ├── ISyncthingApi.cs │ ├── ISyncthingApiClient.cs │ ├── ItemChangedActionType.cs │ ├── ItemChangedItemType.cs │ ├── ItemFinishedEvent.cs │ ├── ItemStartedEvent.cs │ ├── JsonCreationConverter.cs │ ├── LocalIndexUpdatedEvent.cs │ ├── RemoteIndexUpdatedEvent.cs │ ├── StartupCompleteEvent.cs │ ├── StateChangedEvent.cs │ ├── SyncthingApiClient.cs │ ├── SyncthingApiClientFactory.cs │ ├── SyncthingHttpClientHandler.cs │ ├── SyncthingVersion.cs │ └── SystemInfo.cs ├── DeviceRejectedEventArgs.cs ├── Devices │ ├── Device.cs │ ├── DeviceConnectedEventArgs.cs │ ├── DeviceDisconnectedEventArgs.cs │ ├── DevicePausedEventArgs.cs │ ├── DeviceResumedEventArgs.cs │ ├── SyncthingAddressParser.cs │ └── SyncthingDeviceManager.cs ├── EventWatcher │ ├── ConfigSavedEventArgs.cs │ ├── DeviceConnectedEventArgs.cs │ ├── DeviceDisconnectedEventArgs.cs │ ├── DevicePausedEventArgs.cs │ ├── DeviceRejectedEventArgs.cs │ ├── DeviceResumedEventArgs.cs │ ├── FolderErrorsChangedEventArgs.cs │ ├── FolderRejectedEventArgs.cs │ ├── FolderStatusChangedEventArgs.cs │ ├── ItemDownloadProgressChangedEventArgs.cs │ ├── ItemFinishedEventArgs.cs │ ├── ItemStartedEventArgs.cs │ ├── ItemStateChangedEventArgs.cs │ ├── SyncStateChangedEventArgs.cs │ ├── SyncthingEventWatcher.cs │ └── SyncthingEventWatcherFactory.cs ├── FolderRejectedEventArgs.cs ├── Folders │ ├── Folder.cs │ ├── FolderError.cs │ ├── FolderErrorsChangedEventArgs.cs │ ├── FolderStateTransformer.cs │ ├── FolderStatusChangedEventArgs.cs │ ├── FolderSyncState.cs │ ├── FolderSyncStateChangedEventArgs.cs │ └── SyncthingFolderManager.cs ├── FreePortFinder.cs ├── MessageLoggedEventArgs.cs ├── SyncthingCapabilities.cs ├── SyncthingConnectionStats.cs ├── SyncthingConnectionsWatcher.cs ├── SyncthingConnectionsWatcherFactory.cs ├── SyncthingDidNotStartCorrectlyException.cs ├── SyncthingManager.cs ├── SyncthingPoller.cs ├── SyncthingProcessRunner.cs ├── SyncthingState.cs ├── SyncthingStateChangedEventArgs.cs ├── SyncthingVersionInformation.cs ├── TransferHistory │ ├── FailingTransfer.cs │ ├── FileTransfer.cs │ ├── FileTransferChangedEventArgs.cs │ ├── FileTransferStatus.cs │ ├── FolderSynchronizationFinishedEventArgs.cs │ └── SyncthingTransferHistory.cs └── TransientWrapper.cs ├── Utils ├── AtomicFileStream.cs ├── Buffer.cs ├── ChecksumFileUtilities.cs ├── DotNetVersionFinder.cs ├── EnumerableExtensions.cs ├── FluentModelValidator.cs ├── FormatUtils.cs ├── LimitedConcurrencyTaskScheduler.cs ├── ListExtensions.cs ├── ObservableQueue.cs ├── Options.cs ├── PathEx.cs ├── PgpClearsignUtilities.cs ├── RecycleBinDeleter.cs ├── SafeSyncthingExtensions.cs ├── SemaphoreSlimExtensions.cs ├── ShellTools.cs ├── StreamExtensions.cs ├── StringExtensions.cs ├── SynchronizedEventDispatcher.cs ├── SynchronizedEventSubscriber.cs └── UriExtensions.cs ├── Xaml ├── ActivateBehaviour.cs ├── BoringListView.xaml ├── CollapsingRowDefinitionBehaviour.cs ├── CultureAwareBinding.cs ├── DetachingBehaviour.cs ├── GridLengthToAbsoluteConverter.cs ├── GridViewSortByBehaviour.cs ├── LogMessageListToStringConverter.cs ├── MouseWheelGesture.cs ├── NoSizeBelowScreenBehaviour.cs ├── PassiveListView.xaml ├── PopupConductorBehaviour.cs ├── RemoveMnemonicsConverter.cs ├── Resources.xaml ├── ScrollToEndBehaviour.cs ├── TextBoxUtilities.cs ├── UacImageSource.cs └── WindowPlacementBehaviour.cs ├── app.manifest └── idle.ico /.gitattributes: -------------------------------------------------------------------------------- 1 | *.cs eol=crlf 2 | *.xaml eol=crlf 3 | *.sln eol=crlf 4 | *.csproj eol=crlf 5 | *.resx eol=crlf 6 | *.settings eol=crlf 7 | *.config eol=crlf 8 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing to SyncTrayzor 2 | =========================== 3 | 4 | When opening an issue, you **must** include the SyncTrayzor version and Syncthing version. 5 | For crashes, please provide the full stack trace that SyncTrayzor gave you in its 'Oops! Something went badly wrong' window. 6 | 7 | If you're multi-lingual? SyncTrayzor needs you! Please read [Localization](https://github.com/canton7/SyncTrayzor/wiki/Localization). 8 | 9 | Want to make a code contribution? Fantastic, and thank you! Please read [Contributing](https://github.com/canton7/SyncTrayzor/wiki/Contributing) first. -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://github.com/canton7/synctrayzor/blob/develop/DONATING.md#donating'] -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #Visual Studio files 2 | .vs 3 | *.[Oo]bj 4 | *.user 5 | *.aps 6 | *.pch 7 | *.vspscc 8 | *.vssscc 9 | *_i.c 10 | *_p.c 11 | *.ncb 12 | *.suo 13 | *.tlb 14 | *.tlh 15 | *.bak 16 | *.[Cc]ache 17 | *.ilk 18 | *.log 19 | *.lib 20 | *.sbr 21 | *.sdf 22 | *.opensdf 23 | *.unsuccessfulbuild 24 | ipch/ 25 | obj/ 26 | [Bb]in 27 | [Dd]ebug/ 28 | [Rr]elease*/ 29 | 30 | #Project files 31 | [Bb]uild/ 32 | !/build 33 | 34 | #NuGet 35 | packages/ 36 | *.nupkg 37 | 38 | #Installer 39 | SyncTrayzorSetup*.exe 40 | SyncTrayzorPortable* 41 | syncthing-*.exe 42 | syncthing.exe 43 | 44 | *.gjq 45 | *.tmp 46 | Coverage 47 | SyncTrayzorPortable 48 | deploy 49 | *.pfx 50 | *.pvk 51 | /src/SyncTrayzor/Icons/*.png 52 | security/private_key.asc 53 | chocolatey/tools/LICENSE.txt 54 | -------------------------------------------------------------------------------- /DONATING.md: -------------------------------------------------------------------------------- 1 | Donating 2 | ======== 3 | 4 | Syncthing and SyncTrayzor are free software, and you don't need to pay a penny to use them. 5 | However, if you find them useful, please consider giving a small amount to one of the causes below. 6 | 7 | Syncthing 8 | --------- 9 | 10 | SyncTrayzor is just the wrapper around [Syncthing](https://syncthing.net), which makes it look and behave like a native Windows application. 11 | The heavy lifting is being done by Syncthing. 12 | 13 | While development is done for free by a fantastic team, running the infrastructure which lets your devices find and talk to each other costs money, as does hosting things like the [website](https://syncthing.net) and [forum](https://forum.syncthing.net). 14 | If you make use of these, I kindly ask that you consider sending a small amount towards funding Syncthing's running costs and future development. 15 | Donations are handled by the Syncthing Foundation, whose accounts are public. 16 | 17 | [Donate to Syncthing](https://syncthing.net/donations/). 18 | 19 | 20 | SyncTrayzor Charity Fundraiser 21 | ------------------------------ 22 | 23 | I've put a lot of my free time into writing and maintaining SyncTrayzor. 24 | If you use it and appreciate it, I'd be very grateful if you could show your thanks by 25 | donating a small amount (the price of a beer) to charity. 26 | 27 | I've been running charity fundraisers for many years, and very kind people from all over the world have helped raise thousands for people who really need it, which is absolutely amazing. 28 | 29 | Please consider [donating to the current appeal](https://synctrayzor.antonymale.co.uk/fundraiser). 30 | 31 | 32 | Buy me a beer 33 | ------------- 34 | 35 | If you want to buy me a coffee (or beer!), you'll absolutely make my day. 36 | Thank you! 37 | 38 | I'm on [Ko-fi](https://ko-fi.com/canton7) or [PayPal](https://www.paypal.com/donate?hosted_button_id=92FADFBYS42MU). 39 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2021 Antony Male 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /SyncTrayzor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/SyncTrayzor.png -------------------------------------------------------------------------------- /build/7za.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/build/7za.exe -------------------------------------------------------------------------------- /build/vswhere.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/build/vswhere.exe -------------------------------------------------------------------------------- /chocolatey/tools/VERIFICATION.txt: -------------------------------------------------------------------------------- 1 | VERIFICATION 2 | Verification is intended to assist the Chocolatey moderators and community 3 | in verifying that this package's contents are trustworthy. 4 | 5 | This package is published by the developer of SyncTrayzor. 6 | Binaries are identical to the setup binaries available at the GitHub release page: 7 | https://github.com/canton7/SyncTrayzor/releases -------------------------------------------------------------------------------- /installer/certnotes.txt: -------------------------------------------------------------------------------- 1 | http://blogs.msdn.com/b/httpcontext/archive/2012/05/24/how-to-digitally-sign-a-strong-named-assembly.aspx 2 | http://www.jayway.com/2014/09/03/creating-self-signed-certificates-with-makecert-exe-for-development/ 3 | 4 | admin console: 5 | 6 | makecert -r -pe -n "CN=TheCN" -a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer 7 | pvk2pfx -pvk MyCA.pvk -spc MyCA.cer -pfx MyCA.pfx 8 | 9 | Optional: Install MyCA.pfx into cert store by double-clicking it 10 | 11 | appears to need cmd: git bash won't work 12 | signtool sign /f MyCA.pfx /v theFileToSign.exe 13 | 14 | http://stackoverflow.com/questions/24060009/checking-digital-signature-on-exe 15 | 16 | signtool verify /v theFileToSign.exe 17 | 18 | Check that SHA1 hash matches 'Thumbprint' of cert -------------------------------------------------------------------------------- /installer/dotNet472Setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/dotNet472Setup.exe -------------------------------------------------------------------------------- /installer/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/icon.bmp -------------------------------------------------------------------------------- /installer/x64/installer-x64.iss: -------------------------------------------------------------------------------- 1 | #define Arch "x64" 2 | #define AppId "{c004dcef-b848-46a5-9c30-4dbf736396fa}" 3 | 4 | #include "../common.iss" -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-console-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-console-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-console-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-console-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-datetime-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-datetime-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-debug-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-debug-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-errorhandling-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-errorhandling-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-file-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-file-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-file-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-file-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-file-l2-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-file-l2-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-handle-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-handle-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-heap-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-heap-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-interlocked-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-interlocked-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-libraryloader-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-libraryloader-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-localization-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-localization-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-memory-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-memory-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-namedpipe-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-namedpipe-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-processenvironment-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-processenvironment-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-processthreads-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-processthreads-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-processthreads-l1-1-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-processthreads-l1-1-1.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-profile-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-profile-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-rtlsupport-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-rtlsupport-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-string-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-string-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-synch-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-synch-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-synch-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-synch-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-sysinfo-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-sysinfo-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-timezone-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-timezone-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-core-util-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-core-util-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-conio-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-conio-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-convert-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-convert-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-environment-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-environment-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-filesystem-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-filesystem-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-heap-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-heap-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-locale-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-locale-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-math-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-math-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-multibyte-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-multibyte-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-private-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-private-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-process-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-process-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-runtime-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-runtime-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-stdio-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-stdio-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-string-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-string-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-time-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-time-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/api-ms-win-crt-utility-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/api-ms-win-crt-utility-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x64/ucrt/ucrtbase.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/ucrt/ucrtbase.dll -------------------------------------------------------------------------------- /installer/x64/vc++/concrt140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/vc++/concrt140.dll -------------------------------------------------------------------------------- /installer/x64/vc++/msvcp140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/vc++/msvcp140.dll -------------------------------------------------------------------------------- /installer/x64/vc++/vccorlib140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/vc++/vccorlib140.dll -------------------------------------------------------------------------------- /installer/x64/vc++/vcruntime140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x64/vc++/vcruntime140.dll -------------------------------------------------------------------------------- /installer/x86/installer-x86.iss: -------------------------------------------------------------------------------- 1 | #define Arch "x86" 2 | #define AppId "{c9bab27b-d754-4b62-ad8c-3509e1cac15c}" 3 | 4 | #include "../common.iss" 5 | -------------------------------------------------------------------------------- /installer/x86/ucrt/API-MS-Win-core-xstate-l2-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/API-MS-Win-core-xstate-l2-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-console-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-console-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-console-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-console-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-datetime-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-datetime-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-debug-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-debug-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-errorhandling-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-errorhandling-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-file-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-file-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-file-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-file-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-file-l2-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-file-l2-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-handle-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-handle-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-heap-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-heap-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-interlocked-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-interlocked-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-libraryloader-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-libraryloader-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-localization-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-localization-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-memory-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-memory-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-namedpipe-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-namedpipe-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-processenvironment-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-processenvironment-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-processthreads-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-processthreads-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-processthreads-l1-1-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-processthreads-l1-1-1.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-profile-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-profile-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-rtlsupport-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-rtlsupport-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-string-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-string-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-synch-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-synch-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-synch-l1-2-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-synch-l1-2-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-sysinfo-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-sysinfo-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-timezone-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-timezone-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-core-util-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-core-util-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-conio-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-conio-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-convert-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-convert-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-environment-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-environment-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-filesystem-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-filesystem-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-heap-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-heap-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-locale-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-locale-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-math-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-math-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-multibyte-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-multibyte-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-private-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-private-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-process-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-process-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-runtime-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-runtime-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-stdio-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-stdio-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-string-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-string-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-time-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-time-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/api-ms-win-crt-utility-l1-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/api-ms-win-crt-utility-l1-1-0.dll -------------------------------------------------------------------------------- /installer/x86/ucrt/ucrtbase.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/ucrt/ucrtbase.dll -------------------------------------------------------------------------------- /installer/x86/vc++/concrt140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/vc++/concrt140.dll -------------------------------------------------------------------------------- /installer/x86/vc++/msvcp140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/vc++/msvcp140.dll -------------------------------------------------------------------------------- /installer/x86/vc++/vccorlib140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/vc++/vccorlib140.dll -------------------------------------------------------------------------------- /installer/x86/vc++/vcruntime140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/installer/x86/vc++/vcruntime140.dll -------------------------------------------------------------------------------- /lib/Itenso.Windows.Controls.ListViewLayout.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/lib/Itenso.Windows.Controls.ListViewLayout.dll -------------------------------------------------------------------------------- /lib/Itenso.Windows.Controls.ListViewLayout.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/lib/Itenso.Windows.Controls.ListViewLayout.pdb -------------------------------------------------------------------------------- /lib/x64/Interop.NETWORKLIST.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/lib/x64/Interop.NETWORKLIST.dll -------------------------------------------------------------------------------- /lib/x86/Interop.NETWORKLIST.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/lib/x86/Interop.NETWORKLIST.dll -------------------------------------------------------------------------------- /readme/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/readme/screenshot.png -------------------------------------------------------------------------------- /server/survey.php: -------------------------------------------------------------------------------- 1 | setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 23 | $db->exec('PRAGMA foreign_keys = ON;'); 24 | 25 | if (!$exists) 26 | { 27 | $db->exec("CREATE TABLE IF NOT EXISTS responses ( 28 | id INTEGER PRIMARY KEY, 29 | date TEXT NOT NULL, 30 | version TEXT NOT NULL, 31 | ip TEXT NOT NULL, 32 | comment TEXT 33 | );"); 34 | $db->exec("CREATE TABLE IF NOT EXISTS checklist ( 35 | id INTEGER PRIMARY KEY, 36 | response_id INTEGER NOT NULL REFERENCES responses(id), 37 | key TEXT NOT NULL 38 | );"); 39 | } 40 | 41 | $data = json_decode(file_get_contents('php://input'), true); 42 | $stmt = $db->prepare("INSERT INTO responses(date, ip, version, comment) VALUES (CURRENT_TIMESTAMP, :ip, :version, :comment);"); 43 | $stmt->execute(array( 44 | 'ip' => $_SERVER['REMOTE_ADDR'], 45 | 'version' => $data['version'], 46 | 'comment' => $data['comment'])); 47 | $responseId = $db->lastInsertId(); 48 | 49 | $stmt = $db->prepare("INSERT INTO CHECKLIST (response_id, key) VALUES (:response_id, :key);"); 50 | 51 | foreach ($data['checklist'] as $key => $value) 52 | { 53 | if ($value) 54 | { 55 | $stmt->execute(array('response_id' => $responseId, 'key' => $key)); 56 | } 57 | } 58 | } 59 | catch (Exception $e) 60 | { 61 | $loggable_error = $e->getMessage() . "\n" . $e->getTraceAsString(); 62 | file_put_contents("survey_errors.txt", $loggable_error, FILE_APPEND); 63 | } -------------------------------------------------------------------------------- /src/ChecksumUtil/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/ChecksumUtil/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ChecksumUtil")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChecksumUtil")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("d796924f-d24e-4059-81e5-e450cb63dbd7")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.0.0.0")] 36 | [assembly: AssemblyFileVersion("0.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/PortableInstaller/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/PortableInstaller/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("PortableInstaller")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PortableInstaller")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1803ab89-4148-4dfc-ae7b-b4191bd6281c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.0.0.0")] 36 | [assembly: AssemblyFileVersion("0.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/ProcessRunner/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/ProcessRunner/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 |  2 | // This file is used by Code Analysis to maintain SuppressMessage 3 | // attributes that are applied to this project. 4 | // Project-level suppressions either have no target or are given 5 | // a specific target and scoped to a namespace, type, member, etc. 6 | 7 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0016:Use 'throw' expression", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.ActionOption.#ctor(System.String,System.String,System.Int32,System.Action{Mono.Options.OptionValueCollection},System.Boolean)")] 8 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0016:Use 'throw' expression", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.ActionOption`1.#ctor(System.String,System.String,System.Action{`0})")] 9 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0016:Use 'throw' expression", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.ActionOption`2.#ctor(System.String,System.String,Mono.Options.OptionAction{`0,`1})")] 10 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.AddSource(Mono.Options.OptionSet.ArgumentEnumerator,System.String)~System.Boolean")] 11 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.Parse(System.String,Mono.Options.OptionContext)~System.Boolean")] 12 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0019:Use pattern matching", Justification = "Imported library", Scope = "member", Target = "~M:Mono.Options.OptionSet.WriteOptionDescriptions(System.IO.TextWriter)")] -------------------------------------------------------------------------------- /src/ProcessRunner/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SyncTrayzor ProcessRunner")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SyncTrayzor")] 13 | [assembly: AssemblyCopyright("Copyright © Antony Male 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("36988a78-a078-4de7-b23f-8a39646ee687")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.20.0")] 35 | [assembly: AssemblyVersion("0.0.0.0")] 36 | [assembly: AssemblyFileVersion("0.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/SyncTrayzor/App.Installer.config.xslt: -------------------------------------------------------------------------------- 1 |  2 | 4 | 5 | 6 | true 7 | Installed 8 | 9 | %APPDATA%\SyncTrayzor\logs 10 | %APPDATA%\SyncTrayzor\config.xml 11 | %APPDATA%\SyncTrayzor\config-backups 12 | %LOCALAPPDATA%\SyncTrayzor\cef\cache 13 | %APPDATA%\SyncTrayzor\syncthing.exe 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/SyncTrayzor/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/SyncTrayzor/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace SyncTrayzor 4 | { 5 | /// 6 | /// Interaction logic for App.xaml 7 | /// 8 | public partial class App : Application 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Design/ViewModelLocator.cs: -------------------------------------------------------------------------------- 1 | namespace SyncTrayzor.Design 2 | { 3 | public class ViewModelLocator 4 | { 5 | public DummyFileTransfersTrayViewModel FileTransfersTrayViewModel => new DummyFileTransfersTrayViewModel(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/SyncTrayzor/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/alert_tray.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/alert_tray.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/default.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/default.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/default_tray.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/default_tray.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/paused_tray.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/paused_tray.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/stopped.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/stopped.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/syncing_2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/syncing_2.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/syncing_3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/syncing_3.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/Icons/syncing_4.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/canton7/SyncTrayzor/d7788138f336ec1c673914152b24c7dc98f32bbc/src/SyncTrayzor/Icons/syncing_4.ico -------------------------------------------------------------------------------- /src/SyncTrayzor/NotifyIcon/BalloonConductor.cs: -------------------------------------------------------------------------------- 1 | using Hardcodet.Wpf.TaskbarNotification; 2 | using Stylet; 3 | using System.Threading.Tasks; 4 | 5 | namespace SyncTrayzor.NotifyIcon 6 | { 7 | public class BalloonConductor : IChildDelegate 8 | { 9 | private readonly TaskbarIcon taskbarIcon; 10 | private readonly object child; 11 | private readonly object view; 12 | private readonly TaskCompletionSource tcs; 13 | 14 | public BalloonConductor(TaskbarIcon taskbarIcon, object child, object view, TaskCompletionSource tcs) 15 | { 16 | this.taskbarIcon = taskbarIcon; 17 | this.child = child; 18 | this.view = view; 19 | this.tcs = tcs; 20 | 21 | if (this.child is IChild childAsIChild) 22 | childAsIChild.Parent = this; 23 | } 24 | 25 | public void CloseItem(object item, bool? dialogResult = null) 26 | { 27 | if (item != this.child) 28 | return; 29 | 30 | if (this.taskbarIcon.CustomBalloon.Child != this.view) 31 | return; 32 | 33 | this.tcs.TrySetResult(dialogResult); 34 | this.taskbarIcon.CloseBalloon(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/AlertSeverity.cs: -------------------------------------------------------------------------------- 1 | namespace SyncTrayzor.Pages.BarAlerts 2 | { 3 | public enum AlertSeverity 4 | { 5 | Info, 6 | Warning, 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/AlertSeverityToBackgroundColorConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Globalization; 4 | using System.Windows.Data; 5 | using System.Windows.Media; 6 | 7 | namespace SyncTrayzor.Pages.BarAlerts 8 | { 9 | public class AlertSeverityToBackgroundColorConverter : IValueConverter 10 | { 11 | public static readonly AlertSeverityToBackgroundColorConverter Instance = new AlertSeverityToBackgroundColorConverter(); 12 | 13 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 14 | { 15 | if (!(value is AlertSeverity)) 16 | return null; 17 | 18 | var severity = (AlertSeverity)value; 19 | 20 | switch (severity) 21 | { 22 | case AlertSeverity.Info: 23 | return new SolidColorBrush(Color.FromArgb(125, 135, 206, 250)); 24 | 25 | case AlertSeverity.Warning: 26 | return new SolidColorBrush(Color.FromArgb(125, 255, 255, 0)); 27 | 28 | default: 29 | Debug.Assert(false); 30 | return null; 31 | } 32 | } 33 | 34 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 35 | { 36 | return null; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/BarAlertsView.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/ConflictsAlertView.xaml: -------------------------------------------------------------------------------- 1 |  12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/ConflictsAlertViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System; 3 | 4 | namespace SyncTrayzor.Pages.BarAlerts 5 | { 6 | public class ConflictsAlertViewModel : PropertyChangedBase, IBarAlert 7 | { 8 | public event EventHandler OpenConflictResolverClicked; 9 | 10 | public AlertSeverity Severity => AlertSeverity.Warning; 11 | 12 | public int NumConflicts { get; } 13 | 14 | public ConflictsAlertViewModel(int numConflicts) 15 | { 16 | this.NumConflicts = numConflicts; 17 | } 18 | 19 | public void OpenConflictResolver() 20 | { 21 | this.OpenConflictResolverClicked?.Invoke(this, EventArgs.Empty); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/FailedTransfersAlertView.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/FailedTransfersAlertViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System.Collections.Generic; 3 | 4 | namespace SyncTrayzor.Pages.BarAlerts 5 | { 6 | public class FailedTransfersAlertViewModel : Screen, IBarAlert 7 | { 8 | public AlertSeverity Severity => AlertSeverity.Warning; 9 | 10 | public BindableCollection FailingFolders { get; } = new BindableCollection(); 11 | 12 | public FailedTransfersAlertViewModel(IEnumerable failingFolders) 13 | { 14 | this.FailingFolders.AddRange(failingFolders); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/IBarAlert.cs: -------------------------------------------------------------------------------- 1 | namespace SyncTrayzor.Pages.BarAlerts 2 | { 3 | public interface IBarAlert 4 | { 5 | AlertSeverity Severity { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/IntelXeGraphicsAlertView.xaml: -------------------------------------------------------------------------------- 1 |  12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/IntelXeGraphicsAlertViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using SyncTrayzor.Services.Config; 3 | 4 | namespace SyncTrayzor.Pages.BarAlerts 5 | { 6 | public class IntelXeGraphicsAlertViewModel : Screen, IBarAlert 7 | { 8 | private readonly IConfigurationProvider configurationProvider; 9 | 10 | public AlertSeverity Severity => AlertSeverity.Info; 11 | 12 | public IntelXeGraphicsAlertViewModel(IConfigurationProvider configurationProvider) 13 | { 14 | this.configurationProvider = configurationProvider; 15 | } 16 | 17 | public void Dismiss() 18 | { 19 | this.configurationProvider.AtomicLoadAndSave(config => config.HideIntelXeWarningMessage = true); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/PausedDevicesFromMeteringView.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/PausedDevicesFromMeteringView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | 3 | namespace SyncTrayzor.Pages.BarAlerts 4 | { 5 | /// 6 | /// Interaction logic for PausedDevicesFromMeteringView.xaml 7 | /// 8 | public partial class PausedDevicesFromMeteringView : UserControl 9 | { 10 | public PausedDevicesFromMeteringView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/BarAlerts/PausedDevicesFromMeteringViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System.Collections.Generic; 3 | 4 | namespace SyncTrayzor.Pages.BarAlerts 5 | { 6 | public class PausedDevicesFromMeteringViewModel : Screen, IBarAlert 7 | { 8 | public AlertSeverity Severity => AlertSeverity.Info; 9 | 10 | public BindableCollection PausedDeviceNames { get; } = new BindableCollection(); 11 | 12 | public PausedDevicesFromMeteringViewModel(IEnumerable pausedDeviceNames) 13 | { 14 | this.PausedDeviceNames.AddRange(pausedDeviceNames); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/ConflictResolution/ConflictOptionViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using SyncTrayzor.Services.Conflicts; 3 | using SyncTrayzor.Utils; 4 | using System; 5 | using System.IO; 6 | 7 | namespace SyncTrayzor.Pages.ConflictResolution 8 | { 9 | public class ConflictOptionViewModel : PropertyChangedBase 10 | { 11 | public ConflictOption ConflictOption { get; } 12 | 13 | public string FileName => Path.GetFileName(this.ConflictOption.FilePath); 14 | 15 | public DateTime DateCreated => this.ConflictOption.Created; 16 | public DateTime LastModified => this.ConflictOption.LastModified; 17 | public string Size => FormatUtils.BytesToHuman(this.ConflictOption.SizeBytes, 1); 18 | public string ModifiedBy => this.ConflictOption.Device?.Name; 19 | 20 | public ConflictOptionViewModel(ConflictOption conflictOption) 21 | { 22 | this.ConflictOption = conflictOption; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/ConflictResolution/MultipleConflictsResolutionViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using SyncTrayzor.Utils; 3 | using System.Collections.Generic; 4 | 5 | namespace SyncTrayzor.Pages.ConflictResolution 6 | { 7 | public class MultipleConflictsResolutionViewModel : Screen 8 | { 9 | public List Conflicts { get; set; } 10 | 11 | public ConflictResolutionViewModel Delegate { get; set; } 12 | 13 | public void ChooseOriginal() 14 | { 15 | foreach (var conflict in this.Conflicts) 16 | { 17 | this.Delegate.ChooseOriginal(conflict); 18 | } 19 | } 20 | 21 | public void ChooseNewest() 22 | { 23 | foreach(var conflict in this.Conflicts) 24 | { 25 | var newestOption = conflict.ConflictOptions.MaxBy(x => x.DateCreated); 26 | if (newestOption.DateCreated > conflict.LastModified) 27 | this.Delegate.ChooseConflictFile(conflict, newestOption); 28 | else 29 | this.Delegate.ChooseOriginal(conflict); 30 | } 31 | } 32 | 33 | public void ChooseNewestConflict() 34 | { 35 | foreach (var conflict in this.Conflicts) 36 | { 37 | var newestOption = conflict.ConflictOptions.MaxBy(x => x.DateCreated); 38 | this.Delegate.ChooseConflictFile(conflict, newestOption); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/ConflictResolution/SingleConflictResolutionViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | 3 | namespace SyncTrayzor.Pages.ConflictResolution 4 | { 5 | public class SingleConflictResolutionViewModel : Screen 6 | { 7 | public ConflictViewModel Conflict { get; set; } 8 | 9 | public ConflictResolutionViewModel Delegate { get; set; } 10 | 11 | public void ShowFileInFolder() 12 | { 13 | this.Delegate.ShowFileInFolder(this.Conflict); 14 | } 15 | 16 | public void ChooseOriginal() 17 | { 18 | this.Delegate.ChooseOriginal(this.Conflict); 19 | } 20 | 21 | public void ChooseConflictFile(ConflictOptionViewModel conflictOption) 22 | { 23 | this.Delegate.ChooseConflictFile(this.Conflict, conflictOption); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/NewVersionAlertToastViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System; 3 | 4 | namespace SyncTrayzor.Pages 5 | { 6 | public class NewVersionAlertToastViewModel : Screen 7 | { 8 | public bool CanInstall { get; set; } 9 | public Version Version { get; set; } 10 | public bool ShowUacBadge { get; set; } 11 | 12 | public bool DontRemindMe { get; private set; } 13 | public bool ShowMoreDetails { get; private set; } 14 | 15 | public NewVersionAlertToastViewModel() 16 | { 17 | } 18 | 19 | public void Download() 20 | { 21 | this.RequestClose(true); 22 | } 23 | 24 | public void Install() 25 | { 26 | this.RequestClose(true); 27 | } 28 | 29 | public void RemindLater() 30 | { 31 | this.RequestClose(false); 32 | } 33 | 34 | public void DontRemind() 35 | { 36 | this.DontRemindMe = true; 37 | this.RequestClose(false); 38 | } 39 | 40 | public void DisplayMoreDetails() 41 | { 42 | this.ShowMoreDetails = true; 43 | this.RequestClose(false); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/NewVersionAlertViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System; 3 | 4 | namespace SyncTrayzor.Pages 5 | { 6 | public class NewVersionAlertViewModel : Screen 7 | { 8 | public bool CanInstall { get; set; } 9 | public Version Version { get; set; } 10 | public string Changelog { get; set; } 11 | public bool ShowUacBadge { get; set; } 12 | 13 | public bool DontRemindMe { get; private set; } 14 | 15 | public void Download() 16 | { 17 | this.RequestClose(true); 18 | } 19 | 20 | public void Install() 21 | { 22 | this.RequestClose(true); 23 | } 24 | 25 | public void RemindLater() 26 | { 27 | this.RequestClose(false); 28 | } 29 | 30 | public void DontRemind() 31 | { 32 | this.DontRemindMe = true; 33 | this.RequestClose(false); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/NewVersionInstalledToastView.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/NewVersionInstalledToastViewModel.cs: -------------------------------------------------------------------------------- 1 | using Stylet; 2 | using System; 3 | 4 | namespace SyncTrayzor.Pages 5 | { 6 | public class NewVersionInstalledToastViewModel : Screen 7 | { 8 | public Version Version { get; set; } 9 | public string VersionString => this.Version.ToString(3); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/Settings/SyncthingAddressValidator.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | using SyncTrayzor.Properties; 3 | using System; 4 | 5 | namespace SyncTrayzor.Pages.Settings 6 | { 7 | public class SyncthingAddressValidator : AbstractValidator> 8 | { 9 | public SyncthingAddressValidator() 10 | { 11 | RuleFor(x => x.Value).NotEmpty().WithMessage(Resources.SettingsView_Validation_NotShouldBeEmpty); 12 | RuleFor(x => x.Value).Must(str => 13 | { 14 | // URI seems to think https://http://something is valid... 15 | if (str.StartsWith("http:") || str.StartsWith("https:")) 16 | return false; 17 | 18 | str = "http://" + str; 19 | return Uri.TryCreate(str, UriKind.Absolute, out var uri) && uri.IsWellFormedOriginalString() && uri.PathAndQuery == "/" && uri.Fragment == ""; 20 | }).WithMessage(Resources.SettingsView_Validation_InvalidUrl); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/Settings/SyncthingCommandLineFlagsValidator.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using FluentValidation; 3 | using SyncTrayzor.Localization; 4 | using SyncTrayzor.Properties; 5 | 6 | namespace SyncTrayzor.Pages.Settings 7 | { 8 | public class SyncthingCommandLineFlagsValidator : AbstractValidator> 9 | { 10 | // This dups stuff from SyncthingProcessRunner 11 | private static readonly string[] forbiddenArgs = new[] { "-no-browser", "-no-restart", "-gui-apikey", "-gui-address", "-home" }; 12 | 13 | public SyncthingCommandLineFlagsValidator() 14 | { 15 | RuleFor(x => x.Value).Must(str => 16 | { 17 | return KeyValueStringParser.TryParse(str, out var result, mustHaveValue: false); 18 | }).WithMessage(Resources.SettingsView_Validation_SyncthingCommandLineFlagsMustHaveFormat); 19 | 20 | RuleFor(x => x.Value).SetValidator(new IndividualFlagsValidator()); 21 | } 22 | 23 | private class IndividualFlagsValidator : AbstractValidator 24 | { 25 | public IndividualFlagsValidator() 26 | { 27 | this.RuleFor(x => x).Custom((str, ctx) => 28 | { 29 | KeyValueStringParser.TryParse(str, out var result, mustHaveValue: false); 30 | 31 | if (!result.All(flag => flag.Key.StartsWith("-"))) 32 | ctx.AddFailure(Resources.SettingsView_Validation_SyncthingCommandLineFlagsMustBeginWithHyphen); 33 | 34 | var firstFailure = result.Select(flag => flag.Key).FirstOrDefault(key => forbiddenArgs.Contains(key)); 35 | if (firstFailure != null) 36 | ctx.AddFailure(Localizer.F(Resources.SettingsView_Validation_SyncthingCommandLineFlagIsNotAllowed, firstFailure)); 37 | }); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/Settings/SyncthingEnvironmentalVariablesValidator.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using FluentValidation; 3 | using SyncTrayzor.Properties; 4 | 5 | namespace SyncTrayzor.Pages.Settings 6 | { 7 | public class SyncthingEnvironmentalVariablesValidator : AbstractValidator> 8 | { 9 | public SyncthingEnvironmentalVariablesValidator() 10 | { 11 | RuleFor(x => x.Value).Must(str => 12 | { 13 | return KeyValueStringParser.TryParse(str, out var result); 14 | }).WithMessage(Resources.SettingsView_Validation_SyncthingEnvironmentalVariablesMustHaveFormat); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/Tray/NetworkGraphView.xaml: -------------------------------------------------------------------------------- 1 |  14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/SyncTrayzor/Pages/UnhandledExceptionView.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |