mhogomchungu / media-downloader

Media Downloader is a Qt/C++ front end to yt-dlp, youtube-dl, gallery-dl, lux, you-get, svtplay-dl, aria2c, wget and safari books..
GNU General Public License v2.0
1.69k stars 131 forks source link

Media downloader name confusion #186

Open trimechee opened 2 years ago

trimechee commented 2 years ago

Hello, i find software named "Mediadownloader" made by O7q, , it has almost the same name of Media-Downloader, may be Mr Francis should talk to the developoer of this software and ask him to change the name of his software to avoid confusion !

https://github.com/o7q/MediaDownloader

mhogomchungu commented 2 years ago

"Media Downloader" name is too generic and will change it at some point in the near future.

trimechee commented 2 years ago

Fantastic ! 💯 🥇

BarbzYHOOL commented 1 year ago

Found one called "ultimate media downloader" that looks very similar to yours, maybe a ripoff

mhogomchungu commented 1 year ago

Just looked into it and i am confident enough to call it an illegal fork of my project.

My project is licensed under GPLv2+ and this means they have to make their changes public and they are not and their fork is proprietary.

A few strings found in the binary they provide is below some of them are identical to mine and one string say have forked my project at version 2.2.0

onlyCompletedCheckBox
widgetStyleIndex
dark
windowThemeIndex
Adwaita
Select a Cookie file
CurrentDownloadFolder
Select download directory
CurrentTabWidgetTabPosition
Engine cache cleaned.
Failed to clear engine cache.
rbConfigYtHighQual
rbConfigYtMediumQual
rbConfigYtLowQual
uiName
presetOptions.json
PresetJsonOptions
comparator
downloadOption
engine
Cleaning Engine Cache ...
--rm-cache-dir
downloadDefaultOptions.json
contrast
Fusion
https://gist.github.com/keshavbhatt/66a344f39192176c968708ef7f55c915
preferedPlaybackQualityYtSearch
    {
        "options": "bestvideo[height=144][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=144]+bestaudio",
        "uiName": "144p"
    },
    {
        "options": "bestvideo[height=240][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=240]+bestaudio",
        "uiName": "240p"
    },
    {
        "options": "bestvideo[height=360][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=360]+bestaudio",
        "uiName": "360p"
    },
    {
        "options": "bestvideo[height=480][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=480]+bestaudio",
        "uiName": "480p"
    },
    {
        "options": "bestvideo[height=720][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=720]+bestaudio",
        "uiName": "720p"
    },
    {
        "options": "bestvideo[height=1080][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=1080]+bestaudio",
        "uiName": "1080p"
    },
    {
        "options": "bestvideo[height=1440][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=1440]+bestaudio",
        "uiName": "1440p"
    },
    {
        "options": "bestvideo[height=2160][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height=2160]+bestaudio",
        "uiName": "2160p"
    },
    {
        "options": "Default",
        "uiName": "Default"
    },
    {
        "options": "bestvideo+bestaudio",
        "uiName": "Best-audio-video"
    },
    {
        "options": "bestaudio -x --embed-thumbnail --audio-format mp3",
        "uiName": "Best-audio-with-thumbnail"
    },
    {
        "options": "bestaudio -x --audio-format mp3",
        "uiName": "Best-audio"
    }
vector::_M_range_check: __n (which is %zu) >= this->size() (which is %zu)
startsWith
endsWith
*ZN4util3runIZNS_3runIZZN9configureC4ERK7ContextENKUlvE8_clEvEUlRKNS_10run_resultEE_EEvRK7QStringRK11QStringListT_N8QProcess18ProcessChannelModeEEUlRSI_E_ZNS1_ISA_EEvSD_SG_SH_SJ_EUlSK_RSH_E0_ZNS1_ISA_EEvSD_SG_SH_SJ_EUliNSI_10ExitStatusESM_E1_ZNS1_ISA_EEvSD_SG_SH_SJ_EUlNSI_14ProcessChannelEO10QByteArraySM_E2_Li0EEEvSD_SG_SH_T0_T1_T2_E7process
verticalLayout_5
videoFormatsWidget
horizontalLayout_5
ignore1
audioFormatScrollArea
scrollAreaWidgetContents
verticalLayout_6
quality_box_widget_audio
quality_box_layout_audio
ignore2
videoFormatScrollArea
scrollAreaWidgetContents_2
verticalLayout_7
quality_box_widget_video
quality_box_layout_video
formatNotes
preferedFormatWidget
verticalLayout_8
preferLowest
preferMedium
preferHighest
selectedFormatLabel
copyFormatAndClosePb
:/icons/copy.png
setPb
cancelPb
:/icons/delete.png
Select audio quality
Select video quality
Prefer lowest quality
Prefer medium quality
Prefer highest quality
Copy Format and Close
Set Format and Close
code
1updateAudioVideoCode(bool)
2toggled(bool)
audio only
preferedQuality
-------Audio Format-------
--------------------------
-------Video Format-------
Format selection
7generic
DoneDownloading
containsAny
containsAll
Connector
[download] 100.0%
Confirm you are on the latest version, Go to Settings and click "Update Engine"
Confirm you are on the latest version using  yt-dlp -U
Start Downloading
%1 / %2 (%3%)
Checking installed version of
 OpenSSL
