├── app ├── XDM │ ├── XDM.Win.Installer │ │ ├── dotnet │ │ ├── icon.ico │ │ ├── ReadMe.txt │ │ ├── build-installer--old-script.bat │ │ ├── make-silent-msi.bat │ │ └── make-msi - Copy.bat │ ├── XDM.Gtk.UI │ │ ├── source_pkg.txt │ │ ├── images │ │ │ ├── Brave.jpg │ │ │ ├── Opera.jpg │ │ │ ├── Chrome.jpg │ │ │ ├── MSEdge.jpg │ │ │ ├── Vivaldi.jpg │ │ │ ├── pin-ext.jpg │ │ │ ├── load_unpacked.jpg │ │ │ ├── chrome-addressbar.jpg │ │ │ └── extension-folder.jpg │ │ ├── xdm-logo-512.png │ │ ├── App.config │ │ ├── svg-icons │ │ │ ├── pause-line.svg │ │ │ ├── menu-line.svg │ │ │ ├── notification-3-fill.svg │ │ │ ├── check-line.svg │ │ │ ├── arrow-down-line.svg │ │ │ ├── function-line.svg │ │ │ ├── delete-bin-7-line.svg │ │ │ ├── external-link-line.svg │ │ │ ├── folder-shared-line.svg │ │ │ ├── play-line.svg │ │ │ ├── file-music-fill.svg │ │ │ ├── file-download-line.svg │ │ │ ├── file-music-line.svg │ │ │ ├── file-line.svg │ │ │ ├── file-text-line.svg │ │ │ ├── file-zip-line.svg │ │ │ ├── file-text-fill.svg │ │ │ ├── file-copy-line.svg │ │ │ ├── question-line.svg │ │ │ ├── movie-line.svg │ │ │ ├── search-line.svg │ │ │ ├── links-line.svg │ │ │ ├── list-settings-fill.svg │ │ │ └── xdm-logo.svg │ │ ├── ButtonWrapper.cs │ │ ├── FinishedEntryWrapper.cs │ │ └── MenuItemWrapper.cs │ ├── LinuxNativeHost │ │ └── xdm_messaging_host.py │ ├── Thumbs.db │ ├── Translations │ │ ├── ReadME.txt │ │ └── Translations.csproj │ ├── xdm-logo.ico │ ├── xdm-logo.png │ ├── brave-ext.jpg │ ├── chrome-ext.jpg │ ├── msedge-ext.jpg │ ├── opera-ext.jpg │ ├── XDM.Core │ │ ├── Translations │ │ │ └── ReadME.txt │ │ ├── Downloader │ │ │ ├── Adaptive │ │ │ │ ├── IChunkStreamMap.cs │ │ │ │ ├── Hls │ │ │ │ │ └── MultiSourceHLSDownloadInfo.cs │ │ │ │ ├── ICancelRequster.cs │ │ │ │ ├── SimpleStreamMap.cs │ │ │ │ └── Dash │ │ │ │ │ └── MultiSourceDASHDownloadInfo.cs │ │ │ ├── Progressive │ │ │ │ ├── SegmentState.cs │ │ │ │ ├── SingleHttp │ │ │ │ │ └── SingleSourceHTTPDownloadInfo.cs │ │ │ │ ├── DualHttp │ │ │ │ │ └── DualSourceHTTPDownloadInfo.cs │ │ │ │ └── Piece.cs │ │ │ ├── DownloadTypes.cs │ │ │ ├── FileNameFetchMode.cs │ │ │ ├── ProgressResultEventArgs.cs │ │ │ ├── DownloadFailedEventArgs.cs │ │ │ ├── ProbeResult.cs │ │ │ ├── Chunk.cs │ │ │ └── CountdownLatch.cs │ │ ├── Clients │ │ │ └── Http │ │ │ │ ├── HttpSession.cs │ │ │ │ ├── IHttpClientFactory.cs │ │ │ │ ├── Utils.cs │ │ │ │ ├── IHttpClient.cs │ │ │ │ ├── IHttpSession.cs │ │ │ │ ├── ProxyHelper.cs │ │ │ │ └── HttpClientFactory.cs │ │ ├── IRequestData.cs │ │ ├── ITextResource.cs │ │ ├── BrowserMonitoring │ │ │ ├── Browser.cs │ │ │ └── ExtensionData.cs │ │ ├── UI │ │ │ ├── ISettingsPage.cs │ │ │ ├── IButton.cs │ │ │ ├── IRefreshLinkDialog.cs │ │ │ ├── IMenuItem.cs │ │ │ ├── ISpeedLimiterWindow.cs │ │ │ ├── DownloadLaterEventArgs.cs │ │ │ ├── FileBrowsedEventArgs.cs │ │ │ ├── DownloadListEventArgs.cs │ │ │ ├── QueueListEventArgs.cs │ │ │ ├── IFileSelectable.cs │ │ │ ├── IFinishedDownloadRow.cs │ │ │ ├── IQueueSelectionDialog.cs │ │ │ ├── QueueSelectionEventArgs.cs │ │ │ ├── IQueuesWindow.cs │ │ │ ├── IInProgressDownloadRow.cs │ │ │ ├── IDownloadCompleteDialog.cs │ │ │ ├── INewDownloadDialog.cs │ │ │ ├── INewVideoDownloadDialog.cs │ │ │ ├── IBatchDownloadView.cs │ │ │ ├── IUpdaterUI.cs │ │ │ ├── IProgressWindow.cs │ │ │ └── DownloadCompleteUIController.cs │ │ ├── HttpServer │ │ │ ├── ResponseStatus.cs │ │ │ └── RequestContextEventArgs.cs │ │ ├── AuthenticationInfo.cs │ │ ├── Updater │ │ │ └── IUpdater.cs │ │ ├── PasswordEntry.cs │ │ ├── YDLWrapper │ │ │ └── YtBinary.cs │ │ ├── ErrorCode.cs │ │ ├── IPlatformClipboardMonitor.cs │ │ ├── AppInfo.cs │ │ ├── Category.cs │ │ ├── MediaParser │ │ │ ├── Hls │ │ │ │ ├── HlsPlaylist.cs │ │ │ │ └── HlsMediaSegment.cs │ │ │ ├── Util │ │ │ │ └── UrlResolver.cs │ │ │ └── Dash │ │ │ │ └── Representation.cs │ │ ├── ShortState.cs │ │ ├── DownloadSchedule.cs │ │ ├── ProxyInfo.cs │ │ ├── ILinkRefresher.cs │ │ ├── DataAccess │ │ │ └── Extensions │ │ │ │ └── DataReaderExtensions.cs │ │ ├── Util │ │ │ ├── ExtensionRegistrationHelper.cs │ │ │ └── TimeHelper.cs │ │ ├── NewDownloadPromptTracker.cs │ │ ├── XDM.Core.shproj │ │ └── TraceLog │ │ │ └── Log.cs │ ├── firefox-amo │ │ ├── main.js │ │ ├── icon16.png │ │ ├── icon48.png │ │ ├── icon128.png │ │ ├── icon16-mono.png │ │ ├── icon48-mono.png │ │ ├── icon128-mono.png │ │ ├── app │ │ │ ├── logger.js │ │ │ ├── error.js │ │ │ ├── disabled.html │ │ │ └── error.html │ │ ├── main.html │ │ └── manifest.json │ ├── vivaldi-ext.jpg │ ├── extension-page.png │ ├── XDM.Wpf.UI │ │ ├── xdm-logo.ico │ │ ├── images │ │ │ ├── Brave.jpg │ │ │ ├── Opera.jpg │ │ │ ├── Chrome.jpg │ │ │ ├── MSEdge.jpg │ │ │ ├── Vivaldi.jpg │ │ │ ├── pin-ext.jpg │ │ │ ├── load_unpacked.jpg │ │ │ ├── chrome-addressbar.jpg │ │ │ └── extension-folder.jpg │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Resources │ │ │ ├── CheckBoxStyles.xaml │ │ │ ├── ComboBoxStyles.xaml │ │ │ ├── ScrollBarStyles.xaml │ │ │ ├── TabControlStyles.xaml │ │ │ ├── TextBoxStyles.xaml │ │ │ ├── ContextMenuStyles.xaml │ │ │ └── PasswordBoxStyles.xaml │ │ ├── Common │ │ │ ├── IDialog.cs │ │ │ ├── ValueConverters │ │ │ │ └── FileSizeValueConverter.cs │ │ │ └── Helpers │ │ │ │ └── SelectionHelper.cs │ │ ├── AssemblyInfo.cs │ │ ├── MainWindow │ │ │ ├── CategoryEntry.cs │ │ │ ├── ValueConverters │ │ │ │ ├── FileExtensionToVectorImageConverter.cs │ │ │ │ ├── ListViewDateConverter.cs │ │ │ │ ├── FileExtensionToColorConverter.cs │ │ │ │ └── CategoryToVectorImageConverter.cs │ │ │ └── ButtonWrapper.cs │ │ ├── Win32 │ │ │ └── WpfToWinformWindow.cs │ │ ├── Dialogs │ │ │ ├── Settings │ │ │ │ └── CategoryFileTypesConverter.cs │ │ │ ├── ChromeIntegrator │ │ │ │ ├── Page2.xaml.cs │ │ │ │ ├── Page2.xaml │ │ │ │ └── Page1.xaml │ │ │ ├── VideoDownloader │ │ │ │ ├── VideoDownloaderPage2.xaml │ │ │ │ ├── VideoDownloaderWindow.xaml │ │ │ │ ├── VideoDownloaderPage2.xaml.cs │ │ │ │ ├── VideoDownloaderPage4.xaml.cs │ │ │ │ └── VideoDownloaderPage4.xaml │ │ │ ├── Widget │ │ │ │ └── FloatingWidget.xaml.cs │ │ │ ├── RefreshLink │ │ │ │ └── LinkRefreshWindow.xaml │ │ │ └── Updater │ │ │ │ └── UpdaterWindow.xaml │ │ ├── App.config │ │ └── SkinResourceDictionary.cs │ ├── chrome-extension │ │ ├── icon16.png │ │ ├── icon48.png │ │ ├── icon128.png │ │ ├── icon16-mono.png │ │ ├── icon48-mono.png │ │ ├── icon128-mono.png │ │ ├── main.js │ │ ├── xdm-logo-orange.png │ │ ├── logger.js │ │ ├── error.js │ │ ├── register.js │ │ ├── register.html │ │ ├── disabled.html │ │ ├── manifest.json │ │ └── error.html │ ├── MsixPackaging │ │ ├── xdm-logo-512.png │ │ └── Images │ │ │ ├── StoreLogo.backup.png │ │ │ ├── BadgeLogo.scale-100.png │ │ │ ├── BadgeLogo.scale-125.png │ │ │ ├── BadgeLogo.scale-150.png │ │ │ ├── BadgeLogo.scale-200.png │ │ │ ├── BadgeLogo.scale-400.png │ │ │ ├── LargeTile.scale-100.png │ │ │ ├── LargeTile.scale-125.png │ │ │ ├── LargeTile.scale-150.png │ │ │ ├── LargeTile.scale-200.png │ │ │ ├── LargeTile.scale-400.png │ │ │ ├── SmallTile.scale-100.png │ │ │ ├── SmallTile.scale-125.png │ │ │ ├── SmallTile.scale-150.png │ │ │ ├── SmallTile.scale-200.png │ │ │ ├── SmallTile.scale-400.png │ │ │ ├── StoreLogo.scale-100.png │ │ │ ├── StoreLogo.scale-125.png │ │ │ ├── StoreLogo.scale-150.png │ │ │ ├── StoreLogo.scale-200.png │ │ │ ├── StoreLogo.scale-400.png │ │ │ ├── SplashScreen.scale-100.png │ │ │ ├── SplashScreen.scale-125.png │ │ │ ├── SplashScreen.scale-150.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── SplashScreen.scale-400.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── Square150x150Logo.scale-100.png │ │ │ ├── Square150x150Logo.scale-125.png │ │ │ ├── Square150x150Logo.scale-150.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-400.png │ │ │ ├── Square44x44Logo.scale-100.png │ │ │ ├── Square44x44Logo.scale-125.png │ │ │ ├── Square44x44Logo.scale-150.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Square44x44Logo.scale-400.png │ │ │ ├── Wide310x150Logo.scale-100.png │ │ │ ├── Wide310x150Logo.scale-125.png │ │ │ ├── Wide310x150Logo.scale-150.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-400.png │ │ │ ├── Square44x44Logo.targetsize-16.png │ │ │ ├── Square44x44Logo.targetsize-24.png │ │ │ ├── Square44x44Logo.targetsize-32.png │ │ │ ├── Square44x44Logo.targetsize-48.png │ │ │ ├── Square44x44Logo.targetsize-256.png │ │ │ ├── Square44x44Logo.altform-unplated_targetsize-16.png │ │ │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ │ │ ├── Square44x44Logo.altform-unplated_targetsize-32.png │ │ │ ├── Square44x44Logo.altform-unplated_targetsize-48.png │ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ │ ├── Square44x44Logo.altform-lightunplated_targetsize-16.png │ │ │ ├── Square44x44Logo.altform-lightunplated_targetsize-24.png │ │ │ ├── Square44x44Logo.altform-lightunplated_targetsize-256.png │ │ │ ├── Square44x44Logo.altform-lightunplated_targetsize-32.png │ │ │ └── Square44x44Logo.altform-lightunplated_targetsize-48.png │ ├── NativeMessagingHost │ │ ├── App.PreDotNet4.config │ │ ├── App.PostDotNet4.config │ │ └── BlockingCollection.cs │ ├── FFmpegCustomBuild │ │ ├── ReadME.txt │ │ └── ffmpeg_options.txt │ ├── Lang │ │ ├── Malayalam.txt │ │ ├── Farsi-Persian.txt │ │ ├── Nepali.txt │ │ ├── index.txt │ │ ├── Traditional Chinese - Taiwan.txt │ │ └── Korea.txt │ ├── XDM.WinForms.IntegrationUI │ │ ├── Icon │ │ │ └── xdm-logo.ico │ │ ├── Gif │ │ │ ├── Brave │ │ │ │ ├── img-1.gif │ │ │ │ ├── img-2.gif │ │ │ │ └── img-3.gif │ │ │ ├── Chrome │ │ │ │ ├── img-1.gif │ │ │ │ ├── img-2.gif │ │ │ │ └── img-3.gif │ │ │ ├── MSEdge │ │ │ │ ├── img-1.gif │ │ │ │ ├── img-2.gif │ │ │ │ └── img-3.gif │ │ │ ├── Opera │ │ │ │ ├── img-1.gif │ │ │ │ ├── img-2.gif │ │ │ │ └── img-3.gif │ │ │ └── Vivaldi │ │ │ │ ├── img-1.gif │ │ │ │ ├── img-2.gif │ │ │ │ └── img-3.gif │ │ ├── Font │ │ │ └── fontawesome-webfont.ttf │ │ ├── Program.cs │ │ └── App.config │ ├── .editorconfig │ ├── XDM.Linux.Installer │ │ ├── make-pkg.bat │ │ └── packaging.txt │ ├── XDM.Msix.Host │ │ ├── XDM.Msix.Host.csproj │ │ └── Program.cs │ ├── XDM.Msix.AutoLaunch │ │ ├── XDM.Msix.AutoLaunch.csproj │ │ └── Program.cs │ ├── XDM.App.Host │ │ ├── xdmff.native_host.json │ │ └── xdm_chrome.native_host.json │ ├── XDM.Compatibility │ │ ├── GroupCollectionExtension.cs │ │ ├── DictionaryExtensions.cs │ │ ├── StreamExtension.cs │ │ ├── BlockingCollection.cs │ │ ├── XDM.Compatibility.shproj │ │ └── XDM.Compatibility.projitems │ ├── XDM.Tests │ │ └── XDM.Tests.csproj │ ├── XDM.Messaging │ │ ├── RawBrowserMessage.cs │ │ ├── XDM.Messaging.projitems │ │ └── XDM.Messaging.shproj │ ├── xdm-logo.svg │ ├── MockServer │ │ └── MockServer.csproj │ ├── NativeMessaging │ │ ├── NativeMessaging.projitems │ │ ├── NativeMessaging.shproj │ │ └── IpcClient.cs │ └── XDM_Tests │ │ ├── GenericTests.cs │ │ ├── XDM.SystemTests.csproj │ │ └── NanoServerTests.cs ├── xdm-browser-monitor--depricated │ ├── chrome │ │ ├── network.js │ │ ├── icon.png │ │ ├── icon-128.png │ │ ├── icon_blocked.png │ │ ├── icon_disabled.png │ │ ├── background.html │ │ ├── init.js │ │ ├── contentscript.js │ │ ├── fatal.js │ │ ├── disabled.html │ │ ├── fatal.html │ │ ├── manifest2.json │ │ └── manifest.json │ ├── firefox │ │ ├── network.js │ │ ├── icon.png │ │ ├── icon-128.png │ │ ├── icon_blocked.png │ │ ├── icon_disabled.png │ │ ├── background.html │ │ ├── init.js │ │ ├── contentscript.js │ │ ├── fatal.js │ │ ├── disabled.html │ │ ├── fatal.html │ │ ├── manifest2.json │ │ └── manifest.json │ ├── DO_NOT_USE.txt │ ├── icon_main.png │ ├── firefox-old │ │ ├── icon.png │ │ ├── icon-128.png │ │ ├── icon_blocked.png │ │ ├── icon_disabled.png │ │ ├── background.html │ │ ├── contentscript.js │ │ ├── disabled.html │ │ ├── fatal.html │ │ └── manifest.json │ ├── new_browser_ext │ │ ├── lib │ │ │ ├── request-watcher.js │ │ │ └── logger.js │ │ ├── manifest.json │ │ └── main.js │ ├── .project │ └── xdm_chrome.native_host.json └── packaging │ ├── deb │ ├── DEBIAN │ │ └── control │ └── usr │ │ └── share │ │ └── applications │ │ └── xdm-app.desktop │ └── packaging.txt ├── docs ├── img.jpg ├── link1.png ├── link2.png ├── link3.png ├── link4.png ├── link5.png ├── link6.png ├── link7.png ├── link8.png ├── link9.png ├── panel.png ├── download.png ├── googleac7fc8966e85a28f.html ├── bootstrap │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ └── npm.js ├── .project ├── xdm-firefox │ └── chromium.html └── index.html ├── translation-generator └── translation-gen │ ├── public │ ├── robots.txt │ ├── favicon.ico │ ├── logo192.png │ ├── logo512.png │ └── manifest.json │ ├── src │ ├── TextInput.css │ ├── setupTests.js │ ├── App.test.js │ ├── index.css │ ├── reportWebVitals.js │ ├── index.js │ ├── TextInput.js │ └── App.css │ ├── .gitignore │ └── package.json └── .github ├── workflows └── xdm-wpf-build.yml └── ISSUE_TEMPLATE └── bug_report.md /app/XDM/XDM.Win.Installer/dotnet: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/source_pkg.txt: -------------------------------------------------------------------------------- 1 | deb -------------------------------------------------------------------------------- /app/XDM/LinuxNativeHost/xdm_messaging_host.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/network.js: -------------------------------------------------------------------------------- 1 | var xdmNetworkIn -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/network.js: -------------------------------------------------------------------------------- 1 | var xdmNetworkIn -------------------------------------------------------------------------------- /docs/img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/img.jpg -------------------------------------------------------------------------------- /docs/link1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link1.png -------------------------------------------------------------------------------- /docs/link2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link2.png -------------------------------------------------------------------------------- /docs/link3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link3.png -------------------------------------------------------------------------------- /docs/link4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link4.png -------------------------------------------------------------------------------- /docs/link5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link5.png -------------------------------------------------------------------------------- /docs/link6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link6.png -------------------------------------------------------------------------------- /docs/link7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link7.png -------------------------------------------------------------------------------- /docs/link8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link8.png -------------------------------------------------------------------------------- /docs/link9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/link9.png -------------------------------------------------------------------------------- /docs/panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/panel.png -------------------------------------------------------------------------------- /app/XDM/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/Thumbs.db -------------------------------------------------------------------------------- /docs/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/download.png -------------------------------------------------------------------------------- /app/XDM/Translations/ReadME.txt: -------------------------------------------------------------------------------- 1 | Language files are stored in $(SOLUTION)\Lang directory -------------------------------------------------------------------------------- /app/XDM/xdm-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/xdm-logo.ico -------------------------------------------------------------------------------- /app/XDM/xdm-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/xdm-logo.png -------------------------------------------------------------------------------- /docs/googleac7fc8966e85a28f.html: -------------------------------------------------------------------------------- 1 | google-site-verification: googleac7fc8966e85a28f.html -------------------------------------------------------------------------------- /app/XDM/brave-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/brave-ext.jpg -------------------------------------------------------------------------------- /app/XDM/chrome-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-ext.jpg -------------------------------------------------------------------------------- /app/XDM/msedge-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/msedge-ext.jpg -------------------------------------------------------------------------------- /app/XDM/opera-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/opera-ext.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Translations/ReadME.txt: -------------------------------------------------------------------------------- 1 | Language files are stored in $(SOLUTION)\Lang directory -------------------------------------------------------------------------------- /app/XDM/firefox-amo/main.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const app = new App(); 4 | app.start(); 5 | -------------------------------------------------------------------------------- /app/XDM/vivaldi-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/vivaldi-ext.jpg -------------------------------------------------------------------------------- /app/XDM/extension-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/extension-page.png -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon16.png -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon48.png -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/xdm-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/xdm-logo.ico -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon128.png -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/Brave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/Brave.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/Opera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/Opera.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/xdm-logo-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/xdm-logo-512.png -------------------------------------------------------------------------------- /app/XDM/XDM.Win.Installer/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Win.Installer/icon.ico -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/Brave.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/Brave.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/Opera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/Opera.jpg -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon16.png -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon48.png -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon16-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon16-mono.png -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon48-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon48-mono.png -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/Chrome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/Chrome.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/MSEdge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/MSEdge.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/Vivaldi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/Vivaldi.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/pin-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/pin-ext.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/Chrome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/Chrome.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/MSEdge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/MSEdge.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/Vivaldi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/Vivaldi.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/pin-ext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/pin-ext.jpg -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon128.png -------------------------------------------------------------------------------- /app/XDM/firefox-amo/icon128-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/firefox-amo/icon128-mono.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/xdm-logo-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/xdm-logo-512.png -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon16-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon16-mono.png -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon48-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon48-mono.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/DO_NOT_USE.txt: -------------------------------------------------------------------------------- 1 | Code for chrome-extension now resides in xdm/app/XDM/chrome-extension folder -------------------------------------------------------------------------------- /app/XDM/NativeMessagingHost/App.PreDotNet4.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/icon128-mono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/icon128-mono.png -------------------------------------------------------------------------------- /app/XDM/FFmpegCustomBuild/ReadME.txt: -------------------------------------------------------------------------------- 1 | Clone https://github.com/m-ab-s/media-autobuild_suite 2 | Put ffmpeg_options.txt inside build folder -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/load_unpacked.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/load_unpacked.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/load_unpacked.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/load_unpacked.jpg -------------------------------------------------------------------------------- /app/XDM/chrome-extension/main.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | import App from './app.js'; 3 | 4 | const app = new App(); 5 | app.start(); 6 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/xdm-logo-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/chrome-extension/xdm-logo-orange.png -------------------------------------------------------------------------------- /translation-generator/translation-gen/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /app/XDM/Lang/Malayalam.txt: -------------------------------------------------------------------------------- 1 | SORT_STATUS=Status 2 | LBL_SEARCH=Search 3 | LBL_VIDEO_DOWNLOAD=Video download 4 | LBL_NEW_DOWNLOAD=New download -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/chrome-addressbar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/chrome-addressbar.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/images/extension-folder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Gtk.UI/images/extension-folder.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/chrome-addressbar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/chrome-addressbar.jpg -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/images/extension-folder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.Wpf.UI/images/extension-folder.jpg -------------------------------------------------------------------------------- /app/XDM/Lang/Farsi-Persian.txt: -------------------------------------------------------------------------------- 1 | SORT_STATUS=Status 2 | LBL_SEARCH=Search 3 | LBL_VIDEO_DOWNLOAD=Video download 4 | LBL_NEW_DOWNLOAD=New download -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.backup.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/icon_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/icon_main.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/BadgeLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/BadgeLogo.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/BadgeLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/BadgeLogo.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/BadgeLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/BadgeLogo.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/BadgeLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/BadgeLogo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/BadgeLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/BadgeLogo.scale-400.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LargeTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LargeTile.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LargeTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LargeTile.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LargeTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LargeTile.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LargeTile.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LargeTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LargeTile.scale-400.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SmallTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SmallTile.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SmallTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SmallTile.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SmallTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SmallTile.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SmallTile.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SmallTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SmallTile.scale-400.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/StoreLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/StoreLogo.scale-400.png -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Icon/xdm-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Icon/xdm-logo.ico -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/chrome/icon.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox/icon.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SplashScreen.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SplashScreen.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SplashScreen.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SplashScreen.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/SplashScreen.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/SplashScreen.scale-400.png -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-1.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-2.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Brave/img-3.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-1.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-2.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Chrome/img-3.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-1.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-2.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/MSEdge/img-3.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-1.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-2.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Opera/img-3.gif -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/chrome/icon-128.png -------------------------------------------------------------------------------- /docs/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /docs/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/docs/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-1.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-2.gif -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Gif/Vivaldi/img-3.gif -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "XDM.Wpf.UI": { 4 | "commandName": "Project" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox-old/icon.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox/icon-128.png -------------------------------------------------------------------------------- /translation-generator/translation-gen/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/translation-generator/translation-gen/public/favicon.ico -------------------------------------------------------------------------------- /translation-generator/translation-gen/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/translation-generator/translation-gen/public/logo192.png -------------------------------------------------------------------------------- /translation-generator/translation-gen/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/translation-generator/translation-gen/public/logo512.png -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/TextInput.css: -------------------------------------------------------------------------------- 1 | .TextInput { 2 | display: flex; 3 | flex-direction: column; 4 | padding-bottom: 10px; 5 | } -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square150x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square150x150Logo.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square150x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square150x150Logo.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square150x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square150x150Logo.scale-400.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.scale-400.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-125.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-150.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Wide310x150Logo.scale-400.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/icon_blocked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/chrome/icon_blocked.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/icon_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/chrome/icon_disabled.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox-old/icon-128.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/icon_blocked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox/icon_blocked.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-16.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-24.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-32.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/icon_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox/icon_disabled.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-256.png -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/XDM.WinForms.IntegrationUI/Font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/icon_blocked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox-old/icon_blocked.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/icon_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/xdm-browser-monitor--depricated/firefox-old/icon_disabled.png -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-16.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-256.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-32.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-unplated_targetsize-48.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /app/XDM/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.cs] 2 | 3 | # CS8618: Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 4 | dotnet_diagnostic.CS8618.severity = silent 5 | -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png -------------------------------------------------------------------------------- /app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subhra74/xdm/HEAD/app/XDM/MsixPackaging/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png -------------------------------------------------------------------------------- /app/XDM/XDM.Win.Installer/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Please copy ffmpeg-x86.exe and youtube-dl.exe in this directory before running build-installer.bat 2 | For MSIX build copy ffmpeg-x86.exe and yt-dlp_x86.exe into binary-deps folder -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Adaptive/IChunkStreamMap.cs: -------------------------------------------------------------------------------- 1 | namespace XDM.Core.Downloader.Adaptive 2 | { 3 | public interface IChunkStreamMap 4 | { 5 | string GetStream(string prefix); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Progressive/SegmentState.cs: -------------------------------------------------------------------------------- 1 | namespace XDM.Core.Downloader.Progressive 2 | { 3 | public enum SegmentState 4 | { 5 | NotStarted, Finished, Downloading, Failed 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/pause-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Linux.Installer/make-pkg.bat: -------------------------------------------------------------------------------- 1 | set BUILD_VER=8.0.18 2 | 3 | RMDIR /S /Q BIN 4 | 5 | MKDIR BIN 6 | MKDIR BIN\chrome-extension 7 | 8 | dotnet publish -c Release -f net6.0 -r linux-x64 ..\XDM.Gtk.UI\XDM.Gtk.UI.csproj -o BIN 9 | -------------------------------------------------------------------------------- /app/XDM/XDM.Msix.Host/XDM.Msix.Host.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net4.6.0 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/menu-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/CheckBoxStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/ComboBoxStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/ScrollBarStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/TabControlStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/TextBoxStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/init.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var xdm = { 3 | debug: false, 4 | log: function (msg) { 5 | if (this.debug) { 6 | try { console.log(msg); } catch { } 7 | } 8 | } 9 | }; -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/init.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var xdm = { 3 | debug: false, 4 | log: function (msg) { 5 | if (this.debug) { 6 | try { console.log(msg); } catch { } 7 | } 8 | } 9 | }; -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/ContextMenuStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Resources/PasswordBoxStyles.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Clients/Http/HttpSession.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.Clients.Http 7 | { 8 | class HttpSession 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/contentscript.js: -------------------------------------------------------------------------------- 1 | console.log("hello from content script"); 2 | var arr = [], l = document.links; 3 | for(var i=0; i 2 | 3 | docs 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/notification-3-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/contentscript.js: -------------------------------------------------------------------------------- 1 | console.log("hello from content script"); 2 | var arr = [], l = document.links; 3 | for(var i=0; i -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Clients/Http/IHttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.Clients.Http 7 | { 8 | interface IHttpClientFactory 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/XDM/XDM.Msix.Host/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace XDM.Msix.Host 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | Console.WriteLine("Hello World!"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/XDM/firefox-amo/app/logger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | class Logger { 3 | constructor() { 4 | this.loggingEnabled = false; 5 | } 6 | 7 | log(content) { 8 | if (this.loggingEnabled) { 9 | console.log(content); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/arrow-down-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Common/IDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Wpf.UI.Common 7 | { 8 | interface IDialog 9 | { 10 | public bool Result { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/new_browser_ext/lib/request-watcher.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | export default class RequestWatcher { 3 | constructor() { 4 | console.log("RequestWatcher initializing..."); 5 | this.requests = {}; 6 | this.preRequests = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Msix.AutoLaunch/XDM.Msix.AutoLaunch.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WinExe 5 | net4.7.2 6 | xdm-launcher 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/ITextResource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public interface ITextResource 10 | { 11 | string GetLabelText(string key); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/logger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | export default class Logger { 3 | constructor() { 4 | this.loggingEnabled = true; 5 | } 6 | 7 | log(content) { 8 | if (this.loggingEnabled) { 9 | console.log(content); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /app/packaging/deb/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: xdman 2 | Version: 8.0.1 3 | Architecture: amd64 4 | Depends: libgtk-3-0 (>= 3.22.11), ffmpeg 5 | Maintainer: Subhra Das Gupta 6 | Description: Powerfull download accelerator and video downloader. 7 | Powerfull open source download accelerator and video downloader. 8 | -------------------------------------------------------------------------------- /app/XDM/XDM.App.Host/xdmff.native_host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xdmff.native_host", 3 | "description": "Native messaging host for Xtreme Download Manager", 4 | "path": "xdm-app-host.exe", 5 | "type": "stdio", 6 | "allowed_extensions": [ 7 | "xdm-integration-module@subhra74.github.io" 8 | ] 9 | } -------------------------------------------------------------------------------- /app/XDM/firefox-amo/app/error.js: -------------------------------------------------------------------------------- 1 | window.onload = function () { 2 | console.log("error script"); 3 | document.getElementById("OpenLink").addEventListener('click', function () { 4 | console.log("OpenLink"); 5 | window.open("xdm+app://launch"); 6 | window.close(); 7 | }); 8 | }; -------------------------------------------------------------------------------- /docs/xdm-firefox/chromium.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | Redirecting... 10 | 11 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/BrowserMonitoring/Browser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace XDM.Core.BrowserMonitoring 6 | { 7 | public enum Browser 8 | { 9 | Chrome, Firefox, MSEdge, Brave, Vivaldi, Opera, Chromium 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/error.js: -------------------------------------------------------------------------------- 1 | window.onload = function () { 2 | console.log("error script"); 3 | document.getElementById("OpenLink").addEventListener('click', function () { 4 | console.log("OpenLink"); 5 | window.open("xdm+app://launch"); 6 | window.close(); 7 | }); 8 | }; -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | xdm-browser-monitor 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/function-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/Lang/Nepali.txt: -------------------------------------------------------------------------------- 1 | ALL_UNFINISHED=सबै नसकिएको 2 | ALL_FINISHED=नसकिएको 3 | CAT_DOCUMENTS=कागजात 4 | CAT_COMPRESSED=थिचिएको 5 | CAT_MUSIC=गाना 6 | CAT_VIDEOS=मुभि 7 | CAT_PROGRAMS=प्रोग्राम 8 | SORT_STATUS=Status 9 | LBL_SEARCH=Search 10 | LBL_VIDEO_DOWNLOAD=Video download 11 | LBL_NEW_DOWNLOAD=New download -------------------------------------------------------------------------------- /app/XDM/XDM.App.Host/xdm_chrome.native_host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xdm_chrome.native_host", 3 | "description": "Native messaging host for Xtreme Download Manager", 4 | "path": "xdm-app-host.exe", 5 | "type": "stdio", 6 | "allowed_origins": [ 7 | "chrome-extension://akdmdglbephckgfmdffcdebnpjgamofc/" 8 | ] 9 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Adaptive/Hls/MultiSourceHLSDownloadInfo.cs: -------------------------------------------------------------------------------- 1 | namespace XDM.Core.Downloader.Adaptive.Hls 2 | { 3 | public class MultiSourceHLSDownloadInfo : MultiSourceDownloadInfo 4 | { 5 | public string VideoUri { get; set; } 6 | public string AudioUri { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/delete-bin-7-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/external-link-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/folder-shared-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/play-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/ISettingsPage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using XDM.Core; 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface ISettingsPage 10 | { 11 | void PopulateUI(); 12 | void UpdateConfig(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/firefox-amo/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/HttpServer/ResponseStatus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.HttpServer 7 | { 8 | public struct ResponseStatus 9 | { 10 | public string StatusMessage; 11 | public int StatusCode; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-music-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/packaging/deb/usr/share/applications/xdm-app.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Encoding=UTF-8 4 | Exec=/opt/xdman/xdm-app %U 5 | Type=Application 6 | Terminal=false 7 | Exec="/opt/xdman/xdm-app" -m 8 | Name=Xtreme Download Manager 9 | Comment=Xtreme Download Manager 10 | Categories=Network; 11 | Icon="/opt/xdman/xdm-logo.svg" -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/fatal.js: -------------------------------------------------------------------------------- 1 | window.onload = function () { 2 | console.log("fatal script"); 3 | document.getElementById("RunXDM").addEventListener('click', function () { 4 | console.log("reconnect"); 5 | chrome.runtime.sendMessage({ type: "reconnect" }); 6 | window.close(); 7 | }); 8 | }; -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/fatal.js: -------------------------------------------------------------------------------- 1 | window.onload = function () { 2 | console.log("fatal script"); 3 | document.getElementById("RunXDM").addEventListener('click', function () { 4 | console.log("reconnect"); 5 | chrome.runtime.sendMessage({ type: "reconnect" }); 6 | window.close(); 7 | }); 8 | }; -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-download-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/AuthenticationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core 7 | { 8 | public struct AuthenticationInfo 9 | { 10 | public string UserName { get; set; } 11 | public string Password { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-music-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/DownloadTypes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.Downloader 7 | { 8 | public static class DownloadTypes 9 | { 10 | public const string Http = "Http", Dash = "Dash", Hls = "Hls", MpdDash = "Mpd-Dash"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-text-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-zip-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-text-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/FileNameFetchMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.Downloader 7 | { 8 | public enum FileNameFetchMode 9 | { 10 | None, //use given name only 11 | FileNameAndExtension, // 12 | ExtensionOnly 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/packaging/packaging.txt: -------------------------------------------------------------------------------- 1 | 1. Create a directory named XDM.App.Host at the same level as xdm-app executable 2 | 2. Copy binary of XDM.App.Host to that directory 3 | 3. Linux only - create a file named source_pkg at the same level as xdm-app executable and set its content to deb/rpm/tar.xz for Ubuntu/Fedora/Arch 4 | 4. Linux only - copy xdm-logo.svg to the same level as xdm-app executable -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface IButton 10 | { 11 | bool Visible { get; set; } 12 | 13 | bool Enable { get; set; } 14 | 15 | event EventHandler Clicked; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/file-copy-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Updater/IUpdater.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using XDM.Core.Updater; 6 | 7 | namespace XDM.Core.Updater 8 | { 9 | public interface IUpdater 10 | { 11 | public void StartUpdate(IList updates); 12 | public void CancelUpdate(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/register.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function () { 2 | window.setTimeout(()=>{ 3 | document.getElementById("link").click(); 4 | },1000); 5 | //window.open("xdm-app:chrome-extension://" + chrome.runtime.id + "/"); 6 | document.getElementById("link").href = "xdm-app:chrome-extension://" + chrome.runtime.id + "/"; 7 | }, false); -------------------------------------------------------------------------------- /app/XDM/XDM.Core/PasswordEntry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public struct PasswordEntry 10 | { 11 | public string Host { get; set; } 12 | public string User { get; set; } 13 | public string Password { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IRefreshLinkDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public interface IRefreshLinkDialog 10 | { 11 | event EventHandler? WatchingStopped; 12 | 13 | void ShowWindow(); 14 | 15 | void LinkReceived(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/register.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Please register the extension with XDM
9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/ProgressResultEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace XDM.Core.Downloader 4 | { 5 | public class ProgressResultEventArgs : EventArgs 6 | { 7 | public int Progress { get; set; } 8 | public double DownloadSpeed { get; set; } 9 | public long Eta { get; set; } 10 | public long Downloaded { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IMenuItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface IMenuItem 10 | { 11 | public string Name { get; } 12 | 13 | public bool Enabled { get; set; } 14 | 15 | public event EventHandler Clicked; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/ISpeedLimiterWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace XDM.Core.UI 6 | { 7 | public interface ISpeedLimiterWindow 8 | { 9 | event EventHandler? OkClicked; 10 | int SpeedLimit { get; set; } 11 | bool EnableSpeedLimit { get; set; } 12 | void ShowWindow(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/DownloadFailedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using XDM.Core; 3 | 4 | namespace XDM.Core.Downloader 5 | { 6 | public class DownloadFailedEventArgs : EventArgs 7 | { 8 | public DownloadFailedEventArgs(ErrorCode errorCode) 9 | { 10 | ErrorCode = errorCode; 11 | } 12 | public ErrorCode ErrorCode { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/YDLWrapper/YtBinary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace YDLWrapper 6 | { 7 | public struct YtBinary 8 | { 9 | public YtBinaryType BinaryType { get; set; } 10 | public string Path { get; set; } 11 | } 12 | 13 | public enum YtBinaryType 14 | { 15 | YtDlp, Yt 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/ErrorCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public enum ErrorCode : int 10 | { 11 | None, Generic, NonResumable, AssemblingFailed, 12 | MaxRetryFailed, InvalidResponse, FFmpegNotFound, 13 | FFmpegError, DiskError, SessionExpired 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/question-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/movie-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Linux.Installer/packaging.txt: -------------------------------------------------------------------------------- 1 | 1. Create a directory named XDM.App.Host at the same level as xdm-app executable 2 | 2. Copy binary of XDM.App.Host to that directory 3 | 3. Linux only - create a file named source_pkg at the same level as xdm-app executable and set its content to deb/rpm/tar.xz for Ubuntu/Fedora/Arch 4 | 4. Linux only - copy xdm-logo.svg to the same level as xdm-app executable 5 | 6 | 7 | ##### Copy BIN.zip to Linux -------------------------------------------------------------------------------- /app/XDM/XDM.Compatibility/GroupCollectionExtension.cs: -------------------------------------------------------------------------------- 1 | #if !NET5_0_OR_GREATER 2 | 3 | using System.Text.RegularExpressions; 4 | 5 | namespace XDM.Compatibility 6 | { 7 | public static class GroupCollectionExtension 8 | { 9 | public static bool ContainsKey(this GroupCollection collection, string key) 10 | { 11 | return collection[key].Success; 12 | } 13 | } 14 | } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/DownloadLaterEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.UI 7 | { 8 | public class DownloadLaterEventArgs : EventArgs 9 | { 10 | public string? QueueId { get; } 11 | public DownloadLaterEventArgs(string? queueId) 12 | { 13 | this.QueueId = queueId; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/new_browser_ext/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "XDM Browser Integration Module", 3 | "action": {}, 4 | "manifest_version": 3, 5 | "version": "1.0", 6 | "description": "Extension to integrate Xtreme Download Manager with Chrome", 7 | "permissions": [ 8 | "downloads" 9 | ], 10 | "background": { 11 | "service_worker": "main.js", 12 | "type": "module" 13 | } 14 | } -------------------------------------------------------------------------------- /translation-generator/translation-gen/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/FileBrowsedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public class FileBrowsedEventArgs : EventArgs 10 | { 11 | public string SelectedFile { get; private set; } 12 | public FileBrowsedEventArgs(string file) 13 | { 14 | this.SelectedFile = file; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/search-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/IPlatformClipboardMonitor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public interface IPlatformClipboardMonitor 10 | { 11 | void StartClipboardMonitoring(); 12 | 13 | void StopClipboardMonitoring(); 14 | 15 | event EventHandler? ClipboardChanged; 16 | 17 | string? GetClipboardText(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/ProbeResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace XDM.Core.Downloader 4 | { 5 | public class ProbeResult 6 | { 7 | public bool Resumable { get; set; } 8 | public long? ResourceSize { get; set; } 9 | public Uri? FinalUri { get; set; } 10 | public string? AttachmentName { get; set; } 11 | public string? ContentType { get; set; } 12 | public DateTime LastModified { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/DownloadListEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public class DownloadListEventArgs : EventArgs 10 | { 11 | public IEnumerable Downloads { get; } 12 | public DownloadListEventArgs(IEnumerable downloads) 13 | { 14 | this.Downloads = downloads; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/QueueListEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using XDM.Core; 7 | 8 | namespace XDM.Core.UI 9 | { 10 | public class QueueListEventArgs:EventArgs 11 | { 12 | public List Queues { get; } 13 | public QueueListEventArgs(List queues) 14 | { 15 | this.Queues = queues; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/HttpServer/RequestContextEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.HttpServer 7 | { 8 | public class RequestContextEventArgs : EventArgs 9 | { 10 | public RequestContext RequestContext { get; } 11 | public RequestContextEventArgs(RequestContext context) 12 | { 13 | this.RequestContext = context; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/links-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Msix.AutoLaunch/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | 5 | namespace XDM.Msix.AutoLaunch 6 | { 7 | static class Program 8 | { 9 | static void Main() 10 | { 11 | var psi = new ProcessStartInfo(); 12 | psi.FileName = "xdm-app.exe"; 13 | psi.UseShellExecute = true; 14 | psi.Arguments = "--background"; 15 | Process.Start(psi); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/xdm_chrome.native_host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xdm_chrome.native_host", 3 | "description": "Native messaging host for Xtreme Download Manager", 4 | "path": "C:\\Users\\subhro\\Documents\\GitHub\\xdm-ng\\XDM-Ng\\NativeMessagingHost\\bin\\Debug\\net5.0\\NativeMessagingHost.exe", 5 | "type": "stdio", 6 | "allowed_origins": [ "chrome-extension://danmljfachfhpbfikjgedlfifabhofcj/","chrome-extension://dkckaoghoiffdbomfbbodbbgmhjblecj/","chrome-extension://ejpbcmllmliidhlpkcgbphhmaodjihnc/" ] 7 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Adaptive/ICancelRequster.cs: -------------------------------------------------------------------------------- 1 | using XDM.Core; 2 | 3 | namespace XDM.Core.Downloader.Adaptive 4 | { 5 | public interface ICancelRequster 6 | { 7 | public ErrorCode Error { get; } 8 | 9 | void CancelWithFatal(ErrorCode error); 10 | void NotifyTransientFailure(); 11 | void RegisterThread(HttpChunkDownloader chunkDownloader); 12 | void UnRegisterThread(HttpChunkDownloader chunkDownloader); 13 | void CancelAll(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Adaptive/SimpleStreamMap.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using XDM.Core; 7 | 8 | namespace XDM.Core.Downloader.Adaptive 9 | { 10 | public class SimpleStreamMap : IChunkStreamMap 11 | { 12 | public Dictionary StreamMap { get; set; } 13 | public string GetStream(string prefix) 14 | { 15 | return StreamMap[prefix]; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Clients/Http/Utils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace XDM.Core.Clients.Http 6 | { 7 | internal static class Utils 8 | { 9 | internal static bool IsCompressed(string? header) 10 | { 11 | if (!string.IsNullOrEmpty(header)) 12 | { 13 | return (header.Contains("gzip") || header.Contains("deflate")); 14 | } 15 | return false; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/AppInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace XDM.Core 6 | { 7 | public static class AppInfo 8 | { 9 | public static string APP_VERSION = "8.0.25"; 10 | public static string APP_VERSION_TEXT = $"Xtreme Download Manager {APP_VERSION} BETA"; 11 | public static string APP_COPYRIGHT_TEXT = "© 2013 - 2023 Subhra Das Gupta"; 12 | public static string APP_HOMEPAGE_TEXT = "www.xtremedownloadmanager.com"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Category.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace XDM.Core 4 | { 5 | public struct Category 6 | { 7 | public string Name { get; set; } 8 | public HashSet FileExtensions { get; set; } 9 | public string DisplayName { get; set; } 10 | public bool IsPredefined { get; set; } 11 | public string DefaultFolder { get; set; } 12 | public override string ToString() 13 | { 14 | return DisplayName; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/MediaParser/Hls/HlsPlaylist.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.MediaParser.Hls 7 | { 8 | public class HlsPlaylist 9 | { 10 | public IList? MediaSegments { get; set; } 11 | public bool IsEncrypted { get; set; } 12 | public double TotalDuration { get; set; } 13 | public bool HasByteRange { get; set; } 14 | public bool IsKeyIFrameOnly { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /docs/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /app/XDM/chrome-extension/disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Integration Module 10 |
11 |
12 |

Browser monitoring is disabled is XDM application

13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /app/XDM/firefox-amo/app/disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Integration Module 10 |
11 |
12 |

Browser monitoring is disabled is XDM application

13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IFileSelectable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.UI 7 | { 8 | public interface IFileSelectable 9 | { 10 | string SelectedFileName { get; set; } 11 | int SeletedFolderIndex { get; set; } 12 | void SetFolderValues(string[] values); 13 | event EventHandler FileBrowsedEvent; 14 | event EventHandler DropdownSelectionChangedEvent; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IFinishedDownloadRow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using XDM.Core; 7 | 8 | namespace XDM.Core.UI 9 | { 10 | public interface IFinishedDownloadRow 11 | { 12 | public string FileIconText { get; } 13 | 14 | public string Name { get; } 15 | 16 | public long Size { get; } 17 | 18 | public DateTime DateAdded { get; } 19 | 20 | public FinishedDownloadItem DownloadEntry { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/XDM/Translations/Translations.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net3.5;net4.5;net4.7.2;net5.0 5 | AnyCPU;x86;x64 6 | 9.0 7 | enable 8 | 9 | 10 | 11 | none 12 | false 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/ShortState.cs: -------------------------------------------------------------------------------- 1 | //using System; 2 | //using System.Collections.Generic; 3 | //using System.Linq; 4 | //using System.Text; 5 | 6 | 7 | //namespace XDM.Core 8 | //{ 9 | // public class ShortState 10 | // { 11 | // public Dictionary> Headers; 12 | // public Dictionary> Headers1; 13 | // public Dictionary> Headers2; 14 | // public string? Cookies; 15 | // public string? Cookies1; 16 | // public string? Cookies2; 17 | // } 18 | //} 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IQueueSelectionDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface IQueueSelectionDialog : IDisposable 10 | { 11 | event EventHandler? QueueSelected; 12 | 13 | void SetData( 14 | IEnumerable queueNames, 15 | IEnumerable queueIds, 16 | IEnumerable downloadIds); 17 | void ShowWindow(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/DownloadSchedule.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public struct DownloadSchedule 10 | { 11 | public TimeSpan StartTime { get; set; } 12 | public TimeSpan EndTime { get; set; } 13 | public WeekDays Days { get; set; } 14 | } 15 | 16 | [Flags] 17 | public enum WeekDays : byte 18 | { 19 | None = 0, Sun = 1, Mon = 2, Tue = 4, Wed = 8, Thu = 16, Fri = 32, Sat = 64 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/ProxyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core 8 | { 9 | public struct ProxyInfo 10 | { 11 | public ProxyType ProxyType { get; set; } 12 | public string Host { get; set; } 13 | public int Port { get; set; } 14 | public string UserName { get; set; } 15 | public string Password { get; set; } 16 | } 17 | 18 | public enum ProxyType 19 | { 20 | System, Direct, Custom 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/XDM/XDM.Tests/XDM.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Win.Installer/build-installer--old-script.bat: -------------------------------------------------------------------------------- 1 | DEL /s /q *.wixobj 2 | DEL /s /q net4.7.2.wxs 3 | RMDIR /S /Q net4.7.2 4 | 5 | Rem heat dir net3.5 -o net3.5.wxs -scom -frag -srd -sreg -ag -cg NET35 -dr INSTALLFOLDER 6 | 7 | robocopy ..\XDM.Wpf.UI\bin\x86\Release\net4.7.2 net4.7.2 /E 8 | 9 | heat dir net4.7.2 -o net4.7.2.wxs -scom -frag -srd -sreg -gg -cg NET472 -dr INSTALLFOLDER 10 | 11 | candle product.wxs net4.7.2.wxs 12 | light -ext WixUIExtension -ext WixUtilExtension -cultures:en-us product.wixobj net4.7.2.wixobj -b net4.7.2 -out xdmsetup.msi 13 | 14 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/MediaParser/Util/UrlResolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.MediaParser.Util 7 | { 8 | internal static class UrlResolver 9 | { 10 | internal static Uri Resolve(Uri baseUrl, string url) 11 | { 12 | if (url.StartsWith("https://") || url.StartsWith("http://")) 13 | { 14 | return new Uri(url); 15 | } 16 | return new Uri(baseUrl, url); 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Page moved to https://xdmweb.github.io/ 10 | 13 | 14 | 15 | 16 | Page has been moved to Here 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/list-settings-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/QueueSelectionEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public class QueueSelectionEventArgs : EventArgs 10 | { 11 | public string SelectedQueueId { get; } 12 | public IEnumerable DownloadIds { get; } 13 | public QueueSelectionEventArgs(string id, IEnumerable downloadIds) 14 | { 15 | this.SelectedQueueId = id; 16 | this.DownloadIds = downloadIds; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/XDM/XDM.Messaging/RawBrowserMessage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace XDM.Core.BrowserMonitoring 4 | { 5 | public class RawBrowserMessage 6 | { 7 | public string? File { get; set; } 8 | public string? Url { get; set; } 9 | public string? Method { get; set; } 10 | public string? RequestBody { get; set; } 11 | public Dictionary> RequestHeaders { get; set; } 12 | public Dictionary> ResponseHeaders { get; set; } 13 | public Dictionary Cookies { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/MediaParser/Hls/HlsMediaSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.MediaParser.Hls 7 | { 8 | public class HlsMediaSegment 9 | { 10 | public HlsMediaSegment(Uri url) 11 | { 12 | this.Url = url; 13 | } 14 | public Uri Url { get; set; } 15 | public KeyValuePair ByteRange { get; set; } 16 | public double Duration { get; set; } 17 | public Uri? KeyUrl { get; set; } 18 | public string? IV { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Browser Monitor 10 |
11 |
12 |

Browser monitoring is disabled in XDM

13 |

XDM is running but browser monitoring is disabled in XDM

14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Browser Monitor 10 |
11 |
12 |

Browser monitoring is disabled in XDM

13 |

XDM is running but browser monitoring is disabled in XDM

14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Browser Monitor 10 |
11 |
12 |

Browser monitoring is disabled in XDM

13 |

XDM is running but browser monitoring is disabled in XDM

14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/ILinkRefresher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using XDM.Core.Downloader.Progressive; 3 | using XDM.Core.Downloader.Progressive.DualHttp; 4 | using XDM.Core.Downloader.Progressive.SingleHttp; 5 | 6 | namespace XDM.Core 7 | { 8 | public interface ILinkRefresher 9 | { 10 | event EventHandler? RefreshedLinkReceived; 11 | 12 | void AddToWatchList(HTTPDownloaderBase downloader); 13 | void ClearWatchList(); 14 | bool LinkAccepted(Message message); 15 | bool LinkAccepted(SingleSourceHTTPDownloadInfo info); 16 | bool LinkAccepted(DualSourceHTTPDownloadInfo info); 17 | } 18 | } -------------------------------------------------------------------------------- /app/XDM/xdm-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Layer 1 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Progressive/SingleHttp/SingleSourceHTTPDownloadInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | 4 | namespace XDM.Core.Downloader.Progressive.SingleHttp 5 | { 6 | public class SingleSourceHTTPDownloadInfo: IRequestData 7 | { 8 | public string Uri { get; set; } 9 | public string? Cookies { get; set; } 10 | public Dictionary> Headers { get; set; } 11 | public string File { get; set; } 12 | public long ContentLength { get; set; } 13 | public bool ConvertToMp3 { get; set; } 14 | public string ContentType { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IQueuesWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using XDM.Core; 4 | using XDM.Core.UI; 5 | 6 | namespace XDM.Core.UI 7 | { 8 | public interface IQueuesWindow 9 | { 10 | event EventHandler? QueuesModified; 11 | event EventHandler? QueueStartRequested; 12 | event EventHandler? QueueStopRequested; 13 | event EventHandler? WindowClosing; 14 | 15 | void RefreshView(); 16 | void SetData(IEnumerable queues); 17 | void ShowWindow(object window); 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/svg-icons/xdm-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Layer 1 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import reportWebVitals from './reportWebVitals'; 6 | import 'bootstrap/dist/css/bootstrap.min.css'; 7 | 8 | ReactDOM.render( 9 | 10 | 11 | , 12 | document.getElementById('root') 13 | ); 14 | 15 | // If you want to start measuring performance in your app, pass a function 16 | // to log results (for example: reportWebVitals(console.log)) 17 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 18 | reportWebVitals(); 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/MainWindow/CategoryEntry.cs: -------------------------------------------------------------------------------- 1 | using XDM.Core; 2 | 3 | namespace XDM.Wpf.UI 4 | { 5 | internal class CategoryWrapper 6 | { 7 | public readonly Category? category; 8 | public bool IsTopLevel { get; set; } 9 | public string? DisplayName { get; set; } 10 | public string VectorIcon { get; set; } 11 | public CategoryWrapper(Category category) 12 | { 13 | this.category = category; 14 | } 15 | public CategoryWrapper() 16 | { 17 | } 18 | public string? Name 19 | => category?.DisplayName ?? category?.Name ?? DisplayName; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Chunk.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace XDM.Core.Downloader 4 | { 5 | public class Chunk 6 | { 7 | public Uri Uri { get; set; } 8 | public long Size { get; set; } 9 | public long Offset { get; set; } 10 | public string Id { get; set; } 11 | public ChunkState ChunkState { get; set; } 12 | public long Downloaded { get; set; } 13 | 14 | public Chunk() 15 | { 16 | this.ChunkState = ChunkState.Ready; 17 | } 18 | } 19 | 20 | public enum ChunkState 21 | { 22 | Ready, FailedFatal, FailedTransient, InProgress, Finished 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/XDM/FFmpegCustomBuild/ffmpeg_options.txt: -------------------------------------------------------------------------------- 1 | # Lines starting with this character are ignored 2 | # To override some options specifically for the shared build, create a ffmpeg_options_shared.txt file. 3 | 4 | # Basic built-in options, can be removed if you delete "--disable-autodetect" 5 | --disable-everything 6 | --disable-network 7 | --disable-autodetect 8 | --enable-small 9 | --enable-demuxer=mov,mp4,m4a,3gp,3g2,mj2,matroska,webm,mpegts 10 | --enable-libmp3lame 11 | --enable-encoder=libmp3lame 12 | --enable-muxer=mp4,matroska,mpegts,mp3,webm 13 | --enable-protocol=file,srt,concat 14 | --enable-bsfs 15 | --enable-filter=acopy,concat,copy 16 | --enable-decoder=vorbis,opus,aac,ac3 17 | -------------------------------------------------------------------------------- /.github/workflows/xdm-wpf-build.yml: -------------------------------------------------------------------------------- 1 | name: .NET 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: windows-latest 13 | 14 | defaults: 15 | run: 16 | working-directory: ./app/XDM/XDM.Wpf.UI/ 17 | 18 | steps: 19 | - uses: actions/checkout@v3 20 | - name: Setup .NET 21 | uses: actions/setup-dotnet@v2 22 | with: 23 | dotnet-version: 6.0.x 24 | - name: Restore dependencies 25 | run: dotnet restore 26 | - name: Build 27 | run: dotnet build --no-restore 28 | - name: Test 29 | run: dotnet test --no-build --verbosity normal 30 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/new_browser_ext/lib/logger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | export default class Logger { 3 | constructor() { 4 | this.loggingEnabled = true; 5 | let manifest = null; 6 | if (chrome && chrome.runtime && chrome.runtime.getManifest) { 7 | manifest = chrome.runtime.getManifest(); 8 | } else if (runtime && runtime.getManifest) { 9 | manifest = chrome.getManifest(); 10 | } 11 | if (manifest) { 12 | this.loggingEnabled = !manifest.update_url; 13 | } 14 | } 15 | 16 | log(content) { 17 | if (this.loggingEnabled) { 18 | console.log(content); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/TextInput.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './TextInput.css'; 3 | function TextInput(props) { 4 | function handleChange(event) { 5 | props.updateMappings(props.keyName, event.target.value); 6 | } 7 | return ( 8 |
9 |
10 | 11 | 13 |
14 |
15 | ); 16 | } 17 | 18 | export default TextInput; -------------------------------------------------------------------------------- /app/XDM/XDM.Core/DataAccess/Extensions/DataReaderExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data.SQLite; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace XDM.Core.DataAccess.Extensions 8 | { 9 | public static class DataReaderExtensions 10 | { 11 | public static string GetSafeString(this SQLiteDataReader r, int index) 12 | { 13 | if (!r.IsDBNull(index)) 14 | { 15 | return r.GetString(index); 16 | } 17 | #pragma warning disable CS8603 // Possible null reference return. 18 | return null; 19 | #pragma warning restore CS8603 // Possible null reference return. 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace XDM.WinForms.IntegrationUI 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | //Application.SetHighDpiMode(HighDpiMode.SystemAware); 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Form1()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "XDM Integration Module", 3 | "action": {}, 4 | "manifest_version": 3, 5 | "version": "3.3", 6 | "description": "Download with Xtreme Download Manager.", 7 | "host_permissions": [ 8 | "*://*/*" 9 | ], 10 | "permissions": [ 11 | "downloads", 12 | "cookies", 13 | "webRequest", 14 | "tabs", 15 | "storage", 16 | "contextMenus", 17 | "alarms" 18 | ], 19 | "background": { 20 | "service_worker": "main.js", 21 | "type": "module" 22 | }, 23 | "icons": { 24 | "16": "icon16.png", 25 | "48": "icon48.png", 26 | "128": "icon128.png" 27 | } 28 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Win32/WpfToWinformWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows; 6 | using System.Windows.Interop; 7 | 8 | namespace XDM.Wpf.UI.Win32 9 | { 10 | internal class WinformsWindow 11 | : System.Windows.Forms.IWin32Window 12 | { 13 | IntPtr _handle; 14 | 15 | public WinformsWindow(Window window) 16 | { 17 | _handle = new WindowInteropHelper(window).Handle; 18 | } 19 | 20 | #region IWin32Window Members 21 | 22 | IntPtr System.Windows.Forms.IWin32Window.Handle 23 | { 24 | get { return _handle; } 25 | } 26 | 27 | #endregion 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/fatal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | XDM Browser Monitor 10 |
11 |
12 |

Browser monitoring is disabled

13 |

Please make sure XDM is runnning and you have latest version of XDM installed, This addon is compatible with XDM 14 | 7.0 or higher

15 |

Download XDM

16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IInProgressDownloadRow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using XDM.Core; 7 | 8 | namespace XDM.Core.UI 9 | { 10 | public interface IInProgressDownloadRow 11 | { 12 | public string FileIconText { get; } 13 | 14 | public string Name { get; set; } 15 | 16 | public long Size { get; set; } 17 | 18 | public DateTime DateAdded { get; set; } 19 | 20 | public int Progress { get; set; } 21 | 22 | public DownloadStatus Status { get; set; } 23 | 24 | public string DownloadSpeed { get; set; } 25 | 26 | public string ETA { get; set; } 27 | 28 | public InProgressDownloadItem DownloadEntry { get; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/CountdownLatch.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | 3 | 4 | namespace XDM.Core.Downloader 5 | { 6 | public class CountdownLatch 7 | { 8 | private ManualResetEvent Latch { get; } = new ManualResetEvent(false); 9 | private int counter; 10 | 11 | public CountdownLatch(int counter) 12 | { 13 | this.counter = counter; 14 | } 15 | 16 | public void CountDown() 17 | { 18 | Interlocked.Decrement(ref counter); 19 | if (counter == 0) this.Latch.Set(); 20 | } 21 | 22 | public void Wait() 23 | { 24 | Latch.WaitOne(); 25 | } 26 | 27 | public void Break() 28 | { 29 | Latch.Set(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | display: flex; 3 | flex-direction: column; 4 | padding: 10px; 5 | } 6 | 7 | .App-logo { 8 | height: 40vmin; 9 | pointer-events: none; 10 | } 11 | 12 | @media (prefers-reduced-motion: no-preference) { 13 | .App-logo { 14 | animation: App-logo-spin infinite 20s linear; 15 | } 16 | } 17 | 18 | .App-header { 19 | background-color: #282c34; 20 | min-height: 100vh; 21 | display: flex; 22 | flex-direction: column; 23 | align-items: center; 24 | justify-content: center; 25 | font-size: calc(10px + 2vmin); 26 | color: white; 27 | } 28 | 29 | .App-link { 30 | color: #61dafb; 31 | } 32 | 33 | @keyframes App-logo-spin { 34 | from { 35 | transform: rotate(0deg); 36 | } 37 | 38 | to { 39 | transform: rotate(360deg); 40 | } 41 | } -------------------------------------------------------------------------------- /app/XDM/firefox-amo/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "XDM v8+ Browser Helper", 3 | "browser_action": {}, 4 | "manifest_version": 2, 5 | "version": "1.4", 6 | "description": "Download files with XDM v8+", 7 | "permissions": [ 8 | "tabs", 9 | "cookies", 10 | "contextMenus", 11 | "menus", 12 | "activeTab", 13 | "webRequest", 14 | "webRequestBlocking", 15 | "*://*/*" 16 | ], 17 | "background": { 18 | "page": "main.html" 19 | }, 20 | "icons": { 21 | "16": "icon16.png", 22 | "48": "icon48.png", 23 | "128": "icon128.png" 24 | }, 25 | "browser_specific_settings": { 26 | "gecko": { 27 | "id": "xdm-v8-browser-helper@subhra74.github.io" 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Common/ValueConverters/FileSizeValueConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Windows.Data; 7 | using XDM.Core.Util; 8 | 9 | namespace XDM.Wpf.UI 10 | { 11 | [ValueConversion(typeof(long), typeof(string))] 12 | internal class FileSizeValueConverter : IValueConverter 13 | { 14 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 15 | { 16 | return FormattingHelper.FormatSize((long)value); 17 | } 18 | 19 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 20 | { 21 | throw new NotImplementedException(); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Dialogs/Settings/CategoryFileTypesConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Windows.Data; 7 | 8 | namespace XDM.Wpf.UI.Dialogs.Settings 9 | { 10 | [ValueConversion(typeof(IEnumerable), typeof(string))] 11 | internal class CategoryFileTypesConverter : IValueConverter 12 | { 13 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 14 | { 15 | return string.Join(",", ((IEnumerable)value).ToArray()); 16 | } 17 | 18 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 19 | { 20 | throw new NotImplementedException(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/XDM/MockServer/MockServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0; 5 | AnyCPU;x86;x64 6 | 9.0 7 | enable 8 | 9 | 10 | 11 | none 12 | false 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IDownloadCompleteDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface IDownloadCompleteDialog 10 | { 11 | public event EventHandler? FileOpenClicked; 12 | public event EventHandler? FolderOpenClicked; 13 | public event EventHandler? DontShowAgainClickd; 14 | 15 | public string FileNameText { get; set; } 16 | public string FolderText { get; set; } 17 | public void ShowDownloadCompleteDialog(); 18 | } 19 | 20 | public class DownloadCompleteDialogEventArgs : EventArgs 21 | { 22 | public string? Path { get; set; } 23 | public string? FileName { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/XDM/chrome-extension/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | XDM Integration Module 11 |
12 |
13 |
14 |

Unable to connect with XDM, please make sure XDM is running

15 |
16 |
17 | 18 |
19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /app/XDM/firefox-amo/app/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | XDM Integration Module 11 |
12 |
13 |
14 |

Unable to connect with XDM, please make sure XDM is running

15 |
16 |
17 | 18 |
19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /app/XDM/XDM.Compatibility/DictionaryExtensions.cs: -------------------------------------------------------------------------------- 1 | #if !NET5_0_OR_GREATER 2 | 3 | using System.Collections.Generic; 4 | 5 | namespace XDM.Compatibility 6 | { 7 | public static class DictionaryExtensions 8 | { 9 | public static V GetValueOrDefault(this Dictionary dict, K key, V defaultValue) 10 | { 11 | if (dict.TryGetValue(key, out V value)) 12 | { 13 | return value; 14 | } 15 | return defaultValue; 16 | } 17 | 18 | public static V GetValueOrDefault(this Dictionary dict, K key) 19 | { 20 | #pragma warning disable CS8604 // Possible null reference argument. 21 | return dict.GetValueOrDefault(key, default); 22 | #pragma warning restore CS8604 // Possible null reference argument. 23 | } 24 | } 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/MainWindow/ValueConverters/FileExtensionToVectorImageConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows; 4 | using System.Windows.Data; 5 | using System.Windows.Media; 6 | using XDM.Core.UI; 7 | 8 | namespace XDM.Wpf.UI 9 | { 10 | [ValueConversion(typeof(string), typeof(Geometry))] 11 | internal class FileExtensionToVectorImageConverter : IValueConverter 12 | { 13 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 14 | { 15 | return Application.Current.TryFindResource(IconMap.GetVectorNameForFileType(value as string)); 16 | } 17 | 18 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 19 | { 20 | throw new NotImplementedException(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/XDM/NativeMessaging/NativeMessaging.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | ec82d5e3-4a98-4fbf-be18-88a085d12290 7 | 8 | 9 | NativeMessaging 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Common/Helpers/SelectionHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Controls; 6 | 7 | namespace XDM.Wpf.UI.Common.Helpers 8 | { 9 | internal static class SelectionHelper 10 | { 11 | public static int[] GetSelectedIndices(this ListView lv) 12 | { 13 | if (lv.SelectedItems.Count < 1) return new int[0]; 14 | var list = new List(lv.SelectedItems.Count); 15 | var selectedItems = lv.SelectedItems; 16 | var allItems = lv.Items; 17 | for (int i = 0; i < selectedItems.Count; i++) 18 | { 19 | var index = allItems.IndexOf(selectedItems[i]); 20 | list.Add(index); 21 | } 22 | list.Sort(); 23 | return list.ToArray(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/MainWindow/ValueConverters/ListViewDateConverter.cs: -------------------------------------------------------------------------------- 1 | //using System; 2 | //using System.Collections.Generic; 3 | //using System.Globalization; 4 | //using System.Linq; 5 | //using System.Text; 6 | //using System.Windows.Data; 7 | 8 | //namespace XDM.Wpf.UI.MainWindow.ValueConverters 9 | //{ 10 | // //[ValueConversion(typeof(DateTime), typeof(string))] 11 | // //internal class ListViewDateConverter : IValueConverter 12 | // //{ 13 | // // public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 14 | // // { 15 | // // var date = (DateTime)value; 16 | // // if(date) 17 | // // } 18 | 19 | // // public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 20 | // // { 21 | // // throw new NotImplementedException(); 22 | // // } 23 | // //} 24 | //} 25 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Downloader/Progressive/DualHttp/DualSourceHTTPDownloadInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | 4 | namespace XDM.Core.Downloader.Progressive.DualHttp 5 | { 6 | public class DualSourceHTTPDownloadInfo : IRequestData 7 | { 8 | public string Uri1 { get; set; } 9 | public string Uri2 { get; set; } 10 | public string? Cookies1 { get; set; } 11 | public string? Cookies2 { get; set; } 12 | public Dictionary> Headers1 { get; set; } 13 | public Dictionary> Headers2 { get; set; } 14 | public string File { get; set; } 15 | public long ContentLength { get; set; } 16 | public long ContentLength1 { get; set; } 17 | public long ContentLength2 { get; set; } 18 | public string ContentType1 { get; set; } 19 | public string ContentType2 { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Dialogs/ChromeIntegrator/Page2.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Controls; 3 | using System.Windows.Media.Imaging; 4 | using XDM.Core.BrowserMonitoring; 5 | 6 | namespace XDM.Wpf.UI.Dialogs.ChromeIntegrator 7 | { 8 | /// 9 | /// Interaction logic for Page2.xaml 10 | /// 11 | public partial class Page2 : UserControl 12 | { 13 | public Browser Browser 14 | { 15 | set 16 | { 17 | this.Img.Source = new BitmapImage( 18 | new Uri( 19 | System.IO.Path.Combine( 20 | System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "images"), 21 | $"load_unpacked.jpg"))); 22 | } 23 | } 24 | public Page2() 25 | { 26 | InitializeComponent(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/MainWindow/ValueConverters/FileExtensionToColorConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows; 4 | using System.Windows.Data; 5 | using System.Windows.Media; 6 | using XDM.Core.UI; 7 | 8 | namespace XDM.Wpf.UI 9 | { 10 | [ValueConversion(typeof(string), typeof(SolidColorBrush))] 11 | internal class FileExtensionToColorConverter : IValueConverter 12 | { 13 | public object Convert(object? value, Type targetType, object parameter, CultureInfo culture) 14 | { 15 | var res = IconMap.GetVectorNameForFileType(value as string); 16 | return Application.Current.TryFindResource("color-" + res); 17 | } 18 | 19 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 20 | { 21 | throw new NotImplementedException(); 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Clients/Http/IHttpClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using XDM.Core; 6 | 7 | namespace XDM.Core.Clients.Http 8 | { 9 | public interface IHttpClient : IDisposable 10 | { 11 | public TimeSpan Timeout { get; set; } 12 | 13 | public HttpRequest CreateGetRequest(Uri uri, 14 | Dictionary>? headers = null, 15 | string? cookies = null, 16 | AuthenticationInfo? authentication = null); 17 | 18 | public HttpRequest CreatePostRequest(Uri uri, 19 | Dictionary>? headers = null, 20 | string? cookies = null, 21 | AuthenticationInfo? authentication = null, 22 | byte[]? body = null); 23 | 24 | public HttpResponse Send(HttpRequest request); 25 | public void Close(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/INewDownloadDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using XDM.Core.UI; 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface INewDownloadDialog : IFileSelectable 10 | { 11 | void SetFileSizeText(string text); 12 | void DisposeWindow(); 13 | void Invoke(Action callback); 14 | void ShowWindow(); 15 | void ShowMessageBox(string message); 16 | string Url { get; set; } 17 | AuthenticationInfo? Authentication { get; set; } 18 | ProxyInfo? Proxy { get; set; } 19 | int SpeedLimit { get; set; } 20 | bool EnableSpeedLimit { get; set; } 21 | event EventHandler DownloadClicked, DestroyEvent, 22 | UrlChangedEvent, UrlBlockedEvent, QueueSchedulerClicked; 23 | event EventHandler DownloadLaterClicked; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/XDM/XDM_Tests/GenericTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using XDM.Core.Lib.Common; 8 | using XDM.Core.Lib.Common.Collections; 9 | 10 | namespace XDM.SystemTests 11 | { 12 | class GenericTests 13 | { 14 | [Test] 15 | public void TestGenericOrderDictionary() 16 | { 17 | var dict = new GenericOrderedDictionary(); 18 | dict.Add("Hello", true); 19 | dict.Add("Heeelllllo", true); 20 | dict.Add("World", false); 21 | foreach (var key in dict.Keys) 22 | { 23 | Console.WriteLine(key + " " + dict[key]); 24 | } 25 | Console.WriteLine("First: "+dict.First()); 26 | Console.WriteLine("Last: " + dict.Last()); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/XDM/XDM.Compatibility/StreamExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace XDM.Compatibility 8 | { 9 | public static class StreamExtension 10 | { 11 | public static void CopyTo(this Stream stream, Stream destination) 12 | { 13 | #if NET35 14 | var buffer = new byte[8192]; 15 | #else 16 | var buffer = System.Buffers.ArrayPool.Shared.Rent(8192); 17 | #endif 18 | try 19 | { 20 | int read; 21 | while ((read = stream.Read(buffer, 0, buffer.Length)) != 0) 22 | destination.Write(buffer, 0, read); 23 | } 24 | finally 25 | { 26 | #if !NET35 27 | System.Buffers.ArrayPool.Shared.Return(buffer); 28 | #endif 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/MainWindow/ValueConverters/CategoryToVectorImageConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Windows; 7 | using System.Windows.Data; 8 | using System.Windows.Media; 9 | using XDM.Core.UI; 10 | 11 | namespace XDM.Wpf.UI 12 | { 13 | [ValueConversion(typeof(string), typeof(Geometry))] 14 | internal class CategoryToVectorImageConverter : IValueConverter 15 | { 16 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 17 | { 18 | var geom = Application.Current.TryFindResource(value); 19 | return geom; 20 | } 21 | 22 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/Util/ExtensionRegistrationHelper.cs: -------------------------------------------------------------------------------- 1 | //using System; 2 | //using System.Collections.Generic; 3 | //using System.IO; 4 | //using System.Text; 5 | 6 | //namespace XDM.Core.Util 7 | //{ 8 | // public static class ExtensionRegistrationHelper 9 | // { 10 | // public static void AddExtension(string extension) 11 | // { 12 | // if (!extension.EndsWith("/")) 13 | // { 14 | // extension += "/"; 15 | // } 16 | // var file = Path.Combine(Config.AppDir, "extension.txt"); 17 | // var extensions = new List(); 18 | // if (File.Exists(file)) 19 | // { 20 | // extensions.AddRange(File.ReadAllLines(file)); 21 | // } 22 | // extensions.Add(extension); 23 | // var set = new HashSet(extensions); 24 | // File.WriteAllLines(file, set); 25 | // } 26 | // } 27 | //} 28 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/fatal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | XDM Browser Monitor 11 |
12 |
13 |

Browser monitoring is disabled

14 |

Please make sure XDM is runnning and you have latest version of XDM installed, This addon is 15 | compatible with XDM 16 | 7.0 or higher

17 |
18 | 19 |

Download XDM

20 |
21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /app/XDM/XDM_Tests/XDM.SystemTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0; 5 | AnyCPU;x86;x64 6 | 9.0 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/fatal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | XDM Browser Monitor 11 |
12 |
13 |

Browser monitoring is disabled

14 |

Please make sure XDM is runnning and you have latest version of XDM installed, This addon is 15 | compatible with XDM 16 | 7.0 or higher

17 |
18 | 19 |

Download XDM

20 |
21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/BrowserMonitoring/ExtensionData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace XDM.Core.BrowserMonitoring 6 | { 7 | public class ExtensionData 8 | { 9 | public string Url { get; set; } 10 | public string Cookie { get; set; } 11 | public Dictionary> RequestHeaders { get; set; } 12 | public Dictionary> ResponseHeaders { get; set; } 13 | public string File { get; set; } 14 | public string Method { get; set; } 15 | public string UserAgent { get; set; } 16 | public string TabUrl { get; set; } 17 | public string TabId { get; set; } 18 | public string TabTitle { get; set; } 19 | public string Referer { get; set; } 20 | public long? FileSize { get; set; } 21 | public string MimeType { get; set; } 22 | public string Vid { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/XDM/Lang/index.txt: -------------------------------------------------------------------------------- 1 | English=English.txt 2 | Arabic (العربية)=Arabic.txt 3 | Chinese simplified (简体中文)=Chinese simplified.txt 4 | Chinese Traditional (繁體中文)=Chinese Traditional.txt 5 | Czech=Czech.txt 6 | Farsi - Persian (فارسی)=Farsi-Persian.txt 7 | French(Français)=French.txt 8 | German(Deutsch)=German.txt 9 | Hungarian=Hungarian.txt 10 | Indonesian (Bahasa Indonesia)=Indonesian.txt 11 | Italian=Italian.txt 12 | Korea (한국어)=Korea.txt 13 | Malayalam=Malayalam.txt 14 | Nepali=Nepali.txt 15 | Polish=Polish.txt 16 | Portuguese Brazil (Português (Brasil))=Portuguese Brazil.txt 17 | Romanian (ROMÂNĂ)=Romanian.txt 18 | Russian(Rусский)=Russian.txt 19 | Serbian - Latin (Srpski (latinica))=Serbian - Latin.txt 20 | Serbian Cyrillic (Српски (ћирилица))=Serbian Cyrillic.txt 21 | Spanish (Español)=Spanish.txt 22 | Traditional Chinese - Taiwan (繁體中文(台灣))=Traditional Chinese - Taiwan.txt 23 | Turkish(Türkçe)=Turkish.txt 24 | Ukrainian(Українська)=Ukrainian.txt 25 | Vietnamese=Vietnamese.txt -------------------------------------------------------------------------------- /app/XDM/NativeMessagingHost/App.PostDotNet4.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/XDM/XDM.Win.Installer/make-silent-msi.bat: -------------------------------------------------------------------------------- 1 | set BUILD_VER=8.0.14 2 | 3 | DEL /s /q *.wixobj 4 | DEL /s /q net4.6.0.wxs 5 | RMDIR /S /Q BIN 6 | RMDIR /S /Q xdm-helper-chrome 7 | 8 | MKDIR BIN 9 | MKDIR BIN\chrome-extension 10 | MKDIR BIN\ext-loader 11 | MKDIR BIN\XDM.App.Host 12 | 13 | dotnet build -c Release -f net4.6.0 ..\XDM.Wpf.UI\XDM.Wpf.UI.csproj -o BIN 14 | dotnet build -c Release -f net4.6.0 ..\XDM.App.Host\XDM.App.Host.csproj -o BIN\XDM.App.Host 15 | 16 | copy /B ffmpeg-x86.exe BIN 17 | git clone https://github.com/subhra74/xdm-helper-chrome.git 18 | 19 | xcopy /E xdm-helper-chrome\chrome\chrome-extension BIN\chrome-extension 20 | xcopy /E xdm-helper-chrome\ext-loader BIN\ext-loader 21 | 22 | heat dir BIN -o net4.6.0.wxs -scom -frag -srd -sreg -gg -cg NET460 -dr INSTALLFOLDER 23 | 24 | candle silent.wxs net4.6.0.wxs 25 | light -ext WixUIExtension -ext WixUtilExtension -cultures:en-us silent.wixobj net4.6.0.wixobj -b BIN -out xdmsetup-%BUILD_VER%-x86.msi 26 | 27 | -------------------------------------------------------------------------------- /app/XDM/NativeMessagingHost/BlockingCollection.cs: -------------------------------------------------------------------------------- 1 | #if NET35 2 | 3 | using System.Collections.Generic; 4 | using System.Threading; 5 | 6 | namespace NetFX.Polyfill2 7 | { 8 | public class BlockingCollection 9 | { 10 | private object _queueLock = new(); 11 | private Queue _queue = new(); 12 | private AutoResetEvent _objectAvailableEvent = new(false); 13 | 14 | public T Take() 15 | { 16 | lock (_queueLock) 17 | { 18 | if (_queue.Count > 0) 19 | return _queue.Dequeue(); 20 | } 21 | 22 | _objectAvailableEvent.WaitOne(); 23 | 24 | return Take(); 25 | } 26 | 27 | public void Add(T obj) 28 | { 29 | lock (_queueLock) 30 | { 31 | _queue.Enqueue(obj); 32 | } 33 | 34 | _objectAvailableEvent.Set(); 35 | } 36 | } 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /app/XDM/XDM.Compatibility/BlockingCollection.cs: -------------------------------------------------------------------------------- 1 | #if NET35 2 | 3 | using System.Collections.Generic; 4 | using System.Threading; 5 | 6 | namespace XDM.Compatibility 7 | { 8 | public class BlockingCollection 9 | { 10 | private object _queueLock = new(); 11 | private Queue _queue = new(); 12 | private AutoResetEvent _objectAvailableEvent = new(false); 13 | 14 | public T Take() 15 | { 16 | lock (_queueLock) 17 | { 18 | if (_queue.Count > 0) 19 | return _queue.Dequeue(); 20 | } 21 | 22 | _objectAvailableEvent.WaitOne(); 23 | 24 | return Take(); 25 | } 26 | 27 | public void Add(T obj) 28 | { 29 | lock (_queueLock) 30 | { 31 | _queue.Enqueue(obj); 32 | } 33 | 34 | _objectAvailableEvent.Set(); 35 | } 36 | } 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /app/XDM/XDM.Gtk.UI/ButtonWrapper.cs: -------------------------------------------------------------------------------- 1 | using Gtk; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using XDM.Core.UI; 8 | 9 | namespace XDM.GtkUI 10 | { 11 | internal class ButtonWrapper : IButton 12 | { 13 | private readonly Button button; 14 | 15 | public ButtonWrapper(Button button) 16 | { 17 | this.button = button; 18 | button.Clicked += (s, e) => 19 | { 20 | this.Clicked?.Invoke(s, e); 21 | }; 22 | } 23 | 24 | public bool Visible { get => button.Visible; set => button.Visible = value; } 25 | 26 | public bool Enable 27 | { 28 | get => button.Sensitive; 29 | set 30 | { 31 | button.Sensitive = value; 32 | } 33 | } 34 | 35 | public event EventHandler? Clicked; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Dialogs/ChromeIntegrator/Page2.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/chrome/manifest2.json: -------------------------------------------------------------------------------- 1 | { 2 | "update_url": "https://clients2.google.com/service/update2/crx", 3 | "manifest_version": 2, 4 | "minimum_chrome_version": "18.0", 5 | "name": "Xtreme Download Manager", 6 | "description": "XDM is an open source download manager", 7 | "version": "2.2", 8 | "icons": { 9 | "48": "icon.png", 10 | "128": "icon-128.png" 11 | }, 12 | "background": { 13 | "page": "background.html" 14 | }, 15 | "browser_action": { 16 | "default_icon": "icon.png" 17 | }, 18 | "permissions": [ 19 | "activeTab", 20 | "cookies", 21 | "contextMenus", 22 | "webRequest", 23 | "webRequestBlocking", 24 | "*://*/*", 25 | "nativeMessaging" 26 | ], 27 | "commands": { 28 | "toggle-monitoring": { 29 | "suggested_key": { 30 | "default": "Ctrl+Shift+E", 31 | "mac": "Command+Shift+E" 32 | }, 33 | "description": "Toggle monitoring" 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox/manifest2.json: -------------------------------------------------------------------------------- 1 | { 2 | "update_url": "https://clients2.google.com/service/update2/crx", 3 | "manifest_version": 2, 4 | "minimum_chrome_version": "18.0", 5 | "name": "Xtreme Download Manager", 6 | "description": "XDM is an open source download manager", 7 | "version": "2.2", 8 | "icons": { 9 | "48": "icon.png", 10 | "128": "icon-128.png" 11 | }, 12 | "background": { 13 | "page": "background.html" 14 | }, 15 | "browser_action": { 16 | "default_icon": "icon.png" 17 | }, 18 | "permissions": [ 19 | "activeTab", 20 | "cookies", 21 | "contextMenus", 22 | "webRequest", 23 | "webRequestBlocking", 24 | "*://*/*", 25 | "nativeMessaging" 26 | ], 27 | "commands": { 28 | "toggle-monitoring": { 29 | "suggested_key": { 30 | "default": "Ctrl+Shift+E", 31 | "mac": "Command+Shift+E" 32 | }, 33 | "description": "Toggle monitoring" 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/INewVideoDownloadDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using XDM.Core.UI; 6 | 7 | namespace XDM.Core.UI 8 | { 9 | public interface INewVideoDownloadDialog : IFileSelectable 10 | { 11 | void DisposeWindow(); 12 | void Invoke(Action callback); 13 | void ShowWindow(); 14 | void ShowMessageBox(string text); 15 | string FileSize { get; set; } 16 | public AuthenticationInfo? Authentication { get; set; } 17 | public ProxyInfo? Proxy { get; set; } 18 | public int SpeedLimit { get; set; } 19 | public bool EnableSpeedLimit { get; set; } 20 | public bool ShowMp3Checkbox { get; set; } 21 | public bool IsMp3CheckboxChecked { get; set; } 22 | 23 | event EventHandler DownloadClicked, DestroyEvent, QueueSchedulerClicked, Mp3CheckChanged; 24 | event EventHandler DownloadLaterClicked; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/XDM/XDM_Tests/NanoServerTests.cs: -------------------------------------------------------------------------------- 1 | using HttpServer; 2 | using NUnit.Framework; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Net; 7 | using System.Text; 8 | using System.Threading; 9 | using System.Threading.Tasks; 10 | 11 | namespace XDM.SystemTests 12 | { 13 | class NanoServerTests 14 | { 15 | [Test] 16 | public void TestServer() 17 | { 18 | var me = new ManualResetEvent(false); 19 | var server = new NanoServer(IPAddress.Loopback, 5454); 20 | server.RequestReceived += (a, b) => 21 | { 22 | me.Set(); 23 | }; 24 | server.Start(); 25 | //new Thread(() => server.Start()); 26 | //Thread.Sleep(200000000); 27 | ////var wr = WebRequest.CreateHttp("http://127.0.0.1:5454/hello"); 28 | ////wr.GetResponse().GetResponseStream().Close(); 29 | //me.WaitOne(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/NewDownloadPromptTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core 7 | { 8 | public static class NewDownloadPromptTracker 9 | { 10 | private static readonly HashSet newDownloadPrompts = new(); 11 | 12 | public static bool IsPromptAlreadyOpen(string url) 13 | { 14 | lock (newDownloadPrompts) 15 | { 16 | return newDownloadPrompts.Contains(url); 17 | } 18 | } 19 | 20 | public static void PromptOpen(string url) 21 | { 22 | lock (newDownloadPrompts) 23 | { 24 | newDownloadPrompts.Add(url); 25 | } 26 | } 27 | 28 | public static void PromptClosed(string url) 29 | { 30 | lock (newDownloadPrompts) 31 | { 32 | newDownloadPrompts.Remove(url); 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/XDM/XDM.Core/UI/IBatchDownloadView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace XDM.Core.UI 7 | { 8 | public interface IBatchDownloadView 9 | { 10 | void SetStartLetterRange(string[] range); 11 | void SetEndLetterRange(string[] range); 12 | void ShowWindow(); 13 | void DestroyWindow(); 14 | 15 | bool IsLetterMode { get; set; } 16 | bool IsUsingLeadingZero { get; set; } 17 | string Url { get; set; } 18 | char? StartLetter { get; } 19 | char? EndLetter { get; } 20 | int StartNumber { get; } 21 | int EndNumber { get; } 22 | int LeadingZeroCount { get; } 23 | string BatchAddress1 { get; set; } 24 | string BatchAddress2 { get; set; } 25 | string BatchAddressN { get; set; } 26 | bool IsBatchMode { get; } 27 | 28 | event EventHandler? PatternChanged; 29 | event EventHandler? OkClicked; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/XDM/XDM.Win.Installer/make-msi - Copy.bat: -------------------------------------------------------------------------------- 1 | set BUILD_VER=8.0.18 2 | 3 | DEL /s /q *.wixobj 4 | DEL /s /q net4.6.0.wxs 5 | RMDIR /S /Q BIN 6 | RMDIR /S /Q xdm-helper-chrome 7 | 8 | MKDIR BIN 9 | MKDIR BIN\chrome-extension 10 | MKDIR BIN\ext-loader 11 | MKDIR BIN\XDM.App.Host 12 | MKDIR BIN\demo 13 | 14 | dotnet build -c Release -f net4.6.0 ..\XDM.Wpf.UI\XDM.Wpf.UI.csproj -o BIN 15 | dotnet build -c Release -f net4.6.0 ..\XDM.App.Host\XDM.App.Host.csproj -o BIN\XDM.App.Host 16 | 17 | copy /B ffmpeg-x86.exe BIN 18 | git clone https://github.com/subhra74/xdm-helper-chrome.git 19 | 20 | xcopy /E xdm-helper-chrome\chrome\chrome-extension BIN\chrome-extension 21 | xcopy /E xdm-helper-chrome\ext-loader BIN\ext-loader 22 | 23 | xcopy /E demo BIN\demo 24 | 25 | heat dir BIN -o net4.6.0.wxs -scom -frag -srd -sreg -gg -cg NET460 -dr INSTALLFOLDER 26 | 27 | candle product.wxs net4.6.0.wxs 28 | light -ext WixUIExtension -ext WixUtilExtension -cultures:en-us product.wixobj net4.6.0.wixobj -b BIN -out xdmsetup-%BUILD_VER%-x86.msi 29 | 30 | -------------------------------------------------------------------------------- /app/xdm-browser-monitor--depricated/firefox-old/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "minimum_chrome_version": "18.0", 4 | "name": "XDM Browser Monitor", 5 | "description": "XDM integration module for Firefox Quantum", 6 | "version": "2.2", 7 | "icons": { 8 | "48": "icon.png" 9 | }, 10 | "background": { 11 | "page": "background.html" 12 | }, 13 | "browser_action": { 14 | "default_icon": "icon.png" 15 | }, 16 | "permissions": [ 17 | "tabs", 18 | "cookies", 19 | "contextMenus", 20 | "activeTab", 21 | "webRequest", 22 | "webRequestBlocking", 23 | "nativeMessaging", 24 | "*://*/*" 25 | ], 26 | "applications": { 27 | "gecko": { 28 | "id": "browser-mon@xdman.sourceforge.net" 29 | } 30 | }, 31 | "commands": { 32 | "toggle-monitoring": { 33 | "suggested_key": { 34 | "default": "Ctrl+Shift+E", 35 | "mac": "Command+Shift+E" 36 | }, 37 | "description": "Toggle monitoring" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /translation-generator/translation-gen/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "translation-gen", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@testing-library/jest-dom": "^5.16.2", 7 | "@testing-library/react": "^12.1.3", 8 | "@testing-library/user-event": "^13.5.0", 9 | "bootstrap": "^5.1.3", 10 | "react": "^17.0.2", 11 | "react-dom": "^17.0.2", 12 | "react-scripts": "5.0.0", 13 | "web-vitals": "^2.1.4" 14 | }, 15 | "scripts": { 16 | "start": "react-scripts start", 17 | "build": "react-scripts build", 18 | "test": "react-scripts test", 19 | "eject": "react-scripts eject" 20 | }, 21 | "eslintConfig": { 22 | "extends": [ 23 | "react-app", 24 | "react-app/jest" 25 | ] 26 | }, 27 | "browserslist": { 28 | "production": [ 29 | ">0.2%", 30 | "not dead", 31 | "not op_mini all" 32 | ], 33 | "development": [ 34 | "last 1 chrome version", 35 | "last 1 firefox version", 36 | "last 1 safari version" 37 | ] 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/XDM/XDM.WinForms.IntegrationUI/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/XDM/XDM.Messaging/XDM.Messaging.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 417407f5-8dba-474e-8ab7-66f2cc33b777 7 | 8 | 9 | XDM.Messaging 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/XDM/XDM.Wpf.UI/Dialogs/VideoDownloader/VideoDownloaderPage2.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |