Jaime Marquínez Ferrándiz
449d5c910c
Fix GooglePlusIE: the video_page url has changed of place
12 years ago
Filippo Valsorda
0251f9c9c0
add _search_regex to the new IEs
12 years ago
Filippo Valsorda
8bc7c3d858
Merge branch 'search_regex' - PR #872 - closes #847
12 years ago
Filippo Valsorda
af44c94862
use _search_regex in GenericIE
12 years ago
Jaime Marquínez Ferrándiz
32aa88bcae
Add GametrailersIE
12 years ago
Jaime Marquínez Ferrándiz
51090d636b
VimeoIE: allow to download password protected videos
12 years ago
Anisse Astier
88cebbd7b8
YoutubePlaylistIE: get *all* videos
...
For that, we add parameter safeSearch=none that asks youtube not filter
results before sending them to us.
Note: this parameter could be added to YoutubeSearchIE and YoutubeUserIE
as well, but I don't know what would be the impact in term of unwanted
results. Maybe expose that as a parameter? For a playlist it's different
since the user chose what she put in the playlist.
12 years ago
Jaime Marquínez Ferrándiz
fb8f7280bc
GenericIE: try to find videos from twitter cards info
12 years ago
Jaime Marquínez Ferrándiz
f380401bbd
YoutubeSearchIE: the query is a str, in python 3 it fails if decode is called
12 years ago
Philipp Hagemeister
8cd252f115
Use long rtmpdump options
...
Note that we accidentally called rtmpdump with -v (--live) instead of -V (--verbose) because we missed this.
12 years ago
Philipp Hagemeister
53f72b11e5
Allow unsetting the proxy with the --proxy option
12 years ago
Filippo Valsorda
78d3442b12
test: extend the reach of info_dict checking
...
* print the info_dict in a format suitable to easy adding to tests.json during tests if un-tested fields are detected
* make it possible to put the crc32 in tests.json if the field is too long
* complete the "info_dict" fields in existing tests
* fixed the bugs catched doing this
12 years ago
Filippo Valsorda
979a9dd4c4
_html_search_regex with clean_html superpowers
12 years ago
Filippo Valsorda
d5979c5d55
do not ask the user to report network errors
12 years ago
Jaime Marquínez Ferrándiz
8027175600
Set the extractor key in playlists entries
...
If they were videos the extractor key wasn't being set anywhere else
Closes 877
12 years ago
Jaime Marquínez Ferrándiz
3054ff0cbe
Merge pull request #853 from mc2avr/master
...
add ZDFIE
12 years ago
Jaime Marquínez Ferrándiz
cd453d38bb
Merge pull request #878 from yasoob/master
...
Added Vbox7.com InfoExtractor and tests.
12 years ago
Filippo Valsorda
f5a290eed9
print "please report this issue on GitHub" on every ExtractorError
12 years ago
M.Yasoob Khalid
ecb3e676a5
Added Vbox7 Infoextractor
12 years ago
Filippo Valsorda
8b59a98610
XHamster: Can't see the description anywhere in the UI
12 years ago
Filippo Valsorda
8409501206
use search_regex in new IEs
12 years ago
Filippo Valsorda
be95cac157
raise exceptions on warnings during tests - and solve a couple of them
12 years ago
Filippo Valsorda
476203d025
print WARNINGs during test + minor fix to NBAIE
12 years ago
Filippo Valsorda
468e2e926b
implement fallbacks and defaults in _search_regex
12 years ago
Anna Bernardi
ac3e9394e7
Implement search_regex from #847
12 years ago
Filippo Valsorda
868d62a509
style and error handling edits to HypemIE
12 years ago
M.Yasoob Khalid
157b864a01
added HypemIE
...
rebased, closes PR #871
12 years ago
Filippo Valsorda
951b9dfd94
Merge pull request #866 from yasoob/master
...
Added support for XHamster - closes #841
12 years ago
Jaime Marquínez Ferrándiz
9131bde941
SpiegelE: the page layout has changed a bit
12 years ago
Jaime Marquínez Ferrándiz
1132c10dc2
Merge pull request #864 from jacobian/vimeopro
...
Fixed an error downloading vimeo pro videos.
12 years ago
M.Yasoob Ullah Khalid
71e458d437
Added support for xhamster in infoextractors
12 years ago
Jaime Marquínez Ferrándiz
eda60e8251
VimeoIE: support videos from vimeopro.com
12 years ago
Jacob Kaplan-Moss
c794cbbb19
Fixed an error downloading vimeo pro videos.
12 years ago
Jaime Marquínez Ferrándiz
418f734a58
Merge pull request #854 from rg3/youtube_automatic_captions
...
YoutubeIE: fallback to automatic captions when subtitles aren't found
12 years ago
Jaime Marquínez Ferrándiz
dc1c355b72
YoutubeIE: fallback to automatic captions when subtitles aren't found ( closes #843 )
...
Also modify test_youtube_subtitles to support running the tests in any order.
12 years ago
Jaime Marquínez Ferrándiz
1b2b22ed9f
BlipTV: accept urls in the format http://a.blip.tv/api.swf#{id} ( closes #857 )
...
Tweak the regex so that BlipTV can be before BlipTVUser.
12 years ago
mc2avr
f2cd958c0a
add ZDFIE and _download_with_mplayer(mms://,rtsp://)
12 years ago
Philipp Hagemeister
57adeaea87
release 2013.05.23
12 years ago
Philipp Hagemeister
8f3f1aef05
Fix HowCast IE
12 years ago
Filippo Valsorda
51d2453c7a
small tweaks
12 years ago
Jaime Marquínez Ferrándiz
45014296be
Add TeamcocoIE ( closes #212 )
12 years ago
Anna Bernardi
afef36c950
add support for Flickr videos - closes #261
12 years ago
Filippo Valsorda
b31756c18e
Python 2 compat fixes for MyVideo.de rtmpdump downloads
12 years ago
Filippo Valsorda
f008688520
make rtmpdump inherit the verbose option for debugging
12 years ago
Filippo Valsorda
5b68ea215b
Merge pull request #842 - myvideo, rtmp support
...
@dersphere code, from dersphere/plugin.video.myvideo_de.git
rewritten by @mc2avr
released in the Public Domain by the author
ref: https://github.com/rg3/youtube-dl/pull/842
12 years ago
Jaime Marquínez Ferrándiz
b1d568f0bc
HowcastIE: extract thumbnail
12 years ago
Jaime Marquínez Ferrándiz
17bd1b2f41
VineIE: extract more information and minor style changes
12 years ago
Anna Bernardi
5b0d3cc0cd
Add support for Vine - closes #845
12 years ago
Filippo Valsorda
d4f76f1674
Add support for Howcast.com - closes #835
12 years ago
Jaime Marquínez Ferrándiz
340fa21198
UstreamIE: get thumbnail and uploader name
12 years ago
mc2avr
de5d66d431
MyVideoIE: add rtmp support
12 years ago
Jaime Marquínez Ferrándiz
7bdb17d4d5
Add extra_info argument to extract_info and process_ie_result
...
It allows to update the info_dicts with other values
(closes #840 )
12 years ago
Philipp Hagemeister
419c64b107
Throw a better error if the protocol is invalid
12 years ago
Philipp Hagemeister
99a5ae3f8e
Simplify generic search IE ( Closes #839 )
12 years ago
Philipp Hagemeister
c7563c528b
Merge remote-tracking branch 'jaimeMF/SearchIE'
12 years ago
Jaime Marquínez Ferrándiz
e30e9318da
Add base class SearchInfoExtractor for search queries IEs
12 years ago
Philipp Hagemeister
5c51028d38
release 2013.05.14
12 years ago
Philipp Hagemeister
02030ff7fe
release 2013.05.13
12 years ago
Philipp Hagemeister
f45c185fa9
Do not re-encode / to # if / is a platform separator, and correctly handle permission errors ( Fixes #831 )
12 years ago
Philipp Hagemeister
1bd96c3a60
Deprecate --only-sub
12 years ago
Jaime Marquínez Ferrándiz
929f85d851
Remove a print call used for debugging
12 years ago
Jaime Marquínez Ferrándiz
98d4a4e6bc
YoutubeSearchIE: return a playlist (related #838 )
12 years ago
Jaime Marquínez Ferrándiz
fb2f83360c
FFmpegPostProcessor: decode stderr first and then get the last line ( closes #837 )
12 years ago
Jaime Marquínez Ferrándiz
3c5e7729e1
GoogleSearchIE: change query urls to http://www.google.com/search
...
The old one was given HTTP 404 errors
12 years ago
Jaime Marquínez Ferrándiz
5a853e1423
Fix YahooSearchIE: ( closes #300 )
12 years ago
Jaime Marquínez Ferrándiz
2f58b12dad
YahooIE: support more videos
12 years ago
Jaime Marquínez Ferrándiz
59f4fd4dc6
YahooIE: remove old code and accept screen.yahoo.com videos ( #300 )
...
Videos require rtmpdump
12 years ago
Philipp Hagemeister
b08980412e
Merge pull request #826 from jakeogh/master
...
Added --get-id option to print video IDs
12 years ago
Philipp Hagemeister
532a1e0429
release 2013.05.10
12 years ago
Filippo Valsorda
2a36c352a0
Retry to disable YT ratelimit to unlock full bandwidth
...
This is the second attempt: a60b854d90
Sometimes the ratelimit=yes is already in the URL, and doubling it
leads to a 403. Now should work on all videos, at least works on all
I could test.
Closes #648
12 years ago
jakeogh
1a2adf3f49
added --get-id option to print video IDs
12 years ago
Jaime Marquínez Ferrándiz
43b62accbb
GoogleSearchIE: rename _download_n_results to _get_n_results
12 years ago
Jaime Marquínez Ferrándiz
be74864ace
Credit @JohnyMoSwag for WorldstarhiphopIE ( #730 )
12 years ago
Philipp Hagemeister
0ae456f08a
Credit @julienfr112 for Ina IE ( #823 )
12 years ago
Philipp Hagemeister
0f75d25991
release 2013.05.07
12 years ago
Philipp Hagemeister
67129e4a15
release 2013.05.06
12 years ago
Philipp Hagemeister
dfb9323cf9
Clean up InaIE ( Closes #823 )
12 years ago
julien
7f5bd09baf
Add support to www.ina.fr
12 years ago
Philipp Hagemeister
02d5eb935f
Merge remote-tracking branch 'origin/master'
...
Conflicts:
youtube_dl/InfoExtractors.py
12 years ago
Philipp Hagemeister
94ca71b7cc
Fix GoogleSearchIE ( Fixes #822 )
12 years ago
Philipp Hagemeister
b338f1b154
FileDownloader: Simplify and document
12 years ago
Jaime Marquínez Ferrándiz
486f0c9476
More callbacks changed to raise ExtractorError
12 years ago
Jaime Marquínez Ferrándiz
d96680f58d
PhotobucketIE: accept new format of urls and add a test
12 years ago
Jaime Marquínez Ferrándiz
f8602d3242
ArteTvIE: Fix format of upload date
12 years ago
Jaime Marquínez Ferrándiz
0c021ad171
More callbacks changed to raise ExtractorError
12 years ago
Philipp Hagemeister
086d7b4500
Merge pull request #802 from joeframbach/master
...
If path and new_path are the same, then dont delete the file
12 years ago
Philipp Hagemeister
891629c84a
release 2013.05.05
12 years ago
Philipp Hagemeister
ea6d901e51
Add --no-check-certificate ( #814 )
12 years ago
Philipp Hagemeister
4539dd30e6
twitch.tv chapters ( #810 ): print out start and end time
12 years ago
Philipp Hagemeister
c43e57242e
twitch.tv chapters: Include uploader ( #810 )
12 years ago
Philipp Hagemeister
db8fd71ca9
twitch.tv chapters: Use API for title and other metadata
12 years ago
Philipp Hagemeister
f4f316881d
Improve Twitch.tv chapter support ( #810 )
12 years ago
Philipp Hagemeister
0e16f09474
Work on twitch.tv chapters ( #810 )
12 years ago
Philipp Hagemeister
decd1d1737
raise ExtractorError instead of calling back
12 years ago
Philipp Hagemeister
180e689f7e
Simplify WorldStarHipHop
12 years ago
Johny Mo Swag
7da5556ac2
Better fix for getting source url's
12 years ago
Johny Mo Swag
f23a03a89b
updated regular experssion for possible future updates to source url
12 years ago
Philipp Hagemeister
84e4682f0e
Always use HTTPS for youtube ( Fixes #691 )
12 years ago
Philipp Hagemeister
1f99511210
release 2013.05.04
12 years ago
Philipp Hagemeister
0d94f2474c
Work around a Python bug on Windows with UTF-8 configuration ( #820 )
12 years ago
Philipp Hagemeister
480b6c1e8b
Fix comedycentral: newest
12 years ago
Philipp Hagemeister
95464f14d1
Credit @yasoob for IE
12 years ago
Philipp Hagemeister
c34407d16c
Simplify RedTube
12 years ago
M.Yasoob Ullah Khalid
5e34d2ebbf
Moved redtube info extractor to the end
12 years ago
M.Yasoob Ullah Khalid
ecd5fb49c5
added redtube.com in InfoExtractors (2nd pull request with the required amindments)
...
added redtube.com in InfoExtractors (2nd pull request with the required amindments). Now this script can also download redtube.com videos
12 years ago
Jaime Marquínez Ferrándiz
2e2038dc35
TEDIE: report the correct talk title when a link with the language code is given
12 years ago
Jaime Marquínez Ferrándiz
46bfb42258
InfoExtractors: use _download_webpage in more IEs
...
IEs without tests are intact.
12 years ago
Jaime Marquínez Ferrándiz
feecf22511
InfoExtractors: fix some regular expressions where dots weren't escaped
12 years ago
Jaime Marquínez Ferrándiz
4c4f15eb78
Merge pull request #815 from JohnyMoSwag/master
...
Update for new source links on worldstarhiphop.com
12 years ago
Jaime Marquínez Ferrándiz
104ccdb8b4
TumblrIE: fix title matching
12 years ago
Johny Mo Swag
6ccff79594
Small update for additon of new video source links
12 years ago
Jaime Marquínez Ferrándiz
aed523ecc1
Add BandcampIE ( closes #568 )
12 years ago
Philipp Hagemeister
d496a75d0a
release 2013.05.01
12 years ago
Philipp Hagemeister
11d9224e3b
add --write-thumbnail option to download thumbnail (Suggested by `)
12 years ago
Philipp Hagemeister
6cd657f9f2
release 2013.04.31
12 years ago
Philipp Hagemeister
4ae9e55822
Correctly clear the line before writing a new status line
12 years ago
Philipp Hagemeister
dbc50fdf82
Fix help for --proxy
12 years ago
Philipp Hagemeister
b1d2ef9255
release 2013.04.30
12 years ago
Philipp Hagemeister
5fb16555af
--proxy option
12 years ago
Jaime Marquínez Ferrándiz
fe348844d9
SoundcloudSetIE: Use upload_date in the unified format ( fixes #812 )
12 years ago
Jaime Marquínez Ferrándiz
767e00277f
Use report_warning when a not working IE will be uses
12 years ago
Philipp Hagemeister
6ce533a220
release 2013.04.28
12 years ago
Philipp Hagemeister
08b2ac745a
Default to --title ( Fixes #499 )
12 years ago
Philipp Hagemeister
46a127eecb
Fix print_notes
12 years ago
Philipp Hagemeister
fc63faf070
release 2013.04.27
12 years ago
Philipp Hagemeister
434aca5b14
Automatically set HTTPS proxy if given ( Fixes #805 )
12 years ago
Jaime Marquínez Ferrándiz
37254abc36
Allow to use relative dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? ( Closes #137 )
...
Also fix DateRange not accepting ranges of one day.
12 years ago
Philipp Hagemeister
a11ea50319
Re-enable Dailymotion (tests pass)
12 years ago
Philipp Hagemeister
81df121dd3
Merge branch 'master' of github.com:rg3/youtube-dl
12 years ago
Philipp Hagemeister
50f6412eb8
Rename soundcloud to soundcloud:set
12 years ago
Jaime Marquínez Ferrándiz
bf50b0383e
Fix some IEs that didn't return the uploade_date in the YYYYMMDD format
...
Create a function unified_strdate in utils.py to fix these problems
12 years ago
Jaime Marquínez Ferrándiz
bd55852517
Allow to select videos to download by their upload dates (related #137 )
...
Only absolute dates.
12 years ago
Jaime Marquínez Ferrándiz
4c9f7a9988
SteamIE: accept urls with agecheck
12 years ago
Jaime Marquínez Ferrándiz
aba8df23ed
YoutubePlaylistIE: don't crash with empty lists (related #808 )
...
The playlist_title wasn't initialized.
12 years ago
Jaime Marquínez Ferrándiz
3820df0106
Merge pull request #801 from expleo/add_referer_support
12 years ago
Joe Frambach
e74c504f91
Dont delete source file when source file and post-processed file are the same
12 years ago
Jaime Marquínez Ferrándiz
fa70605db2
IEs: clean __init__ methods
...
They are not needed
12 years ago
Jaime Marquínez Ferrándiz
0d173446ff
InfoExtractors: use report_download_webpage in _request_webpage
...
Allows to show the warning when falling back on GenericIE
12 years ago
Jaime Marquínez Ferrándiz
320e26a0af
Clean duplicate method report_download_webpage in InfoExtractors
12 years ago
Jaime Marquínez Ferrándiz
a3d689cfb3
Fix InfoQ
12 years ago
Bjorn Heesakkers
28535652ab
Adds support for passing a referer.
12 years ago
Philipp Hagemeister
7b670a4483
YouTube: Fall back to <meta> description if video is rated ( Fixes #800 )
12 years ago
Jaime Marquínez Ferrándiz
69fc019f26
YoutubeIE when no description is found use an empty unicode string ( closes #800 )
12 years ago
Jaime Marquínez Ferrándiz
613bf66939
More calls to trouble changed to report_error
12 years ago
Jaime Marquínez Ferrándiz
9edb0916f4
Disable colored messages in Windows (related #794 )
12 years ago
Jaime Marquínez Ferrándiz
f4b659f782
Document order of preference for format selection ( closes #798 )
12 years ago
Philipp Hagemeister
c70446c7df
Merge branch 'master' of github.com:rg3/youtube-dl
12 years ago
Philipp Hagemeister
c76cb6d548
Correct indentation
12 years ago
Philipp Hagemeister
71f37e90ef
Merge pull request #797 from AI0867/patch-1
...
Use standard unit symbols in format_bytes
12 years ago
Philipp Hagemeister
75b5c590a8
Do not read configuration files if explicit arguments are given by a host program ( #792 )
12 years ago
Jaime Marquínez Ferrándiz
4469666780
Merge pull request #792 from fp7/master
...
Parameters as arguments to main
12 years ago
Jaime Marquínez Ferrándiz
c15e024141
TumblrIE
...
I haven't found many videos to test, so it may not work for all.
12 years ago
Philipp Hagemeister
8cb94542f4
release 2013.04.22
12 years ago
Philipp Hagemeister
c681a03918
Fix --list-formats ( Closes #799 )
12 years ago
Finn Petersen
30f2999962
Added parenthesis for explicity
12 years ago
Jaime Marquínez Ferrándiz
74e3452b9e
Add playlist and playlist_index to the help string for the output option
...
Also split the help string in different lines to make editing easier.
12 years ago
Jaime Marquínez Ferrándiz
9e1cf0c200
SteamIE returns a playlist
...
With the game name as title.
12 years ago
Jaime Marquínez Ferrándiz
e11eb11906
Allow to download videos with age check from Steam
...
Also move method report_age_confirmation to the base IE class.
12 years ago
Philipp Hagemeister
c04bca6f60
release 2013.04.21
12 years ago
Alexander van Gessel
b0936ef423
Use standard unit symbols in format_bytes
12 years ago
Jaime Marquínez Ferrándiz
41a6eb949a
Clean duplicate method report_extraction in InfoExtractors
...
A lot of IEs had implemented the method in the same way.
12 years ago
Jaime Marquínez Ferrándiz
f17ce13a92
Write the method to_screen in InfoExtractor (related #608 )
...
Except the ones in youtube subtypes (user, channels ..) all calls to _downloader.to_screen has been changed.
The calls not prefixed with the IE name hasn't been touched.
12 years ago
Jaime Marquínez Ferrándiz
8c416ad29a
Remove calls to _downloader.download in Youtube searchs
...
Instead, return the urls of the videos.
12 years ago
Jaime Marquínez Ferrándiz
c72938240e
Get the title of Youtube playlists
12 years ago
Jaime Marquínez Ferrándiz
e905b6f80e
TEDIE can now return a playlist
12 years ago
Jaime Marquínez Ferrándiz
6de8f1afb7
Allows to specify which IE should be used for extracting info for a result of type url
12 years ago
Jaime Marquínez Ferrándiz
9341212642
Create a function in InfoExtractors that returns the InfoExtractor class with the given name
12 years ago
Jaime Marquínez Ferrándiz
f7a9721e16
Fix some metacafe videos, closes #562
12 years ago
Jaime Marquínez Ferrándiz
089e843b0f
Use _download_webpage in MetacafeIE
12 years ago
ispedals
5a8d13199c
Fix YoutubeChannelIE
...
- urls with query parameters now match
- fixes regex for identifying videos
- fixes pagination
12 years ago
Jaime Marquínez Ferrándiz
dce9027045
Merge branch 'extract_info_rewrite'
12 years ago
Philipp Hagemeister
feba604e92
Fix playlists with size 50i ∀ i∉ℕ ( Closes #782 )
12 years ago
Philipp Hagemeister
d22f65413a
release 2013.04.18
12 years ago
Philipp Hagemeister
0599ef8c08
Limit titles to 200 characters ( Closes #789 )
12 years ago
Philipp Hagemeister
bfdf469295
Fix FunnyOrDie extraction for a special video ( #789 )
12 years ago
Philipp Hagemeister
32c96387c1
Fix facebook IE
12 years ago
Philipp Hagemeister
c8c5443bb5
Revert "disable YT ratelimit; this should enable to max out the connection bandwidth"
...
Although cool, that seems to break a lot of youtube videos.
This reverts commit a60b854d90
.
12 years ago
Filippo Valsorda
a60b854d90
disable YT ratelimit; this should enable to max out the connection bandwidth
12 years ago
Finn Petersen
b8ad4f02a2
Arguments as parameter to function _real_main so it can be used programmatically
12 years ago
Jaime Marquínez Ferrándiz
d281274bf2
Add a playlist_index key to the info_dict, can be used in the output template
12 years ago
Philipp Hagemeister
b625bc2c31
release 2013.04.11
12 years ago
Philipp Hagemeister
f4381ab88a
Fix keek title extraction
12 years ago
Philipp Hagemeister
855703e55e
Option to dump intermediate pages
12 years ago
Philipp Hagemeister
927c8c4924
Use download_webpage in youtube IE
12 years ago
Philipp Hagemeister
e0fee250c3
Fix default for variable-size autonumbering
12 years ago
Philipp Hagemeister
72ca05016d
Merge remote-tracking branch 'sagittarian/vimeo-no-desc'
12 years ago
Philipp Hagemeister
844d1f9fa1
Removed overly verbose options and arguments (Should be obvious from the previous lines)
12 years ago
Stanislav Kupryakhin
213c31ae16
Added option --autonumber-size:
...
Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given
12 years ago
Philipp Hagemeister
04f3d551a0
Merge remote-tracking branch 'sagittarian/resolve-symlinks'
12 years ago
Philipp Hagemeister
e8600d69fd
Credit @catch22 for ARD IE
12 years ago
Philipp Hagemeister
b03d65c237
Minor improvements for ARD IE
12 years ago
Adam Mesha
8743974189
Resolve the symlink if __main__.py is invoke as a symlink.
12 years ago
Adam Mesha
dc36bc9434
Fix bug when the vimeo description is empty on Python 2.x.
12 years ago
Jaime Marquínez Ferrándiz
bce878a7c1
Implement the playlist/start options in FileDownloader
...
It makes it available for all the InfoExtractors
12 years ago
Jaime Marquínez Ferrándiz
532d797824
In MetacafeIE return a url if YoutubeIE should do the job
12 years ago
Jaime Marquínez Ferrándiz
146c12a2da
Change the order for extracting/downloading
...
Now it gets a video info and directly downloads it, the it pass to the next video founded.
12 years ago
Jaime Marquínez Ferrándiz
d39919c03e
Add progress counter for playlists
...
Closes #276
12 years ago
Michael Walter
df2dedeefb
added ARD InfoExtractor (german state television)
12 years ago
Michael Walter
adb029ed81
added --playpath/-y support to RTMP downloads (via 'play_path' entry in 'info_dict')
12 years ago
Ricardo Garcia
43ff1a347d
Change rg3.github.com to rg3.github.io almost everywhere
12 years ago