Skip to content

Commit b2a9b22

Browse files
committed
2023.4.28.0
Plugins IPluginContentProvider: added DownloadSingleObject function; added tokens to GetMedia and Download functions; removed GetSpecialData function Add IDownloadableMedia interface Removed 'Channel' option from all functions and enums ISiteSettings: added GetSingleMediaInstance function ExchangeOptions: removed 'IsChannel' UserMediaTypes: added Audio and AudioPre enums IUserMedia, PluginUserMedia: changed ContentType and DownloadState from integers to their enums SCrawler Add YouTube standalone downloader Add gallery-dl & yt-dlp support Remove 'UserInfo' requirement from 'ProfilesSaved' Update 'SiteSettingsBase' to use domains and Netscape cookies UserDataBase: remove channels; remove old 'Merge' const; standardize SavedPosts file naming; move 'ValidateMD5' function from Twitter to UserDataBase to use it in other UserData classes; add 'DownloadSingleObject' environment for single posts; add validating file extension for m3u8 during download; add reindex of video file during download Rewritten DomainsContainer Create a universal settings form and PSettingsArttribute Gfycat, Imgur: turn these classes into IUserData to download a single object All plugins: update 'GetInstance' function for saved posts; update domains where implemented; remove 'OptionForm' where it exists; update options where they exist; update unix date providers; reconfigure channels where they exist LPSG: fix attachments; update converters and regex Add sites: ThisVid, Mastodon, Pinterest, YouTube, YouTube music Reddit: standardize container parsing for all data types; new channel environment; fix 'ReparseMissing' function; redirect data downloading to the base download function, saved crossposts support Twitter: fixed gif path bug; fixed downloading saved posts PornHub: hide unnecessary errors; photo galleries bug RedGifs: add 'UserAgent' option Added icons to download progress Rename some objects Completely redesigned standalone downloader form and rewritten its environment WebClient2: update to use tokens Labels: update label form (save labels to file only when OK button is clicked); change removing labels.txt from recycle bin to permanent; disable storing label 'NoParsedUser' UserCreatorForm: remove the 'Channel' checkbox and related functions; ability to extract the user's URL from the buffer and apply parameters if found Remove temporary 'EncryptCookies' module MainFrame: added simplified way to create new users (Ctrl+Insert to create a new user with default parameters from clipboard URL); removed SCrawler command line argument "-v" (remove the ability to run SCrawler as video downloader) PropertyValueHost: update for option forms compatibility SettingsHost: removed 'GetSpecialData' fork; added 'GetSingleMediaInstance' fork UserDataHost: update functions with tokens; update events; add 'DownloadSingleObject' function Settings: add the ability to get environment from 4 destinations; add the ability to set the program environment manually; add CMDEncoding; add cache; remove the old function 'RemoveUnusedPlugins'; add 'STDownloader' properties; add YT compatibility; add new notification options; add deleting user settings file when 'SettingsCLS.Dispose()' if where are no users in SCrawler UserFinder: remove old 'Merge' const; remove channel option UserInfo: remove channel option
1 parent db9e2cf commit b2a9b22

File tree

270 files changed

+18081
-3293
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

270 files changed

+18081
-3293
lines changed

.gitattributes

+3
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
# Auto detect text files and perform LF normalization
22
* text=auto
3+
4+
# Declare files that will always have CRLF line endings on checkout.
5+
*.md text eol=crlf

.github/FUNDING.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
44
patreon: # Replace with a single Patreon username
55
open_collective: # Replace with a single Open Collective username
6-
ko_fi: andyprogram
6+
ko_fi: #andyprogram
77
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
88
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
99
liberapay: # Replace with a single Liberapay username
1010
issuehunt: # Replace with a single IssueHunt username
1111
otechie: # Replace with a single Otechie username
1212
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13-
custom: ['https://blockchair.com/bitcoin/address/BC1Q0NH839FT5TA44DD7L7RLR97XDQAG9V8D6N7XET']
13+
custom: ['https://github.com/AAndyProgram/SCrawler/blob/main/HowToSupport.md']

.github/ISSUE_TEMPLATE/bug_report.md

+16-8
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,16 @@ A clear and concise description of what the bug is.
1313
**To Reproduce**
1414
Steps to reproduce the behavior:
1515
1. **Profile URL**:
16-
2. Do something
17-
3. See error
16+
2. **Post URL**:
17+
3. Do something
18+
4. See error
1819

