Compare commits
154 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 36ef9d9509 | |||
| f0242b98a8 | |||
| 782d021327 | |||
| 26dc98c5ca | |||
| c444b69644 | |||
| c3c160f402 | |||
| 59f945e799 | |||
| 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
@@ -0,0 +1,13 @@
|
||||
*.kate-swp
|
||||
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,32 @@
|
||||
Options +Indexes
|
||||
|
||||
RewriteEngine On
|
||||
RewriteRule ^ip/?$ ip.php
|
||||
|
||||
RewriteRule ^bugs?/? https://github.com/ytdl-org/youtube-dl/issues [R=302,L]
|
||||
RewriteRule ^readme/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md [R=302,L,NE]
|
||||
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/?$ https://github.com/ytdl-org/youtube-dl/blob/master/README.md#faq [R=302,L,NE]
|
||||
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 ^copyright-infringement/?$ 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 ^escape/?$ https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command [R=302,L,NE]
|
||||
RewriteRule ^search-issues/?$ https://github.com/ytdl-org/youtube-dl/issues?q=is:issue [R=302,L,NE]
|
||||
|
||||
RewriteRule ^update/LATEST_VERSION$ https://ytdl-org.github.io/youtube-dl/update/LATEST_VERSION [R=302,L]
|
||||
RewriteRule ^update/versions.json https://ytdl-org.github.io/youtube-dl/update/versions.json [R=302,L]
|
||||
|
||||
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
|
||||
@@ -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]
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
import hashlib
|
||||
import subprocess
|
||||
|
||||
template = file('index.html.in', 'r').read()
|
||||
version = subprocess.Popen(['./youtube-dl', '--version'], stdout=subprocess.PIPE).communicate()[0].strip()
|
||||
data = file('youtube-dl', 'rb').read()
|
||||
md5sum = hashlib.md5(data).hexdigest()
|
||||
sha1sum = hashlib.sha1(data).hexdigest()
|
||||
sha256sum = hashlib.sha256(data).hexdigest()
|
||||
template = template.replace('@PROGRAM_VERSION@', version)
|
||||
template = template.replace('@PROGRAM_MD5SUM@', md5sum)
|
||||
template = template.replace('@PROGRAM_SHA1SUM@', sha1sum)
|
||||
template = template.replace('@PROGRAM_SHA256SUM@', sha256sum)
|
||||
file('index.html', 'w').write(template)
|
||||
-229
@@ -1,229 +0,0 @@
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
|
||||
<title>youtube-dl: Download videos from YouTube.com</title>
|
||||
<style type="text/css"><!--
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: small;
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
text-decoration: underline;
|
||||
color: #006699;
|
||||
}
|
||||
h2 {
|
||||
color: #006699;
|
||||
}
|
||||
p {
|
||||
text-align: justify;
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
}
|
||||
ul {
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
list-style-type: square;
|
||||
}
|
||||
li {
|
||||
margin-bottom: 0.5ex;
|
||||
}
|
||||
.smallnote {
|
||||
font-size: x-small;
|
||||
text-align: center;
|
||||
}
|
||||
--></style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>youtube-dl: Download videos from YouTube.com</h1>
|
||||
|
||||
<p class="smallnote">(and more...)</p>
|
||||
|
||||
<h2>What is it?</h2>
|
||||
|
||||
<p><em>youtube-dl</em> is a small command-line program to download videos
|
||||
from YouTube.com. It requires the <a href="http://www.python.org/">Python
|
||||
interpreter</a>, version 2.4 or later, and it's not platform specific.
|
||||
It should work in your Unix box, in Windows or in Mac OS X. The latest version
|
||||
is <strong>@PROGRAM_VERSION@</strong>. It's released to the public domain,
|
||||
which means you can modify it, redistribute it or use it however you like.</p>
|
||||
|
||||
<p>I'll try to keep it updated if YouTube.com changes the way you access
|
||||
their videos. After all, it's a simple and short program. However, I can't
|
||||
guarantee anything. If you detect it stops working, check for new versions
|
||||
and/or inform me about the problem, indicating the program version you
|
||||
are using. If the program stops working and I can't solve the problem but
|
||||
you have a solution, I'd like to know it. If that happens and you feel you
|
||||
can maintain the program yourself, tell me. My contact information is
|
||||
at <a href="http://freshmeat.net/~rg3/">freshmeat.net</a>.</p>
|
||||
|
||||
<p>Thanks for all the feedback received so far. I'm glad people find my
|
||||
program useful.</p>
|
||||
|
||||
<h2>Usage instructions</h2>
|
||||
|
||||
<p>In Windows, once you have installed the Python interpreter, save the
|
||||
program with the <em>.py</em> extension and put it somewhere in the PATH.
|
||||
Try to follow the
|
||||
<a href="http://rg03.wordpress.com/youtube-dl-under-windows-xp/">guide to
|
||||
install youtube-dl under Windows XP</a>.</p>
|
||||
|
||||
<p>In Unix, download it, give it execution permission and copy it to one
|
||||
of the PATH directories (typically, <em>/usr/local/bin</em>).</p>
|
||||
|
||||
<p>After that, you should be able to call it from the command line as
|
||||
<em>youtube-dl</em> or <em>youtube-dl.py</em>. I will use <em>youtube-dl</em>
|
||||
in the following examples. Usage instructions are easy. Use <em>youtube-dl</em>
|
||||
followed by a video URL or identifier. Example: <em>youtube-dl
|
||||
"http://www.youtube.com/watch?v=foobar"</em>. The video will be saved
|
||||
to the file <em>foobar.flv</em> in that example. As YouTube.com
|
||||
videos are in Flash Video format, their extension should be <em>flv</em>.
|
||||
In Linux and other unices, video players using a recent version of
|
||||
<em>ffmpeg</em> can play them. That includes MPlayer, VLC, etc. Those two
|
||||
work under Windows and other platforms, but you could also get a
|
||||
specific FLV player of your taste.</p>
|
||||
|
||||
<p>If you try to run the program and you receive an error message containing the
|
||||
keyword <em>SyntaxError</em> near the end, it means your Python interpreter
|
||||
is too old.</p>
|
||||
|
||||
<h2>More usage tips</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>You can change the file name of the video using the -o option, like in
|
||||
<em>youtube-dl -o vid.flv "http://www.youtube.com/watch?v=foobar"</em>.
|
||||
Read the <a href="#otpl">Output template</a> section for more details on
|
||||
this.</li>
|
||||
|
||||
<li>Some videos require an account to be downloaded, mostly because they're
|
||||
flagged as mature content. You can pass the program a username and password
|
||||
for a YouTube.com account with the -u and -p options, like <em>youtube-dl
|
||||
-u myusername -p mypassword "http://www.youtube.com/watch?v=foobar"</em>.</li>
|
||||
|
||||
<li>The account data can also be read from the user .netrc file by indicating
|
||||
the -n or --netrc option. The machine name is <em>youtube</em> in that
|
||||
case.</li>
|
||||
|
||||
<li>The <em>simulate mode</em> (activated with -s or --simulate) can be used
|
||||
to just get the real video URL and use it with a download manager if you
|
||||
prefer that option.</li>
|
||||
|
||||
<li>The <em>quiet mode</em> (activated with -q or --quiet) can be used to
|
||||
supress all output messages. This allows, in systems featuring /dev/stdout
|
||||
and other similar special files, outputting the video data to standard output
|
||||
in order to pipe it to another program without interferences.</li>
|
||||
|
||||
<li>The program can be told to simply print the final video URL to standard
|
||||
output using the -g or --get-url option.</li>
|
||||
|
||||
<li>In a similar line, the -e or --get-title option tells the program to print
|
||||
the video title.</li>
|
||||
|
||||
<li>The default filename is <em>video_id.flv</em>. But you can also use the
|
||||
video title in the filename with the -t or --title option, or preserve the
|
||||
literal title in the filename with the -l or --literal option.</li>
|
||||
|
||||
<li>You can make the program append <em>&fmt=something</em> to the URL
|
||||
by using the -f or --format option. This makes it possible to download high
|
||||
quality versions of the videos when available.</li>
|
||||
|
||||
<li>The -b or --best-quality option is an alias for -f 18.</li>
|
||||
|
||||
<li>The -m or --mobile-version option is an alias for -f 17.</li>
|
||||
|
||||
<li>Normally, the program will stop on the first error, but you can tell it
|
||||
to attempt to download every video with the -i or --ignore-errors option.</li>
|
||||
|
||||
<li>The -a or --batch-file option lets you specify a file to read URLs from.
|
||||
The file must contain one URL per line.</li>
|
||||
|
||||
<li>The program can be told not to overwrite existing files using the -w or
|
||||
--no-overwrites option.</li>
|
||||
|
||||
<li>For YouTube, you can also use the URL of a playlist, and it will download
|
||||
all the videos in that playlist.</li>
|
||||
|
||||
<li>For YouTube, you can also use the special word <em>ytsearch</em> to
|
||||
download search results. With <em>ytsearch</em> it will download the
|
||||
first search result. With <em>ytsearchN</em>, where N is a number, it
|
||||
will download the first N results. With <em>ytsearchall</em> it will
|
||||
download every result for that search. In most systems you'll need to
|
||||
use quotes for multiple words. Example: <em>youtube-dl "ytsearch3:cute
|
||||
kittens"</em>.
|
||||
|
||||
<li><em>youtube-dl</em> honors the <em>http_proxy</em> environment variable
|
||||
if you want to use a proxy. Set it to something like
|
||||
<em>http://proxy.example.com:8080</em>, and do not leave the <em>http://</em>
|
||||
prefix out.</li>
|
||||
|
||||
<li>You can get the program version by calling it as <em>youtube-dl
|
||||
-v</em> or <em>youtube-dl --version</em>.</li>
|
||||
|
||||
<li>For usage instructions, use <em>youtube-dl -h</em> or <em>youtube-dl
|
||||
--help.</em></li>
|
||||
|
||||
<li>You can cancel the program at any time pressing Ctrl+C. It may print
|
||||
some error lines saying something about <em>KeyboardInterrupt</em>.
|
||||
That's ok.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Download it</h2>
|
||||
|
||||
<p>Note that if you directly click on these hyperlinks, your web browser will
|
||||
most likely display the program contents. It's usually better to
|
||||
right-click on it and choose the appropriate option, normally called <em>Save
|
||||
Target As</em> or <em>Save Link As</em>, depending on the web browser you
|
||||
are using.</p>
|
||||
|
||||
<p><a href="youtube-dl">@PROGRAM_VERSION@</a></p>
|
||||
<ul>
|
||||
<li><strong>MD5</strong>: @PROGRAM_MD5SUM@</li>
|
||||
<li><strong>SHA1</strong>: @PROGRAM_SHA1SUM@</li>
|
||||
<li><strong>SHA256</strong>: @PROGRAM_SHA256SUM@</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="otpl">Output template</h2>
|
||||
|
||||
<p>The -o option allows users to indicate a template for the output file names.
|
||||
The basic usage is not to set any template arguments when downloading a single
|
||||
file, like in <em>youtube-dl -o funny_video.flv 'http://some/video'</em>.
|
||||
However, it may contain special sequences that will be replaced when
|
||||
downloading each video. The special sequences have the format
|
||||
<strong>%(NAME)s</strong>. To clarify, that's a percent symbol followed by a
|
||||
name in parenthesis, followed by a lowercase S. Allowed names are:</p>
|
||||
|
||||
<ul>
|
||||
<li><em>id</em>: The sequence will be replaced by the video identifier.</li>
|
||||
<li><em>url</em>: The sequence will be replaced by the video URL.</li>
|
||||
<li><em>uploader</em>: The sequence will be replaced by the nickname of the
|
||||
person who uploaded the video.</li>
|
||||
<li><em>title</em>: The sequence will be replaced by the literal video
|
||||
title.</li>
|
||||
<li><em>stitle</em>: The sequence will be replaced by a simplified video
|
||||
title, restricted to alphanumeric characters and dashes.</li>
|
||||
<li><em>ext</em>: The sequence will be replaced by the appropriate
|
||||
extension (like <em>flv</em> or <em>mp4</em>).</li>
|
||||
</ul>
|
||||
|
||||
<p>As you may have guessed, the default template is <em>%(id)s.%(ext)s</em>.
|
||||
When some command line options are used, it's replaced by other templates like
|
||||
<em>%(title)s-%(id)s.%(ext)s</em>. You can specify your own.</p>
|
||||
|
||||
<h2>Authors</h2>
|
||||
|
||||
<ul>
|
||||
<li>Ricardo Garcia Gonzalez: program core, YouTube.com InfoExtractor,
|
||||
metacafe.com InfoExtractor and YouTube playlist InfoExtractor.</li>
|
||||
<li>Danny Colligan: YouTube search InfoExtractor, ideas and patches.</li>
|
||||
<li>Many other people contributing patches, code, ideas and kind messages. Too
|
||||
many to be listed here. You know who you are. Thank you very much.</li>
|
||||
</ul>
|
||||
|
||||
<p class="smallnote">Copyright © 2006-2007 Ricardo Garcia Gonzalez</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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.io/youtube-dl/">Homepage</a></td></tr>
|
||||
<tr><td><a class="button" id="g" href="http://ytdl-org.github.io/youtube-dl/download.html">Download instructions</a></td></tr>
|
||||
<tr><td><a class="button" id="r" href="http://ytdl-org.github.io/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.io/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;
|
||||
}
|
||||
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
|
||||
-1054
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user