从腾讯视频批量下载电视剧集

curl -s -b cookies.txt 'http://v.qq.com/x/cover/nwpc69jp1freit0/i0017wafvwo.html' \
| pup 'div.mod_episode span.item a json{}' \
| jshon -a -e href -u -p -e text -u -p -e title -u \
| paste -s -d '\t\t\n' - \
| awk -F\t '{system("you-get -c cookies.txt -o Darker2 -O \""$2"-"$3".mp4\" \"http://v.qq.com"$1"\"")}'

文件 cookies.txt 可以通过 Google Chrome 的扩展 cookies.txt 来导出,当然如果视频需要 VIP 才能观看,需要用 VIP 用户登录后再导出。

pup 是用来解析 HTML 的命令行工具。pup 'div.mod_episode span.item a json{}'会将播放列表里的链接解析出来处理成 JSON 格式输出到 stdout

jshon 是用来解析 JSON 的命令行工具。

you-get 是一个视频下载的命令行工具。

#awk, #cookies-txt, #curl, #jshon, #json, #paste, #pup, #qq, #video, #you-get

在 FreeBSD 上安装 mpd5 设置基于 PPTP 的 VPN 服务器

参见这篇博客:mpd5 on FreeBSD 10.0(英文)。在 PhotonVPS(链接含 Referral ID)的 VPS 上,测试成功,操作系统版本为 FreeBSD 9.3-RELEASE-p43。

另外补充一下,需要在文件 /etc/rc.conf 中增加如下配置,以便开机时自动启动:

gateway_enable="YES"
pf_enable="YES"
mpd_enable="YES"

其中
gateway_enable="YES"sysctl net.inet.ip.forwarding=1
pf_enable="YES" 对应 /etc/rc.d/pf restart
mpd_enable="YES" 对应 /usr/local/etc/rc.d/mpd5 start

关于使用操作系统用户密码登录 VPN 的设置可以参考在 FreeBSD 上用 mpd5 构建 PPTP VPN(如果这个链接不能访问,可以访问转载在 FreeBSD 上用 mpd5 构建 PPTP VPN)。

#freebsd, #mpd5, #nat, #pf, #pptp, #vpn

Mac OS X 上安装 tor 并配置为自动启动

安装

使用 MacPorts 安装 tor

$ sudo port install tor

自动启动

由于该 port 并未提供自动启动脚本,因此我们只能自己编写。
编写文件 /Library/LaunchDaemons/org.example.tor.plist

$ sudo vi /Library/LaunchDaemons/org.example.tor.plist

内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>org.example.tor</string>
	<key>ProgramArguments</key>
	<array>
		<string>/opt/local/bin/tor</string>
		<string>-f</string>
		<string>/opt/local/etc/tor/torrc</string>
		<string>--PidFile</string>
		<string>/tmp/tor.pid</string>
		<string>--DataDirectory</string>
		<string>/opt/local/var/lib/tor</string>
	</array>
	<!--
	<key>UserName</key>
	<string>privoxy</string>
	-->
	<key>KeepAlive</key>
	<true/>
	<key>RunAtLoad</key>
	<true/>
	<key>StandardOutPath</key>
	<string>/tmp/org.example.tor-out.log</string>
	<key>StandardErrorPath</key>
	<string>/tmp/org.example.tor-err.log</string>
</dict>
</plist>

注意上述文件内容中的 UserName 那段被注释掉了,被注释掉后 tor 将以 root 身份运行。

由于我的 Mac OS X 上通过 MacPorts 安装了 Privoxy, 所以有 privoxy 这个用户,所以我就使用 privoxy 用户来运行 tor。

如果使用非 root 用户运行 tor,那么需要预先创建数据目录 /opt/local/var/lib/tor 并对 UserName 所指的用户授予读写权限。
比如我这里手动创建该目录并授权用户 privoxy 读写权限:

$ sudo mkdir -p /opt/local/var/lib/tor
$ sudo chown -R privoxy:privoxy /opt/local/var/lib/tor
$ sudo chmod 700 /opt/local/var/lib/tor

启动后台驻留程序(Daemon):

$ sudo launchctl load /Library/LaunchDaemons/org.example.tor.plist

停止后台驻留程序(Daemon):

$ sudo launchctl unload /Library/LaunchDaemons/org.example.tor.plist

可以通过查看日志文件 /tmp/net.oxerr.tor-out.log 来查看运行状态,如果启动成功并成功连上 tor 网络,那么它默认会监听在 127.0.0.1:9050 端口,可使用 telnet 命令测试是否成功连接:

$ telnet 127.0.0.1 9050
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.

使用方法