19-
**Log data**
20-
If the program log contains any data.
20+
<details>
21+
<summary>Log data</summary>
22+
<pre>
23+
If the program log contains any data, replace this line with the log data. If the program log does not contain any data, write here about.
24+
</pre>
25+
</details>
2126

2227
**Expected behavior**
2328
A clear and concise description of what you expected to happen.
@@ -26,10 +31,13 @@ A clear and concise description of what you expected to happen.
2631
If applicable, add screenshots to help explain your problem.
2732

2833
**Release information (please complete the following information):**
29-
- OS [e.g. Windows 10, Windows 11]
30-
- Architecture [e.g. x86, x64]
31-
- Version [e.g. 2.0.0.0]
32-
- NET.Framework version
34+
- OS: [e.g. Windows 10, Windows 11]
35+
- Architecture: [e.g. x86, x64]
36+
- Version: [e.g. 2023.3.5.0]
37+
- NET.Framework version:
38+
- ffmpeg version (command `ffmpeg -version`):
39+
- yt-dlp version (command `yt-dlp --version`):
40+
- gallery-dl version (command `gallery-dl --version`):
3341

3442
**Additional context**
3543
Add any other context about the problem here.

.gitignore

+2-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
*.user
1010
*.userosscache
1111
*.sln.docstates
12-
ffmpeg.exe
12+
.obsidian/
1313
ToDo.txt
14+
ToDo.md
1415

1516
# User-specific files (MonoDevelop/Xamarin Studio)
1617
*.userprefs
@@ -33,10 +34,7 @@ bld/
3334
[Oo]bj/
3435
[Ll]og/
3536
[Ll]ogs/
36-
ffmpeg/
37-
cURL/
3837
Info/
39-
Hidden/
4038

4139
# Visual Studio 2015/2017 cache/options directory
4240
.vs/

CONTRIBUTING.md

+10-9
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@ I welcome requests! Follow these steps to contribute:
88
1. If you have a code change suggestion, you can post a replacement code block. I also accept pull requests.
99

1010
# How to build from source
11-
1. Delete the ```PersonalUtilities``` project from the solution.
12-
1. Delete the ```PersonalUtilities.Notifications``` project from the solution.
13-
1. Delete the ```cURL``` folder from the solution.
14-
1. Delete the ```ffmpeg.exe``` from the solution.
11+
1. Delete the `PersonalUtilities` project from the solution.
12+
1. Delete the `PersonalUtilities.Notifications` project from the solution.
1513
1. The following libraries must be added to project references with the '**Copy to output folder**' option:
16-
- ```PersonalUtilities.dll```
17-
- ```PersonalUtilities.Notifications.dll```
18-
- ```Microsoft.Toolkit.Uwp.Notifications.dll```
19-
- ```System.ValueTuple.dll```
20-
1. Import ```PersonalUtilities.Functions``` for the whole project.
14+
- `PersonalUtilities.dll`
15+
- `PersonalUtilities.Notifications.dll`
16+
- `Microsoft.Toolkit.Uwp.Notifications.dll`
17+
- `System.ValueTuple.dll`
18+
1. Import `PersonalUtilities.Functions` for the whole project.
2119

2220
**Always use the correct libraries. You must download libraries from the same release date as the code commit date.**
2321