Found version
.tmp
Download Failed
assets
yt-dlp
browser_download_url
SHA2-256SUMS
Download complete
Failed to download, Following path can not be created: 
Failed to find version information, make sure "%1" is installed and works properly
Failed to parse json file from github
Y@Another instance running of %1 is already running
Previous instance of %1 seem to have crashed,trying to clean up before starting new one!
org.keshavnrj.ubuntu
/core
/bin
/data
/tmp
/ipc
Download cancelled
Download completed
[UMD4] cmd:
Post Processing
Elapsed Time:
 00:00:00
hh:mm:ss
python3
PATH
ControlJsonStructure
CanDownloadPlaylist
UserName
Password
OptionsArgument
PlaylistItemsArgument
BatchFileArgument
CookieArgument
SplitLinesBy
RemoveText
SkipLineWithText
DefaultDownLoadCmdOptions
DefaultListCmdOptions
--dump-json
Default
bla bla bla
${CommandName}
VersionStringLine
VersionStringPosition
LikeYoutubeDl
VersionArgument
BackendPath
DownloadUrl
${default}
${BackendPath}
CommandName
CommandNames
Generic
Args
amd64
gallery-dl
ffmpeg
python
--version
/3rdParty
/3rdParty/
LANG
Failed To Load A Plugin
Error: engines::defaultEngine: Unknown Engine: 
ReplaceOutputWithProgressReport
Failed to find executable "%1"
Error, executable to backend "%1" could not be found
Failed to find python3 executable for backend "%1"
Failed to open file for writing
Failed to open file for reading
RequiredMinimumVersionOfMediaDownloader
Engine "%1" requires atleast version "%2" of Media Downloader
N7engines6engine9functions6filterE
N7engines6engine9functionsE
https://api.invidious.io/instances.json?pretty=1&sort_by=health
:/others/instances.json
onion
a > .thumbnail
a > p
href
.channel-name
.video-data
Shared
.pure-u-1 .pure-u-md-1-4 > .h-box
1playerFinished(int)
2finished(int)
1playerReadyRead()
2readyRead()
--title=MPV for 
--no-ytdl
--force-window
--input-ipc-server=
--volume=
--audio-file=
_sockets
.socket
_videoPlayer
mpv.conf
script-opts-append=ytdl_hook-ytdl_path=
Process not initialized
--no-warnings
1ytdl_finished(int)
bestaudio
--extract-audio
--get-url
1getUrlProcessFinished(int)
resolution
1ytdl_play_default_finished(int)
1getUrlForAudioProcessFinished(int)
1getUrlsForOtherFormatsProcessFinished(int)
/api/v1/search/
/feed/trending/
relevance
sort_by
User-Agent
en-US,en;q=0.9
accept-language
1replyFinished()
author
videoId
authorId
publishedText
lengthStr
viewCountStr
hh:mm:ss ap
title,videoId,author,viewCount,publishedText,authorId,lengthSeconds
title,playlistId,author,authorId,videoCount,videos,playlistThumbnail
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
, check internet connection or reconnect to search server
nmCache
- **
https://raw.githubusercontent.com/yt-dlp/yt-dlp/master/supportedsites.md
pl_PL
Polish (Poland)
en_US
English (US)
Spanish (Spain)
zh_CN
Chinese (China)
tr_TR
Turkish (Turkey)
ru_RU
Russian (Russia)
ja_JP
Japanese (Japan)
You can select multiple formats using CTRL+Right Mouse click or use Custom format selector
<html><head/><body><p>Select one of the format or</p><p>use Custom format selector</p><p>to select a combination of formats</p></body></html>
Enter URL or paste from clipboard
Enter Download option or select one from format presets
Click if search is not working
Click if results are not showing up
Enter Playlist or Channel URL or paste from clipboard
Reload content in Download directory
Open Download directory in File Manager
<html><head/><body><p><span style=" font-weight:700;">Note: </span>this list only shows recent 100 files/directories</p></body></html>
Show version info when starting
Show item's preview in btach mode
Default Video Playback Quality
Get fresh list of supported Sites
Double click item to go to website using google search
Note: Not all sites listed may work out of the box at any given time
Try Orion Torrent Client
for Linux
MainWindow
Custom format selector
Code
Extension
Resolution
Note
Enter Options:
Enter URL:
Paste from Clipboard
Paste from clipboard
Recently Used
Show History ...
List Formats
Simple
Trending ...
Search Youtube
Using instance
Reconnect to search server
Use random server
Load results from next page
Load more results
Yt Search
Preview
Items
Add URL to List
Batch
List Items in Playlist
Get List Options:
Download Options:
Enter get list options
Enter Playlist URL:
Show online help
Up one level
Go Download Directory
Open Download Directory
Only show completed downloads
Type
General
Select Language
Tab Position
North
South
West
East
Light
Dark
Widget Style
High
Engine Name
Change Download Path
Maximum Cuncurrent Downloads
Path to Cookie fIle
Change Cookie file Path
How to extract cookie
Default Download Options
Update Engine
Clean Engine Cache
Settings
Suppoerted sites
Filter supported sites...
centralWidget
tabWidget
tabBasickDownloader
plainTextEditLogger
formatSelectionWidget
verticalLayout_16
horizontalLayout_16
pbCustomFormatSelector
:/icons/mouse.png
bdTableWidgetList
showDropIndicator
lineEditURL
lineEditOptions
pbPasteClipboard
pbOptionsHistory
:/icons/clock.png
pbEntries
:/icons/star_full.png
pbList
:/icons/notepad.png
pbResetBD
:/icons/shopping_basket.png
pbDownload
:/icons/inbox.png
pbCancel
:/icons/button_blue_stop.png
ytSearchTab
verticalLayout_14
ytWidget
verticalLayout_15
horizontalLayout_8
ytSearchLoadTrending
:/icons/up.png
ytSearchLineEdit
:/icons/menu2.png
ytSearchSearchTypeComboBox
ytSearchButton
:/icons/search.png
ytSearchResultsListWidget
horizontalLayout_12
ytSearchInstanceWidget
horizontalLayout_11
label_4
ytSearchInstancesCombo
ytSearchGetInstances
:/icons/link.png
ytSearchSwitchInstance
:/icons/database_active.png
ytSearchLoadMore
:/icons/next.png
:/icons/youtube.png
tabBatchDownloader
tableWidgetBD
showSortIndicator
BDFrame
pbCancelBatchDownloder
pbBatchDownloaderSet
gridLayout_2
lineEditBDUrl
labelBDEnterUrl
labelBDEnterOptions
lineEditBDUrlOptions
pbBDPasteClipboard
pbBDAdd
:/icons/add.png
pbBDOptions
pbBDOptionsHistory
horizontalLayout_9
pbBDDownload
pbBDCancel
:/icons/folder_add.png
tab_4
verticalLayout_9
tableWidgetPl
gridLayout_3
pbPLGetList
labelPLEnterUrlRange
lineEditPLUrl
pbPLPasteClipboard
lineEditPLUrlOptions
pbPLOptionsHistory
labelPLEnterOptions
lineEditPLDownloadRange
pbPLOptions
labelPLEnterUrl
pbPLRangeHistory
pbPLGetListOptionHelp
:/icons/help_blue.png
horizontalLayout_18
pbPLDownload
pbPLCancel
tab_5
verticalLayout_10
horizontalLayout_19
pbLibraryUp
pbLibraryHome
:/icons/home.png
pbLibraryRefresh
pbLibraryDowloadFolder
:/icons/folder_open.png
label_7
tableWidgetLibrary
:/icons/folder_download.png
tab_3
verticalLayout_11
scrollArea
verticalLayout_21
groupBox_2
verticalLayout_12
languageSelectionWidget
horizontalLayout_21
labelConfigureLanguage
cbConfigureLanguage
labelConfigureTheme_2
:/icons/sub_blue_up.png
:/icons/sub_blue_down.png
:/icons/sub_blue_prev.png
:/icons/sub_blue_next.png
comboBoxConfigureTabPosition
labelConfigureTheme
comboBoxTheme
horizontalLayout_6
labelConfigureWidgetStyle
comboBoxWidgetStyle
cbConfigureShowVersionInfo
cbConfigureShowThumbnails
groupBox_3
verticalLayout_18
verticalLayout_20
configPreferredYtQuality
horizontalLayout_10
label_6
groupBox
verticalLayout_17
engineNameWidget
horizontalLayout_31
labelConfigureEngines
cbConfigureEngines
horizontalLayout_23
labelConfigureDownloadPath
lineEditConfigureDownloadPath
pbConfigureDownloadPath
horizontalLayout_24
horizontalLayout_32
labelPathToCookieFile
lineEditConfigureCookiePath
pbConfigureCookiePath
pbConfigureCookieHowTo
defaultDownloadOptions
horizontalLayout_33
labelConfigureOptions
pbConfigureDownload
pbConfigureClearEngineCache
:/icons/tools.png
tabAccount
scrollArea_2
verticalLayout_23
accountFrame
:/icons/user_group.png
tabAbout
verticalLayout_19
aboutLabel
verticalLayout_13
horizontalLayout_7
supportedSitesLabel
supportedSitesFilterEdit
refresh
supportedSitesListWidget
horizontalLayout_17
orion
:/icons/info_blue.png
TableWidgetBatchDownloaderList
labelMaximumConcurrentDownloads
spinBoxConfigureMaximuConcurrentDownloads
lineEditConfigureDownloadOptions
:/icons/app/orion-64-grayscale.png
MainWindowGeometry
:/icons/app/orion-64.png
Rate Application
:/icons/app/icon-64.png
snap://ultimate-media-downloader
Done listing playlist items
subscriptions.json
--download-archive
This may take some time
getListOptions
subscriptions_archive_file.txt
--max-media-length
--min-media-length
--break-on-existing
--skip-on-existing
...
://icons/folder.png
://icons/video.png
://icons/music.png
://icons/puzzle.png
://icons/photo.png
Copy Filename
Copy Filepath
Delete
Delete All
Delete All Warning
info_
.log
.part
.ytdl
This will delete everything in current directory, Do you want to continue?
*ZN4util13runInBgThreadIZN7library12showContentsERK7QStringbEUlvE_ZNS1_12showContentsES4_bEUlRK11QStringListE0_Li0EEEvT_T0_E6Thread
*ZN4util13runInBgThreadIZNS_13runInBgThreadIZZZN7libraryC4ERK7ContextENKUl6QPointE0_clES6_ENKUlvE1_clEvEUlvE_ZZZNS2_C4ES5_ENKS7_clES6_ENKS8_clEvEUlvE0_Li0EEEvT_T0_EUlvE_ZNS1_IS9_SA_Li0EEEvSB_SC_EUliE0_Li0EEEvSB_SC_E6Thread
*ZN4util13runInBgThreadIZNS_13runInBgThreadIZZZN7libraryC4ERK7ContextENKUl6QPointE0_clES6_ENKUlvE2_clEvEUlvE_ZZZNS2_C4ES5_ENKS7_clES6_ENKS8_clEvEUlvE0_Li0EEEvT_T0_EUlvE_ZNS1_IS9_SA_Li0EEEvSB_SC_EUliE0_Li0EEEvSB_SC_E6Thread
Engine Name:
100.00
100,00
 | Completed: %1%, Not Started: %2, Succeeded: %3, Failed: %4, Cancelled: %5
