Let’s Encrypt Wildcard Certificate(通配符证书)

ref:

https://certbot.eff.org/lets-encrypt/ubuntuxenial-apache.html

https://community.letsencrypt.org/t/getting-wildcard-certificates-with-certbot/56285

 

0.准备

Install

On Ubuntu systems, the Certbot team maintains a PPA. Once you add it to your list of repositories all you’ll need to do is apt-get the following packages.

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache

要求:certbot 0.22以上

开始使用

1.通配符证书申请

./certbot-auto certonly --manual -d *.mking007.com -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
申请过程中需要修改DNS的TXT记录
验证TXT记录:
dig _acme-challenge.mking007.com txt

Linux 下十大命令行下载工具

来源:https://linux.cn/article-7369-1.html

 

我们一想到Linux,肯定会想到黑白终端,真正的Linux用户总是偏爱从终端来进行工作,哪怕是用于下载。相比某种GUI工具,命令行下载工具可以帮助用户更迅速地从网上下载任何东西。有许多可满足一般用途、甚至用于torrent的下载工具,不过相比其它工具,只有像curl或者wget这少数几款工具更受欢迎。我们在本教程中将探讨用于在Linux环境中下载的十大命令行工具。不妨逐一探讨这些CLI工具。

1.Wget

这是最有名的工具,可用于通过CLI下载。这款工具功能很丰富,可以充当某种功能完备的GUI下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个连接问题后,可以重新尝试下载,你甚至可以管理最大的下载带宽。

例子

从网上下载某个示例文件:

  1. # wget http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 

示例输出:

  1. --2016-05-11 16:56:23-- http://www.sample- 
  2.  videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 
  3. Resolving www.sample-videos.com (www.sample-videos.com)... 
  4. 166.62.28.98 
  5. Connecting to www.sample-videos.com (www.sample- 
  6. videos.com)|166.62.28.98|:80... connected. 
  7. HTTP request sent, awaiting response... 200 OK 
  8. Length: 1055736 (1.0M) 
  9. Saving to: big_buck_bunny_720p_1mb.mp4 
  10. 100%[==========================================================================================================>] 10,55,736 52.1KB/in 24s 
  11. 2016-05-11 16:56:47 (43.4 KB/s) - big_buck_bunny_720p_1mb.mp4 saved [1055736/1055736]

后台下载文件:

  1. # wget -b http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 

如果互联网连接出现中断,恢复下载。

  1. # wget -c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 

从某个密码保护的ftp软件库下载文件。

  1. # wget --ftp-user=<user_name> --ftp-password=<Give_password> Download-url-address 

2.Curl

Curl是另一种高效的下载工具,它可以用来上传或下载文件,只要使用一个简单的命令。它支持暂停和恢复下载程序包,并支持数量最多的Web协议,可预测下载完成还剩余多少时间,可通过进度条来显示下载进度。它是所有Linux发行版的内置工具。这是一款快速高效的工具,不妨看一下。

例子:

  1. # curl -o um.mp4 http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4

示例输出:

  1. % Total % Received % Xferd Average Speed Time Time Time Current 
  2. Dload Upload Total Spent Left Speed 
  3. 100 1030k 100 1030k 0 0 105k 0 0:00:09 0:00:09 --:--:-- 111k

借助-o选项,提供名称,下载文件会以该名称保存;如使用-O选项,文件就会以原始名称保存。

  1. # curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 

使用一个curl命令,下载多个文件。

  1. # curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_2mb.mp4 -O 

3.Axel

这是wget的出色替代者,是一款轻量级下载实用工具。它实际上是个加速器,因为它打开了多路http连接,可下载独立文件片段,因而文件下载起来更快速。

安装

  1. # apt-get install axel 

例子

  1. # axel http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 
  2. Initializing download: http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4