2422
# How to request a new site
23+
24+
**I'm currently not accepting requests to develop new sites.**
25+
2526
1. Check [issues](https://github.com/AAndyProgram/SCrawler/issues) (open and [closed](https://github.com/AAndyProgram/SCrawler/issues?q=is%3Aissue+is%3Aclosed)) and [discussions](https://github.com/AAndyProgram/SCrawler/discussions) to find your issue. Perhaps I have already answered your request.
2627
1. If you don't find anything, create a new issue with your request. I usually reply as soon as possible (within the next few hours).
2728

Changelog.md

+44
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,47 @@
1+
# 2023.4.28.0
2+
3+
*2023-04-28*
4+
5+
- Added
6+
- **YouTube**
7+
- **YouTube Music**
8+
- **Mastodon**
9+
- **Pinterest**
10+
- **ThisVid**
11+
- **YouTube downloader (standalone app)**
12+
- Redesigned standalone downloader and update environment
13+
- Added icons to download progress
14+
- Added icons to saved posts downloader
15+
- **Cookies**: new ways to add cookies. You can now export cookies using the browser extension and then import them into SCrawler!
16+
- User creation: ability to extract the user's URL from the buffer and apply parameters if found
17+
- User creation: simplified way to create new users (`Ctrl+Insert` to create a new user with default parameters from clipboard URL)
18+
- Ability to customize the placement of ffmpeg (and other) files
19+
- Ability to customize the command line encoding
20+
- New notification options for standalone downloader
21+
- Reddit: now it can download saved crossposts
22+
- RedGifs: added `UserAgent` option
23+
- Other improvements
24+
- Removed
25+
- User creation: remove the 'Channel' checkbox because it confuses people
26+
- Removed an ability to open SCrawler with `-v` argument
27+
- All ways to create users except URL. You can only properly create a user using the user's URL.
28+
- Plugins
29+
- Added `IDownloadableMedia` interface
30+
- Removed `Channel` option from all functions and enums
31+
- ISiteSettings: added `GetSingleMediaInstance` function
32+
- IPluginContentProvider: added `DownloadSingleObject` function
33+
- IPluginContentProvider: added tokens to `GetMedia` and `Download` functions
34+
- IPluginContentProvider: removed `GetSpecialData` function
35+
- UserMediaTypes: added `Audio` and `AudioPre` enums
36+
- Fixed
37+
- LPSG: attachments not downloading (Issue #114)
38+
- Twitter: saved posts not downloading (Issue #119)
39+
- XVIDEOS: saved posts not downloading
40+
- Deleting labels file
41+
- PornHub: hide unnecessary errors (Issue #116)
42+
- PornHub: photo galleries bug (Issue #115)
43+
- Minor bugs
44+
145
# 2023.3.5.0
246

347
*2023-03-05*

FAQ.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,7 @@ Any other questions I will keep in this file.
1414

1515
A: https://github.com/AAndyProgram/SCrawler/wiki/Settings#how-to-set-up-cookies
1616

17-
----
18-
19-
#### Q: **I can't copy cookies.**
20-
21-
A: Use the mouse. Don't use ```Ctrl+A```!
17+
<!---**ATTENTION! If you need to use cookies but cannot import them, I highly recommend that you don't use SCrawler and use another program. Don't create issues, discussions, or write to me on Discord. Any issue or discussion about cookies will be deleted immediately without a response. Any user who asks me about cookies on Discord will be banned.**--->
2218

2319
----
2420

@@ -30,21 +26,22 @@ A: This is a GUI program.
3026

3127
#### Q: **Will CLI be added in the future?**
3228

33-
A: I do not think so.
29+
A: NO.
3430

3531
----
3632

3733
#### Q: **I want to add "...." site. How to request.**
3834

39-
A: How to request a new site you can read [here](CONTRIBUTING.md#how-to-request-a-new-site)
35+
<!---A: How to request a new site you can read [here](CONTRIBUTING.md#how-to-request-a-new-site)--->
36+
**I'm currently not accepting requests to develop new sites.**
4037

4138
----
4239

43-
#### Q: **Twitter/Instagram download failed.**
40+
#### Q: **Site download failed.**
4441

45-
A: Check your credentials. Both of these sites require cookies. Check your [Twitter tokens](https://github.com/AAndyProgram/SCrawler/wiki/Settings#how-to-find-twitter-tokens) and [Instagram settings](https://github.com/AAndyProgram/SCrawler/wiki/Settings#instagram). If all settings are set, but nothing works, go to [create a new issue](https://github.com/AAndyProgram/SCrawler/issues). Don't forget to attach the LOG.
42+
A: Check your credentials and **[SITES REQUIREMENTS](https://github.com/AAndyProgram/SCrawler/wiki/Settings#sites-requirements)**. If all settings are set, but nothing works, go to [create a new issue](https://github.com/AAndyProgram/SCrawler/issues). Don't forget to attach the LOG.
4643

47-
**[SITES REQUIREMENTS](https://github.com/AAndyProgram/SCrawler/wiki/Settings#sites-requirements)**
44+
**ATTENTION! Issues without URLs will be closed without a response!**
4845

4946
----
5047

@@ -80,7 +77,7 @@ A: The program stored posts IDs in users' folders. For the first time, the progr
8077

8178
#### Q: **How to redownload all data**
8279

83-
A: Double-click on the user you want to redownload. In the opened window open folder setting. Delete the files ending with ```_Data.xml``` and ```_Posts.txt```. Download this user again.
80+
A: Double-click on the user you want to redownload. In the opened window open folder setting. Delete the files ending with ```_Data.xml``` and ```_Posts.txt```. Restart SCrawler. Download this user again.
8481

8582
----
8683

@@ -116,4 +113,4 @@ A: I can only [suggest](#q-you-lost-me-your-program-is-too-complicated) you find
116113

117114
#### Q: **Can you add a step-by-step guide or video on how to use the program?**
118115

119-
A: **NO**! I will not do it. If you want, you can create a video tutorial and send it to me. Then I add it. All options and what each option does described on the wiki. The wiki also contains a description of all settings and how-to configure them. For complex settings, there is a steep-by-steep guide. Read the [main](README.md) information and [GUIDE](https://github.com/AAndyProgram/SCrawler/wiki/) and you won't have any problems. I have developed a program with an intuitive interface. There is a Settings button, download buttons, a context menu that drops down when a user is clicked, and other controls. Anyone can use it.
116+
A: **NO! NEVER!** The guide fully covers all the functionality of SCrawler! If you don't respect my work, I don't waste my time. If you want, you can create a video tutorial and send it to me. Then I add it. All options and what each option does described on the wiki. The wiki also contains a description of all settings and how-to configure them. For complex settings, there is a steep-by-steep guide. Read the [main](README.md) information and [GUIDE](https://github.com/AAndyProgram/SCrawler/wiki/) and you won't have any problems. I have developed a program with an intuitive interface. There is a Settings button, download buttons, a context menu that drops down when a user is clicked, and other controls. Anyone can use it.

HowToSupport.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ Your support is very valuable to me. Any support is greatly appreciated. Your su
22

33
You can support the program by:
44
- **Bitcoin**: BC1Q0NH839FT5TA44DD7L7RLR97XDQAG9V8D6N7XET
5-
- :heavy_dollar_sign: make a donation on this site: https://ko-fi.com/andyprogram
65
- :repeat: make a post about my program on your profile (Reddit, Twitter, Instagram and any other social networks)
76
- :speech_balloon: tell your friends about the program
87
- :heart: like the program on this site: https://alternativeto.net/software/scrawler/about/
98
- :heart: like the program on this site: https://www.softpedia.com/get/Internet/Download-Managers/Social-networks-crawler.shtml
109
- suggest my program as an alternative ([on this site](https://alternativeto.net/software/scrawler/about/)) to any program you have used before
1110

1211
I would be very grateful for any support! :blush:
12+
<!---:heavy_dollar_sign: make a donation on this site: https://ko-fi.com/andyprogram--->

ProgramScreenshots/AppYouTube.png

32.2 KB
Loading
25.3 KB
Loading
47.4 KB
Loading
44.4 KB
Loading
24.8 KB
Loading
56.1 KB
Loading
-675 Bytes
Loading

ProgramScreenshots/SavedPosts.png

16.4 KB
Loading
303 Bytes
Loading
363 Bytes
Loading
175 Bytes
Loading
314 Bytes
Loading
15.2 KB
Loading
385 Bytes
Loading
19.7 KB
Loading
267 Bytes
Loading
Loading
21.8 KB
Loading
Loading
14.9 KB
Loading
3.18 KB
Loading
14.4 KB
Loading
-1.13 KB
Loading
15.9 KB
Loading

ProgramsComparison.md

+56-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,55 @@
1+
# yt-dlp
2+
3+
https://github.com/yt-dlp/yt-dlp/
4+
5+
**Great powerful CLI tool that supports hundreds of sites.**
6+
7+
SCrawler has advanced user management, collections, labels, groups, automatic downloads, a beautiful view, GUI, the ability to add plugins for other sites and much more. Just try it and compare.
8+
9+
# 4K Video Downloader
10+
11+
https://www.4kdownload.com/-plbrz/video-downloader
12+
13+
| Option | SCrawler | 4K Stogram |
14+
| ---- | ---- | ---- |
15+
| User managament | **Advanced** | No |
16+
| Automatic downloads | **Yes** | No |
17+
| Downloading groups | **Yes** | No |
18+
| Labeling users | **Yes** | No |
19+
| Filtering | **Yes** | No |
20+
| Collections | **Yes** | No |
21+
| Specific user folders | **Yes** | No |
22+
| Favorite / Temporary user options | **Yes** | No |
23+
| Plugins support | **Yes** | No |
24+
| Download single video | **Unlimited** | 30 videos per day *(unlimited starts from 12 EUR)* |
25+
| Download videos per channel | **Unlimited** | 5 free *(unlimited starts from 12 EUR)* |
26+
| Download videos per playlist | **Unlimited** | 10 free *(unlimited starts from 12 EUR)* |
27+
| Download video subtitles | **Any for free**: single video, playlist, user/channel, album, etc| Free for single video |
28+
| The number of subtitles you can download for a video | **All of them** | Up to 10 |
29+
| Convert subtitles to additional formats | **Yes** | No |
30+
| Support LRC format | **Yes** | No |
31+
| Select audio codec for audio/video | **Yes** | No |
32+
| Extract and convert additional audio tracks for video | **Yes** | No |
33+
| Simultaneous downloads | **Unlimited** | 1 free, 3 for 12 EUR, 7 for 43 EUR|
34+
| Private YouTube content download | **Free** | Only in paid plans *starts from 12 EUR* |
35+
| **Paid** | **No** | Yes |
36+
| **Free options** | **The program is completely free** | Only **30** videos per day, 5 from a channel, 10 from a playlist |
37+
| Permitted Commercial Use | **Yes** | Starting from 43 EUR |
38+
| Automatic Subscriptions Update | **Free** | Paid (43 EUR) |
39+
| Posts and Captions Export | No | Paid (43 EUR) |
40+
| Advertisements free | **No ADs at all for free** | Paid (43 EUR) |
41+
| Operating Systems | Windows 10+ | Windows 7+, MacOS 10.13+, Ubuntu x64 |
42+
| Select want content type to download | **Yes** | No |
43+
| Instagram support | **Yes** | No |
44+
| Twitter support | **Yes** | No |
45+
| Reddit support | **Yes** | No |
46+
| Other sites support | **Yes** | No |
47+
| Still supported | Yes | Yes |
48+
149
# 4K Stogram
250

3-
https://www.4kdownload.com/products/product-stogram
51+
<!---https://www.4kdownload.com/products/product-stogram--->
52+
https://www.4kdownload.com/-ad0p9/stogram
453

554
| Option | SCrawler | 4K Stogram |
655
| ---- | ---- | ---- |
@@ -27,10 +76,10 @@ https://www.4kdownload.com/products/product-stogram
2776
| Export and import subscriptions | No | **Yes** |
2877
| **Paid** | **No** | Yes |
2978
| **Free options** | **The program is completely free** | Only **ONE** profile downloading and only **200 posts** per day |
30-
| Permitted Commercial Use | **Yes** | Starting from 43.56 EUR |
31-
| Automatic Subscriptions Update | **Free** | Paid (43.56 EUR) |
32-
| Posts and Captions Export | No | Paid (43.56 EUR) |
33-
| Advertisements free | **No ADs at all for free** | Paid (14.52) |
79+
| Permitted Commercial Use | **Yes** | Starting from 43 EUR |
80+
| Automatic Subscriptions Update | **Free** | Paid (43 EUR) |
81+
| Posts and Captions Export | No | Paid (43 EUR) |
82+
| Advertisements free | **No ADs at all for free** | Paid (18 EUR) |
3483
| Operating Systems | Windows 10+ | Windows 7+, MacOS 10.13+, Ubuntu x64 |
3584
| Select want content type to download | **Yes** | No |
3685
| Instagram support | Yes | Yes |
@@ -68,15 +117,14 @@ https://github.com/RipMeApp/ripme
68117
| **Free options** | The program is completely free | The program is completely free, but site limits are not declared |
69118
| Operating Systems | Windows 10+ | Windows, MacOS, Linux |
70119
| Select want content type to download | Yes | Yes |
71-
| Suported sites | 9 internal and any site using plugins | 86+ sites (declared) |
120+
| Suported sites | 15 internal and any site using plugins | 86+ sites (declared) |
72121
| Other sites support | **Yes** | No |
73122
| Still supported | **Yes** | **No (last release date May 4, 2021)** |
74123

75124
# gallery-dl
76125

77126
https://github.com/mikf/gallery-dl
78127

79-
80-
**CLI tool**! Configured with JSON files only. Users need to learn complex configuration options, JSON, commands to use that tool. Very difficult to configure.
128+
**CLI tool**
81129

82130
SCrawler has advanced user management, collections, labels, groups, automatic downloads, a beautiful view, GUI, the ability to add plugins for other sites and much more. Just try it and compare.

0 commit comments

Comments
 (0)