BasicDownloaderDefaultEngine
BatchDownloaderDefaultEngine
BasicDownloaderOptionsHistory
BatchDownloaderOptionsHistory
LastUsedOptionBasicTab_
LastUsedOptionBatchTab_
LastUsedOptionPlayListTab_
DarkModeName
playlistRangeHistoryLastUsed
TabNumber
MaxConcurrentDownloads
AutoDownload
ShowVersionInfoWhenStarting
ConcurrentDownloading
CookieFilePath
PlaylistDownloaderSaveHistory
StringTruncationSize
HistorySize
ThumbnailWidth
ThumbnailHeight
EnabledHighDpiScalingFactor
LibraryDownloadFolder
CommandOnSuccessfulDownload
CommandWhenAllFinished
TranslationsPath
/translations
WindowDimensions_
PlaylistUrlHistory
Windows
PlaylistRangeHistory
/.config/
PlaylistDownloaderDefaultEngine
PlaylistDownloaderOptionsHistory
{MediaDownloaderDefaultDownloadPath}
UseSystemProvidedVersionIfAvailable
EngineDefaultDownloadingOptions_
TrendingWidget
defaultPb
musicPb
:/icons/music.png
gamingPb
:/icons/game_pad.png
moviesPb
regionComboBox
resetRegion
moviesPb_2
:/icons/prev.png
Any Category
Select Region
Reset to region
Go back
Back
Select one of the category to load
ytTrendingRegionIndex
://others/regions
:/icons/flags/
Best-audiovideo
Best-audio
Best-audio-with-thumbnail
Open Download Folder
Save List To File
webpage_url
upload_date
yyyymmdd
MM-dd-yyyy
Upload Date:
duration
Duration:
x86_64
/PID
taskkill
{MediaDownloaderDataPath}
{MediaDownloaderCWD}
/UMD4List.json
cmd: "
Clear Screen
Clear Options
https://github.com/yt-dlp/yt-dlp#video-selection
https://github.com/yt-dlp/yt-dlp#download-options
*ZN4util3runIZNS_3runIZN7utility11versionInfo22printEngineVersionInfoERKN7engines8IteratorEEUlRKNS_10run_resultEE_EEvRK7QStringRK11QStringListT_N8QProcess18ProcessChannelModeEEUlRSJ_E_ZNS1_ISB_EEvSE_SH_SI_SK_EUlSL_RSI_E0_ZNS1_ISB_EEvSE_SH_SI_SK_EUliNSJ_10ExitStatusESN_E1_ZNS1_ISB_EEvSE_SH_SI_SK_EUlNSJ_14ProcessChannelEO10QByteArraySN_E2_Li0EEEvSE_SH_SI_T0_T1_T2_E7process
logWindow
plainTextEdit
pbClose
pbClear
Log Window
LogWindow
format
ColumnNumber
Comparator
String
equals
youtube-dl
[download]
ERROR: 
[download] 
 has already been downloaded
] Destination: 
 Merging formats into "
