Compare commits
148
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe0049d1a7 | ||
|
|
d2e9088ee4 | ||
|
|
167e13273e | ||
|
|
40f283d159 | ||
|
|
6a020a3218 | ||
|
|
e275a2f1ab | ||
|
|
8afb663891 | ||
|
|
1df8afcc18 | ||
|
|
b0035c3448 | ||
|
|
8c6f08911f | ||
|
|
7fc3fe2b54 | ||
|
|
6a6bbc01f5 | ||
|
|
774e0d72cd | ||
|
|
00221fad40 | ||
|
|
c0716886d8 | ||
|
|
386cc2f23e | ||
|
|
1a93d2ce6e | ||
|
|
86d55e2f99 | ||
|
|
1d97efec15 | ||
|
|
31326e8739 | ||
|
|
843060b2e0 | ||
|
|
9c49a1a8bd | ||
|
|
da9084a061 | ||
|
|
caae7db812 | ||
|
|
a29e9ec53c | ||
|
|
29a8bfbaa9 | ||
|
|
5e4ecfe225 | ||
|
|
b2ee8bf786 | ||
|
|
da0a0d59a1 | ||
|
|
52f8db8b79 | ||
|
|
644f92f6a5 | ||
|
|
54a1852f08 | ||
|
|
0b33704b43 | ||
|
|
17e311adf0 | ||
|
|
809987a65c | ||
|
|
2f0e8ad0a6 | ||
|
|
a5bd123ec0 | ||
|
|
c74d3d5d80 | ||
|
|
c20b2894ff | ||
|
|
005caca467 | ||
|
|
abb88dcb2f | ||
|
|
c052029267 | ||
|
|
0669b923c0 | ||
|
|
110c975154 | ||
|
|
8005b349a4 | ||
|
|
d185f03455 | ||
|
|
420cf88aeb | ||
|
|
504afbe65d | ||
|
|
d929dd31d1 | ||
|
|
49698bfaa3 | ||
|
|
633f6f9b39 | ||
|
|
71c8858fcd | ||
|
|
83f5182bcf | ||
|
|
fb65f76630 | ||
|
|
1f69efb978 | ||
|
|
3bcc0a565c | ||
|
|
2840ae3a8f | ||
|
|
b51355ef99 | ||
|
|
1762b604b1 | ||
|
|
8c64aa48d2 | ||
|
|
8c3a45b6e4 | ||
|
|
dc9e2d8e0c | ||
|
|
e7d727efc2 | ||
|
|
a89c5d20c7 | ||
|
|
044cb16590 | ||
|
|
81db2d8040 | ||
|
|
2811949f4c | ||
|
|
3a2c78a2da | ||
|
|
23cf656bd1 | ||
|
|
41ff5333f7 | ||
|
|
571d094858 | ||
|
|
96679b26cf | ||
|
|
b7d1a2247e | ||
|
|
9746c518a5 | ||
|
|
959fa33ef9 | ||
|
|
a44c76cdf4 | ||
|
|
6a3ff26a01 | ||
|
|
60a1c34662 | ||
|
|
49bd2af54f | ||
|
|
a5999b83fd | ||
|
|
82eedd7d83 | ||
|
|
759320387a | ||
|
|
0be94d4c6a | ||
|
|
6bd03617e6 | ||
|
|
a3d06cfe6d | ||
|
|
cd891850ec | ||
|
|
cdee681a2c | ||
|
|
db2c6281eb | ||
|
|
06a129c9dd | ||
|
|
5a938b5d04 | ||
|
|
b0e67d2404 | ||
|
|
92961845c3 | ||
|
|
f9c3398449 | ||
|
|
bffe76ba4b | ||
|
|
0d29baa7c6 | ||
|
|
dd9d3efcfb | ||
|
|
9014805f26 | ||
|
|
f973da57a4 | ||
|
|
a073eb792f | ||
|
|
f202278fe1 | ||
|
|
3328f34eb3 | ||
|
|
50d7a239ae | ||
|
|
81eb98e4bd | ||
|
|
78ef538449 | ||
|
|
6e3ed6385c | ||
|
|
a2dafa7316 | ||
|
|
86e5e08789 | ||
|
|
e397cf5b47 | ||
|
|
3fd01c88c5 | ||
|
|
d2cbb552b7 | ||
|
|
9c358a8982 | ||
|
|
7923514ea0 | ||
|
|
004759c8f2 | ||
|
|
95f029a5d8 | ||
|
|
ac47cfe369 | ||
|
|
463fe92d26 | ||
|
|
ba8a90b0bf | ||
|
|
3a6c68881a | ||
|
|
a290358c2f | ||
|
|
17faaa4548 | ||
|
|
3ea19089f9 | ||
|
|
9077650490 | ||
|
|
2ecbfb4cbc | ||
|
|
3519974510 | ||
|
|
e76e4dc8b1 | ||
|
|
01e013b5e3 | ||
|
|
64ea994344 | ||
|
|
a3e9208c01 | ||
|
|
ec0d2e46c5 | ||
|
|
1b3dbefb04 | ||
|
|
c3003bb4db | ||
|
|
6c7d5d8d14 | ||
|
|
35c0ad4587 | ||
|
|
941383109a | ||
|
|
c95ac4f062 | ||
|
|
0732b1f39f | ||
|
|
8d78373ea0 | ||
|
|
17082ad9db | ||
|
|
725d763c48 | ||
|
|
a993428ac9 | ||
|
|
7136abc8f3 | ||
|
|
790622091e | ||
|
|
db03ff92a6 | ||
|
|
b294d9fa38 | ||
|
|
5de4c645e2 | ||
|
|
05703c8f9c | ||
|
|
f37b138766 | ||
|
|
5c7359365f |
+13
-3
@@ -1,3 +1,13 @@
|
|||||||
*.pyc
|
*.kate-swp
|
||||||
*.pyo
|
downloads/*
|
||||||
*~
|
updates_key.pem
|
||||||
|
youtube_dl.egg-info
|
||||||
|
test
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
youtube-dl.1
|
||||||
|
youtube-dl.fish
|
||||||
|
youtube-dl.zsh
|
||||||
|
README.txt
|
||||||
|
youtube-dl.bash-completion
|
||||||
|
latest_version
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
Options +Indexes
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteRule ^ip/?$ ip.php
|
||||||
|
|
||||||
|
RewriteRule ^bugs?/? https://github.com/ytdl-org/youtube-dl/issues [R=302,L]
|
||||||
|
RewriteRule ^reporting/? https://github.com/ytdl-org/youtube-dl/blob/master/README.md#bugs [R=302,L,NE]
|
||||||
|
RewriteRule ^update/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl [R=302,L,NE]
|
||||||
|
RewriteRule ^donat(e|ions)/?$ https://ytdl-org.github.io/youtube-dl/donations.html [R=302,L]
|
||||||
|
RewriteRule ^(faq-)?anime/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md#can-you-add-support-for-this-anime-video-site-or-site-which-shows-current-movies-for-free [R=302,L,NE]
|
||||||
|
RewriteRule ^(faq-)?citw/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md#do-i-always-have-to-pass-in---max-quality-format-or--citw [R=302,L,NE]
|
||||||
|
RewriteRule ^(?:example-url|questions)/?$ https://github.com/ytdl-org/youtube-dl/blob/master/CONTRIBUTING.md#is-the-description-of-the-issue-itself-sufficient [R=302,L,NE]
|
||||||
|
RewriteRule ^g403/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md#i-extracted-a-video-url-with--g-but-it-does-not-play-on-another-machine--in-my-webbrowser [R=302,L,NE]
|
||||||
|
RewriteRule ^format-selection/?$ https://github.com/ytdl-org/youtube-dl#format-selection [R=302,L,NE]
|
||||||
|
RewriteRule ^output-template/?$ https://github.com/ytdl-org/youtube-dl#output-template [R=302,L,NE]
|
||||||
|
|
||||||
|
RewriteRule ^latest/version/?$ latest_version [L,T=text/plain]
|
||||||
|
RewriteRule ^latest_version/?$ - [T=text/plain]
|
||||||
|
RewriteRule ^latest(?:/(.*))?$ /downloads/latest/$1 [R=302,L]
|
||||||
|
RewriteRule ^\.git - [F]
|
||||||
|
|
||||||
|
ErrorDocument 302 "302"
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# Just a placeholder script so that travis doesn't complain
|
||||||
|
language: python
|
||||||
|
script: true
|
||||||
@@ -1 +0,0 @@
|
|||||||
2012.01.05
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
default: update
|
|
||||||
|
|
||||||
update: compile update-readme update-latest
|
|
||||||
|
|
||||||
update-latest:
|
|
||||||
./youtube-dl.dev --version > LATEST_VERSION
|
|
||||||
|
|
||||||
update-readme:
|
|
||||||
@options=$$(COLUMNS=80 ./youtube-dl.dev --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/### \1/') && \
|
|
||||||
header=$$(sed -e '/.*## OPTIONS/,$$ d' README.md) && \
|
|
||||||
footer=$$(sed -e '1,/.*## FAQ/ d' README.md) && \
|
|
||||||
echo "$${header}" > README.md && \
|
|
||||||
echo >> README.md && \
|
|
||||||
echo '## OPTIONS' >> README.md && \
|
|
||||||
echo "$${options}" >> README.md&& \
|
|
||||||
echo >> README.md && \
|
|
||||||
echo '## FAQ' >> README.md && \
|
|
||||||
echo "$${footer}" >> README.md
|
|
||||||
|
|
||||||
compile:
|
|
||||||
cp youtube_dl/__init__.py youtube-dl
|
|
||||||
|
|
||||||
.PHONY: default compile update update-latest update-readme
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
# youtube-dl
|
|
||||||
|
|
||||||
## USAGE
|
|
||||||
youtube-dl [options] url [url...]
|
|
||||||
|
|
||||||
## DESCRIPTION
|
|
||||||
**youtube-dl** is a small command-line program to download videos from
|
|
||||||
YouTube.com and a few more sites. It requires the Python interpreter, version
|
|
||||||
2.x (x being at least 5), and it is not platform specific. It should work in
|
|
||||||
your Unix box, in Windows or in Mac OS X. It is released to the public domain,
|
|
||||||
which means you can modify it, redistribute it or use it however you like.
|
|
||||||
|
|
||||||
## OPTIONS
|
|
||||||
-h, --help print this help text and exit
|
|
||||||
-v, --version print program version and exit
|
|
||||||
-U, --update update this program to latest version
|
|
||||||
-i, --ignore-errors continue on download errors
|
|
||||||
-r, --rate-limit LIMIT download rate limit (e.g. 50k or 44.6m)
|
|
||||||
-R, --retries RETRIES number of retries (default is 10)
|
|
||||||
--dump-user-agent display the current browser identification
|
|
||||||
--list-extractors List all supported extractors and the URLs they
|
|
||||||
would handle
|
|
||||||
|
|
||||||
### Video Selection:
|
|
||||||
--playlist-start NUMBER playlist video to start at (default is 1)
|
|
||||||
--playlist-end NUMBER playlist video to end at (default is last)
|
|
||||||
--match-title REGEX download only matching titles (regex or caseless
|
|
||||||
sub-string)
|
|
||||||
--reject-title REGEX skip download for matching titles (regex or
|
|
||||||
caseless sub-string)
|
|
||||||
--max-downloads NUMBER Abort after downloading NUMBER files
|
|
||||||
|
|
||||||
### Filesystem Options:
|
|
||||||
-t, --title use title in file name
|
|
||||||
-l, --literal use literal title in file name
|
|
||||||
-A, --auto-number number downloaded files starting from 00000
|
|
||||||
-o, --output TEMPLATE output filename template. Use %(stitle)s to get the
|
|
||||||
title, %(uploader)s for the uploader name,
|
|
||||||
%(autonumber)s to get an automatically incremented
|
|
||||||
number, %(ext)s for the filename extension,
|
|
||||||
%(upload_date)s for the upload date (YYYYMMDD), and
|
|
||||||
%% for a literal percent. Use - to output to
|
|
||||||
stdout.
|
|
||||||
-a, --batch-file FILE file containing URLs to download ('-' for stdin)
|
|
||||||
-w, --no-overwrites do not overwrite files
|
|
||||||
-c, --continue resume partially downloaded files
|
|
||||||
--no-continue do not resume partially downloaded files (restart
|
|
||||||
from beginning)
|
|
||||||
--cookies FILE file to read cookies from and dump cookie jar in
|
|
||||||
--no-part do not use .part files
|
|
||||||
--no-mtime do not use the Last-modified header to set the file
|
|
||||||
modification time
|
|
||||||
--write-description write video description to a .description file
|
|
||||||
--write-info-json write video metadata to a .info.json file
|
|
||||||
|
|
||||||
### Verbosity / Simulation Options:
|
|
||||||
-q, --quiet activates quiet mode
|
|
||||||
-s, --simulate do not download the video and do not write anything
|
|
||||||
to disk
|
|
||||||
--skip-download do not download the video
|
|
||||||
-g, --get-url simulate, quiet but print URL
|
|
||||||
-e, --get-title simulate, quiet but print title
|
|
||||||
--get-thumbnail simulate, quiet but print thumbnail URL
|
|
||||||
--get-description simulate, quiet but print video description
|
|
||||||
--get-filename simulate, quiet but print output filename
|
|
||||||
--get-format simulate, quiet but print output format
|
|
||||||
--no-progress do not print progress bar
|
|
||||||
--console-title display progress in console titlebar
|
|
||||||
|
|
||||||
### Video Format Options:
|
|
||||||
-f, --format FORMAT video format code
|
|
||||||
--all-formats download all available video formats
|
|
||||||
--prefer-free-formats prefer free video formats unless a specific one is
|
|
||||||
requested
|
|
||||||
--max-quality FORMAT highest quality format to download
|
|
||||||
-F, --list-formats list all available formats (currently youtube only)
|
|
||||||
|
|
||||||
### Authentication Options:
|
|
||||||
-u, --username USERNAME account username
|
|
||||||
-p, --password PASSWORD account password
|
|
||||||
-n, --netrc use .netrc authentication data
|
|
||||||
|
|
||||||
### Post-processing Options:
|
|
||||||
--extract-audio convert video files to audio-only files (requires
|
|
||||||
ffmpeg and ffprobe)
|
|
||||||
--audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a", or "wav";
|
|
||||||
best by default
|
|
||||||
--audio-quality QUALITY ffmpeg audio bitrate specification, 128k by default
|
|
||||||
-k, --keep-video keeps the video file on disk after the post-
|
|
||||||
processing; the video is erased by default
|
|
||||||
|
|
||||||
## FAQ
|
|
||||||
|
|
||||||
### Can you please put the -b option back?
|
|
||||||
|
|
||||||
Most people asking this question are not aware that youtube-dl now defaults to downloading the highest available quality as reported by YouTube, which will be 1080p or 720p in some cases, so you no longer need the -b option. For some specific videos, maybe YouTube does not report them to be available in a specific high quality format you''re interested in. In that case, simply request it with the -f option and youtube-dl will try to download it.
|
|
||||||
|
|
||||||
### I get HTTP error 402 when trying to download a video. What's this?
|
|
||||||
|
|
||||||
Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We''re [considering to provide a way to let you solve the CAPTCHA](https://github.com/rg3/youtube-dl/issues/154), but at the moment, your best course of action is pointing a webbrowser to the youtube URL, solving the CAPTCHA, and restart youtube-dl.
|
|
||||||
|
|
||||||
### I have downloaded a video but how can I play it?
|
|
||||||
|
|
||||||
Once the video is fully downloaded, use any video player, such as [vlc](http://www.videolan.org) or [mplayer](http://www.mplayerhq.hu/).
|
|
||||||
|
|
||||||
### The links provided by youtube-dl -g are not working anymore
|
|
||||||
|
|
||||||
The URLs youtube-dl outputs require the downloader to have the correct cookies. Use the `--cookies` option to write the required cookies into a file, and advise your downloader to read cookies from that file.
|
|
||||||
|
|
||||||
### ERROR: no fmt_url_map or conn information found in video info
|
|
||||||
|
|
||||||
youtube has switched to a new video info format in July 2011 which is not supported by old versions of youtube-dl. You can update youtube-dl with `sudo youtube-dl --update`.
|
|
||||||
|
|
||||||
## COPYRIGHT
|
|
||||||
|
|
||||||
youtube-dl is released into the public domain by the copyright holders.
|
|
||||||
|
|
||||||
This README file was originally written by Daniel Bolton (<https://github.com/dbbolton>) and is likewise released into the public domain.
|
|
||||||
|
|
||||||
## BUGS
|
|
||||||
|
|
||||||
Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues>
|
|
||||||
|
|
||||||
Please include:
|
|
||||||
|
|
||||||
* Your exact command line, like `youtube-dl -t "http://www.youtube.com/watch?v=uHlDtZ6Oc3s&feature=channel_video_title"`. A common mistake is not to escape the `&`. Putting URLs in quotes should solve this problem.
|
|
||||||
* The output of `youtube-dl --version`
|
|
||||||
* The output of `python --version`
|
|
||||||
* The name and version of your Operating System ("Ubuntu 11.04 x64" or "Windows 7 x64" is usually enough).
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
RewriteRule ^$ https://github.com/ytdl-org/youtube-dl/releases
|
||||||
|
RewriteRule latest(.*) /downloads/2019.03.09$1 [L,R=302]
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
RewriteRule ^$ https://github.com/ytdl-org/youtube-dl/releases/tag/2016.06.03_tmp [R=302,L]
|
||||||
|
RewriteRule ^(.+)$ https://github.com/ytdl-org/youtube-dl/releases/download/2016.06.03_tmp/$1 [R=302,L]
|
||||||
|
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
||||||
|
<title>youtube-dl</title>
|
||||||
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>youtube-dl downloads</h1>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$latest = file_get_contents('latest_version');
|
||||||
|
|
||||||
|
echo '<div class="latest">';
|
||||||
|
echo '<div><a href="latest">Latest</a> (v' . htmlspecialchars($latest) . ') downloads:</div>';
|
||||||
|
echo '<a href="downloads/latest/youtube-dl">youtube-dl</a> ';
|
||||||
|
echo '<a href="downloads/latest/youtube-dl.exe">youtube-dl.exe</a> ';
|
||||||
|
echo '<a href="downloads/latest/youtube-dl-' . htmlspecialchars($latest) . '.tar.gz">youtube-dl-' . htmlspecialchars($latest) . '.tar.gz</a>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
See the right for more resources.
|
||||||
|
|
||||||
|
<table border="0" id="rgb" style="float: right;">
|
||||||
|
<tr><td><a class="button" id="main-homepage" href="http://ytdl-org.github.com/youtube-dl/">Homepage</a></td></tr>
|
||||||
|
<tr><td><a class="button" id="g" href="http://ytdl-org.github.com/youtube-dl/download.html">Download instructions</a></td></tr>
|
||||||
|
<tr><td><a class="button" id="r" href="http://ytdl-org.github.com/youtube-dl/documentation.html">Documentation</a></td></tr>
|
||||||
|
<tr><td><a class="button" id="main-support" href="https://github.com/ytdl-org/youtube-dl/issues/">Support</a></td></tr>
|
||||||
|
<tr><td><a class="button" id="y" href="https://github.com/ytdl-org/youtube-dl/">Develop</a></td></tr>
|
||||||
|
<tr><td><a class="button" id="b" href="http://ytdl-org.github.com/youtube-dl/about.html">About</a></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: text/plain');
|
||||||
|
echo $_SERVER['REMOTE_ADDR'];
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
margin-left: 10%;
|
||||||
|
margin-right: 10%;
|
||||||
|
margin-top: 2ex;
|
||||||
|
margin-bottom: 3ex;
|
||||||
|
background-color: white;
|
||||||
|
color: black;
|
||||||
|
/*background-color: #fff1db;*/
|
||||||
|
background-color: white;
|
||||||
|
/*
|
||||||
|
background-image: url("gradient.png");
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
background-image: url("gradient2.png");
|
||||||
|
background-repeat: repeat-y;
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
background-image: url("gradient3.png");
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
background-image: url("gradient4.png");
|
||||||
|
background-repeat: repeat-y;
|
||||||
|
*/
|
||||||
|
background-image: url("gradient5.png");
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
}
|
||||||
|
.heading {
|
||||||
|
border: 0;
|
||||||
|
color: black;
|
||||||
|
font-size: xx-large;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-bottom: 1ex;
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
margin-bottom: 2ex;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.heading tr {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.heading td {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.heading a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.subtitle {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.toc {
|
||||||
|
padding-left: 2ex;
|
||||||
|
border: 1px solid #aaaaaa;
|
||||||
|
background-color: white;
|
||||||
|
padding-bottom: 1ex;
|
||||||
|
border-radius: 10px;
|
||||||
|
-moz-border-radius: 10px;
|
||||||
|
}
|
||||||
|
.toc ul {
|
||||||
|
margin: 0; list-style-type: none;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
margin-top: 3ex;
|
||||||
|
margin-bottom: 3ex;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.note {
|
||||||
|
margin-top: 10ex;
|
||||||
|
text-align: center;
|
||||||
|
font-size: x-small;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-size: x-large;
|
||||||
|
margin-top: 2ex;
|
||||||
|
color: black;
|
||||||
|
margin-left: 2%;
|
||||||
|
margin-right: 2%;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: large;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-right: 5%;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-right: 5%;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-right: 5%;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
margin-left: 3%;
|
||||||
|
margin-top: 0.5ex;
|
||||||
|
margin-bottom: 0.5ex;
|
||||||
|
}
|
||||||
|
tt {
|
||||||
|
padding-left: 0.5ex;
|
||||||
|
padding-right: 0.5ex;
|
||||||
|
background: #dddddd;
|
||||||
|
}
|
||||||
|
#rgb {
|
||||||
|
width: 33%;
|
||||||
|
margin: 3ex auto;
|
||||||
|
}
|
||||||
|
.button {
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: x-large;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
display: block;
|
||||||
|
padding: 2ex;
|
||||||
|
border-radius: 10px;
|
||||||
|
-moz-border-radius: 10px;
|
||||||
|
}
|
||||||
|
#r {
|
||||||
|
background-color: #884444;
|
||||||
|
border: 2px solid #880000;
|
||||||
|
}
|
||||||
|
#g {
|
||||||
|
background-color: #448844;
|
||||||
|
border: 2px solid #006600;
|
||||||
|
}
|
||||||
|
#b {
|
||||||
|
background-color: #444488;
|
||||||
|
border: 2px solid #000088;
|
||||||
|
}
|
||||||
|
#y {
|
||||||
|
background-color: #888844;
|
||||||
|
border: 2px solid #666600;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-homepage {
|
||||||
|
background-color: #848;
|
||||||
|
border: 2px solid #808;
|
||||||
|
|
||||||
|
}
|
||||||
|
#main-support {
|
||||||
|
background-color: #448888;
|
||||||
|
border: 2px solid #008888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.all-versions {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
# Various small unit tests
|
|
||||||
|
|
||||||
import os,sys
|
|
||||||
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
|
||||||
|
|
||||||
import youtube_dl
|
|
||||||
|
|
||||||
def test_simplify_title():
|
|
||||||
assert youtube_dl._simplify_title(u'abc') == u'abc'
|
|
||||||
assert youtube_dl._simplify_title(u'abc_d-e') == u'abc_d-e'
|
|
||||||
|
|
||||||
assert youtube_dl._simplify_title(u'123') == u'123'
|
|
||||||
|
|
||||||
assert u'/' not in youtube_dl._simplify_title(u'abc/de')
|
|
||||||
assert u'abc' in youtube_dl._simplify_title(u'abc/de')
|
|
||||||
assert u'de' in youtube_dl._simplify_title(u'abc/de')
|
|
||||||
assert u'/' not in youtube_dl._simplify_title(u'abc/de///')
|
|
||||||
|
|
||||||
assert u'\\' not in youtube_dl._simplify_title(u'abc\\de')
|
|
||||||
assert u'abc' in youtube_dl._simplify_title(u'abc\\de')
|
|
||||||
assert u'de' in youtube_dl._simplify_title(u'abc\\de')
|
|
||||||
|
|
||||||
assert youtube_dl._simplify_title(u'ä') == u'ä'
|
|
||||||
assert youtube_dl._simplify_title(u'кириллица') == u'кириллица'
|
|
||||||
|
|
||||||
# Strip underlines
|
|
||||||
assert youtube_dl._simplify_title(u'\'a_') == u'a'
|
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#/bins/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
version="$1"
|
||||||
|
|
||||||
|
if [ -z "$version" ]; then
|
||||||
|
echo "Usage: $0 version"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$(dirname $(readlink -f $0))"
|
||||||
|
|
||||||
|
echo -n "$version" > latest_version
|
||||||
|
|
||||||
|
echo -e "RewriteEngine On" > downloads/.htaccess
|
||||||
|
echo -e "RewriteRule ^$ https://github.com/ytdl-org/youtube-dl/releases" >> downloads/.htaccess
|
||||||
|
echo -e "RewriteRule ^(\d{4}\.\d{2}\.\d{2}(?:\.\d+)?/?)$ https://github.com/ytdl-org/youtube-dl/releases/tag/\$1" >> downloads/.htaccess
|
||||||
|
echo -e "RewriteRule ^(\d{4}\.\d{2}\.\d{2}(?:\.\d+)?/.+)$ https://github.com/ytdl-org/youtube-dl/releases/download/\$1" >> downloads/.htaccess
|
||||||
|
echo -e "RewriteRule latest(.*) /downloads/$1\$1 [L,R=302]" >> downloads/.htaccess
|
||||||
-4523
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import youtube_dl
|
|
||||||
|
|
||||||
youtube_dl.main()
|
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user