示例输出:

  1. File size: 1055736 bytes  
  2.  Opening output file big_buck_bunny_720p_1mb.mp4.0  
  3.  Starting download  
  4. [ 0%] .......... .......... .......... .......... .......... [ 64.9KB/s] 
  5. [ 4%] .......... .......... .......... .......... .......... [ 83.0KB/s] 
  6. [ 9%] .......... .......... .......... .......... .......... [ 91.5KB/s] 
  7. [ 14%] .......... .......... .......... .......... .......... [ 96.8KB/s] 
  8. [ 19%] .......... .......... .......... .......... .......... [ 100.2KB/s] 
  9. [ 24%] .......... .......... .......... .......... .......... [ 102.7KB/s] 
  10. [ 29%] .......... .......... .......... .......... .......... [ 104.6KB/s] 
  11. [ 33%] .......... .......... .......... .......... .......... [ 86.9KB/s] 
  12. [ 38%] .......... .......... .......... .......... .......... [ 77.1KB/s] 
  13. [ 43%] .......... .......... .......... .......... .......... [ 64.8KB/s] 
  14. [ 48%] .......... .......... .......... .......... .......... [ 66.8KB/s] 
  15. [ 53%] .......... .......... .......... .......... .......... [ 72.8KB/s] 
  16. [ 58%] .......... .......... .......... ..... 
  17. Connection 1 finished 
  18. ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... [ 74.1KB/s] 
  19. [ 63%] .......... .......... .......... .......... .......... [ 79.8KB/s] 
  20. [ 67%] .......... .......... .......... .......... .......... [ 84.5KB/s] 
  21. [ 72%] .......... .......... ..... 
  22. Connection 2 finished 
  23. ,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... .......... [ 86.3KB/s]  
  24. [ 77%] .......... .......... .......... .......... .......... [ 91.6KB/s] 
  25. [ 82%] .......... .......... .......... .......... .......... [ 96.7KB/s] 
  26. [ 87%] .......... .......... .......... .......... .......... [ 101.6KB/s] 
  27. [ 92%] .......... .......... .......... ... 
  28. Connection 0 finished 
  29. ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,....... .......... [ 105.9KB/s]  
  30. [ 96%] .......... .......... .......... 
  31. Downloaded 1031.0 kilobytes in 9 seconds. (108.66 KB/s)

4.Youtube-dl

这是一款专用工具,可以通过命令行从YouTube下载视频,这是个易于安装的程序包,可用来下载一大批文件。

安装

  1. # curl https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl 

变更文件权限:

  1. # sudo chmod a+rx /usr/local/bin/youtube-dl 

例子

下载一些视频,只要为命令添加视频URL参数。

  1. # youtube-dl https://www.youtube.com/watch?v=UZW2hs-2OAI 

想下载视频列表,将所有URL拷贝到一个文本文件中,然后运行下面这个命令:

    1. # youtube-dl -<name_of_your_text_file.txt> 

示例输出:

  1. virtual-System-Product-Name prozilla-2.0.4-master # youtube-dl -a url.txt 
  2. [youtube] xEf8A7X53YE: Downloading webpage 
  3. [youtube] xEf8A7X53YE: Downloading video info webpage 
  4. [youtube] xEf8A7X53YE: Extracting video information 
  5. [youtube] xEf8A7X53YE: Downloading MPD manifest 
  6. [download] Destination: EIC Outrage - Salute to Indian Athletes!-xEf8A7X53YE.mp4 
  7. [download] 3.9% of 70.87MiB at 82.53KiB/s ETA 14:04 

5.Aria2

这是一种开源命令行下载加速器,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

安装

  1. # apt-get install aria2 
  2. ### 针对centOS 
  3. # yum install aria2

例子

  1. # aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4