core: error:
--yes-playlist
--no-playlist
--newline
%(autonumber)s
%(playlist_index)s
--progress-template
postprocess:
ShowListTableBoundary
--print
%(formats)j
2.2.0
--cookies
--ignore-config
%(title)s-%(id)s.%(ext)s
(pass -k to keep)
--playlist-items
format_id
filesize
container
protocol
vcodec
video_ext
acodec
audio_ext
none
video only
Proto: %1, File Size: %2
acodec: 
vcodec: 
tbr: 
vbr: 
has already been recorded in archive
download:[download] %(progress._percent_str)s of %(progress._total_bytes_str)s at %(progress._speed_str)s ETA %(progress._eta_str)s
https://api.github.com/repos/ytdl-org/youtube-dl/releases/latest
https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Proto: %1, File Size: %2
container: %3
trimechee commented 1 year ago

Hello @mhogomchungu, we love open source softwares but if it causes some people to steal your work and efforts, then I think it will be good idea to turn the media-downloader project into a closed source project and abandon open source especially since you seem to be the only developer of media-downloader and you don't get help from other developers, so it will be better for the safety of users to abandon open source licence in order to avoid projects that copy you !

BarbzYHOOL commented 1 year ago

that indian hustler is selling a premium version in top of that

anyway just wanted to point it to you