默认情况下我们会得到一个工作在本机 9050 端口的 socks 代理服务器,我们可以在浏览器等应用程序里设置代理服务器为 socks 127.0.0.1:9050。
或者使用命令 torsocks,比如:

$ torsocks curl ip.cn
当前 IP:85.25.103.69 来自:法国

Tor 的配置文件 /opt/local/etc/tor/torrc

安装完成后会有一个示例配置文件 /opt/local/etc/tor/torrc.sample,复制到/opt/local/etc/tor/torrc

$ sudo cp /opt/local/etc/tor/torrc.sample /opt/local/etc/tor/torrc

使用 man tor 命令可以查阅 tor 的配置帮助文档。

常用配置项

给 Tor 配置 socks 代理服务器,比如:

Socks5Proxy 127.0.0.1:1080

卸载

停止后台驻留程序(Daemon):

$ sudo launchctl unload /Library/LaunchDaemons/org.example.tor.plist

删除手动创建的文件:

$ sudo rm /Library/LaunchDaemons/org.example.tor.plist
$ sudo rm /opt/local/etc/tor/torrc

删除数据文件目录:

$ sudo rm -r /opt/local/var/lib/tor

卸载 port:

$ sudo port uninstall tor

#mac-os-x, #macports, #tor

在 Mac OS X 上给 Telegram 单独设置代理服务器

由于众所周知的原因,并不是在世界上每一个国家都能顺利地使用 Telegram,那么我们不得不通过给 Telegram 设置代理服务器等途径来收发消息。

在 Mac OS X 的系统设置里可以设置 SOCKS Proxy,但是这样的缺点是所有其它应用程序也会被应用该代理设置。

本文将介绍如何使用 dsocks 软件来给 Telegram 应用程序单独设置代理服务器。

在开始本文前,你需要有一个 SOCKS 代理服务器,至于如何获得或者架设 SOCKS 代理服务器,并不是本文所要涵盖的内容。

安装 dsocks

使用 MacPorts 或者其它包管理工具都可以安装 dsocks。

$ port search dsocks
dsocks @1.6 (net)
SOCKS client wrapper for *BSD / Mac OS X

$ sudo port install dsocks

编写启动脚本

假设你的 SOCKS 代理服务器运行在 127.0.0.1 的 1080 端口,那么将下面这段脚本存储为文件 ~/bin/telegram.shchmod +x ~/bin/telegram.sh

#!/bin/sh
env DSOCKS_PROXY=”127.0.0.1:1080″ dsocks.sh /Applications/Telegram.app/Contents/MacOS/Telegram >/dev/null 2>&1 &

注意上述脚本中的 dsocks.sh,对于使用 MacPorts 来安装 dsocks 的情况下,它实际位于:

$ which dsocks.sh
/opt/local/bin/dsocks.sh

启动 Telegram

要启动 Telegram,则改为使用上述脚本来启动: ~/bin/telegram.sh

顺便说一下,给 Telegram 应用程序设置 HTTP/HTTPS 代理也能收发消息,但是延迟非常严重。

#dsocks, #mac-os-x, #macports, #socks-proxy, #telegram

MacBookPro11,1 ubench

Model Name: MacBook Pro
Model Identifier: MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 3 MB
Memory: 8 GB
Boot ROM Version: MBP111.0138.B16
SMC Version (system): 2.16f68

Unix Benchmark Utility v.0.3
Copyright (C) July, 1999 PhysTech, Inc.
Author: Sergei Viznyuk
http://www.phystech.com/download/ubench.html
Darwin 15.0.0 Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64
Ubench CPU: 991122
Ubench MEM: 1129706
——————–
Ubench AVG: 1060414

#intel-core-i5, #macbook-pro, #ubench

Aliyun CPU 1 Core, Mem 512 MB ubench

CPU Cores: 1
Mem: 512 MB

Unix Benchmark Utility v.0.3
Copyright (C) July, 1999 PhysTech, Inc.
Author: Sergei Viznyuk
http://www.phystech.com/download/ubench.html
FreeBSD 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
Ubench CPU: 191869
Ubench MEM: 124078
——————–
Ubench AVG: 157973

#ubench

MacBook8,1 ubench

Model Name: MacBook
Model Identifier: MacBook8,1
Processor Name: Intel Core M
Processor Speed: 1.3 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Memory: 8 GB
Boot ROM Version: MB81.0164.B02
SMC Version (system): 2.25f85

Unix Benchmark Utility v.0.3
Copyright (C) July, 1999 PhysTech, Inc.
Author: Sergei Viznyuk
http://www.phystech.com/download/ubench.html
Darwin 14.3.0 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64
Ubench CPU: 649275
Ubench MEM: 641098
——————–
Ubench AVG: 645186

#intel-core-m-processor-speed, #macbook, #ubench