示例输出:

  1. [#28c7dd 0.9MiB/1.0MiB(93%) CN:1 DL:70KiB ETA:1s] 
  2. 05/11 23:06:47 [NOTICE] Download complete: 
  3. /home/virtual/Desktop/prozilla-2.0.4-master/big_buck_bunny_720p_1mb.mp4 
  4. Download Results: 
  5. gid |stat|avg speed |path/URI 
  6. ======+====+===========+======================================================= 
  7. 28c7dd|OK | 72KiB/s|/home/virtual/Desktop/prozilla-2.0.4-master/big_buck_bunny_720p_1mb.mp4 
  8. Status Legend: 
  9. (OK):download completed.

6.Movgrab

这是用于下载视频的另一款高效工具,使用movgrab的优点在于,它不仅可以从YouTube下载视频,还可以从几乎所有的知名网站下载视频,比如metacafe、dailiymotion、 ehow和vobx等。这是一款很快速的工具,可以定义影片格式,还可以恢复下载。

安装

可以从该链接下载程序包。

解压缩程序包:

  1. # tar -xvf movgrab-1.2.1.tar.gz 
  2. # cd movgrab-1.2.1 
  3. # ./configure 
  4. # make 
  5. # make install

使用命令下载程序包

下载名称指定的文件:

  1. # movgrab Youtube_url 

指定输出文件:

  1. # movgrab -o example.mp4 video_url 

使用maovgrab –h,即可了解更多的细节。

7.rtorrent

这种知名的命令行torrent客户软件随附在所有Linux发行版中,它需要screen实用工具才能正常运行。

安装

安装screen:

  1. # apt-get install screen 

安装rtorrent :

  1. # apt-get install rtorrent 

例子

  1. # rtorrent example.torrent

  

8.ctorrent

C-torrent是最简单的命令行torrent下载工具,可以迅速安装,也是micro-torrent或utorrent的优秀替代者。

安装

  1. # apt-get install ctorrent 

例子

我们不妨下载一份最新版本的Ubuntu server 16.04。

  1. # ctorrent ubuntu-16.04-server-amd64.iso.torrent

使用ctorrent –h,即可了解更多选项。

9.Transmission-cli

Transmission的这个命令行版本是一款非常强大的工具,可用于下载torrent。易于安装,它需要screen这个依赖项。

安装

  1. # apt-get install transmission-cli transmission-daemon transmission-common 

安装screen

  1. # apt-get install screen 

例子

  1. # screen -/usr/bin/transmission-cli -25000 ubuntu-16.04-server-amd64.iso.torrent

10.vuze

这是一种全面的torrent下载解决方案,占用资源极少,是功能最强大的torrent应用程序之一,它需要Java才能在控制台上运行,所以确保你已将open jdk的jre安装到系统上,它同样需要screen程序包。

安装

可以直接从该链接下载,下载后解压缩程序包。

  1. # tar -xvf VuzeInstaller.tar.bz2  
  2. # cd vuze

有一些依赖项必须下载,从该链接获取必要的插件。

将这些.jar插件拷贝到vuze目录:

  1. # cp *.jar vuze 

运行下面这个命令:

  1. # java -cp "Azureus2.jar:commons-cli.jar:log4j.jar" org.gudy.azureus2.ui.common.Main --ui=console

上述命令成功执行后,运行下面这个命令来启动

  1. # screen java -jar Azureus2.jar --ui=console

使用help命令,给add命令添加上.torrent文件的路径,即可开始下载。

结束语

相比基于GUI的torrent或下载管理器,命令行工具来得更高效而快速。这些工具在无外设服务器中扮演重要角色,可以控制慢速互联网连接中的带宽使用。

请尽情享用!

wget命令

来源:http://man.linuxde.net/wget

 

wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

语法

wget(选项)(参数)

选项

-a<日志文件>:在指定的日志文件中记录资料的执行过程;
-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
-b:进行后台的方式运行wget;
-B<连接地址>:设置参考的连接地址的基地地址;
-c:继续执行上次终端的任务;
-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
-d:调试模式运行指令;
-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
-h:显示指令帮助信息;
-i<文件>:从指定文件获取要下载的URL地址;
-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
-L:仅顺着关联的连接;
-r:递归下载方式;
-nc:文件存在时,下载文件不覆盖原有文件;
-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
-q:不显示指令执行过程;
-nh:不查询主机名称;
-v:显示详细执行过程;
-V:显示版本信息;
--passive-ftp:使用被动模式PASV连接FTP服务器;
--follow-ftp:从HTML文件中下载FTP连接文件。

参数

URL:下载指定的URL地址。

实例

使用wget下载单个文件

wget http://www.linuxde.net/testfile.zip

以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

下载并以不同的文件名保存

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget默认会以最后一个符合/的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存:

wget http://www.linuxde.net/download?id=1

即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget限速下载

wget --limit-rate=300k http://www.linuxde.net/testfile.zip

当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

使用wget断点续传

wget -c http://www.linuxde.net/testfile.zip

使用wget -c重新启动下载中断的文件,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

使用wget后台下载

wget -b http://www.linuxde.net/testfile.zip

Continuing in background, pid 1840.
Output will be written to `wget-log'.

对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载,你可以使用以下命令来察看下载进度:

tail -f wget-log

伪装代理名称下载

wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.linuxde.net/testfile.zip

有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过--user-agent参数伪装。

测试下载链接

当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加--spider参数进行检查。

wget --spider URL

如果下载链接正确,将会显示:

Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误:

wget --spider url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!

你可以在以下几种情况下使用--spider参数:

  • 定时下载之前进行检查
  • 间隔检测网站是否可用
  • 检查网站页面的死链接

增加重试次数

wget --tries=40 URL

如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要,你可以使用--tries增加重试次数。

下载多个文件

wget -i filelist.txt

首先,保存一份下载链接文件:

cat > filelist.txt
url1
url2
url3
url4

接着使用这个文件和参数-i下载。

镜像网站

wget --mirror -p --convert-links -P ./LOCAL URL

下载整个网站到本地。

  • --miror开户镜像下载。
  • -p下载所有为了html页面显示正常的文件。
  • --convert-links下载后,转换成本地的链接。
  • -P ./LOCAL保存所有文件和目录到本地指定目录。

过滤指定格式下载

wget --reject=gif ur

下载一个网站,但你不希望下载图片,可以使用这条命令。

把下载信息存入日志文件

wget -o download.log URL

不希望下载信息直接显示在终端而是在一个日志文件,可以使用。

限制总下载文件大小

wget -Q5m -i filelist.txt

当你想要下载的文件超过5M而退出下载,你可以使用。注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。

下载指定格式文件

wget -r -A.pdf url

可以在以下情况使用该功能:

  • 下载一个网站的所有图片。
  • 下载一个网站的所有视频。
  • 下载一个网站的所有PDF文件。

FTP下载

wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

可以使用wget来完成ftp链接的下载。

使用wget匿名ftp下载:

wget ftp-url

使用wget用户名和密码认证的ftp下载:

wget --ftp-user=USERNAME --ftp-password=PASSWORD url