xlacroixx commented 10 months ago

I have sent a report on Snap Store and an email to Flathub where that ripoff is being distributed.

They also have a GitHub "repo" for listing issues (of which a big one evidently!), though reporting it means filling an entire DMCA takedown, and requires being the owner or authorized entity.

As for :

Hello @mhogomchungu, we love open source softwares but if it causes some people to steal your work and efforts, then I think it will be good idea to turn the media-downloader project into a closed source project and abandon open source especially since you seem to be the only developer of media-downloader and you don't get help from other developers, so it will be better for the safety of users to abandon open source licence in order to avoid projects that copy you !

I don't think this is a sufficient argument to go closed-source and proprietary. Unfortunately being ripped-off or having its name stolen will happen all the time with open-source projects, but the many positives of FOSS do make you think before doing such a thing. I would argue that it should be the user being wary about the authenticity of what they install; meanwhile the original project should add a related disclaimer and list the fake copies.

mhogomchungu commented 3 months ago

I have made a request to that project for their source code to be made public.

My understanding of the GPL says they can use my work to make money if they want but they have to provide their source code on request if it is not public.

trimechee commented 3 months ago

Mr @mhogomchungu , I found the ideal solution to protect your work and stay open source : i think it will be good idea to put in the main page of media downloader (and maybe make a blog to talk about the news of Media-downloader or reddit page or twitter page) that Media -downloader remains open source for experts who want to audit the code or participate in the development or make a donation but the code will now be hidden from the public to avoid theft and scams, and experts or companies who want to analyze the code or participate in the development must send you an email where they send you their resume, qualification, proof that they are security experts or honest developers with their ID and their real name and address of their company and so you could send them the code of Media -odownloader if you think they are trustworthy people, and they must commit to not making forks to sell them afterwards....
it is legitimate to do this to protect your work and users from fake forks because Media-downloader is the best downlader in earth !