替换上你的 API Token,域名ID,记录ID等参数,就可以运行了。 会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新IP。
获得 domain_id 可以用 curl
curl -k https://dnsapi.cn/Domain.List -d "login_token=TOKEN"`
替换上你的 API Token,域名ID,记录ID等参数,就可以运行了。 会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新IP。
获得 domain_id 可以用 curl
curl -k https://dnsapi.cn/Domain.List -d "login_token=TOKEN"`
.markdown-body { | |
font-size: 14px; | |
line-height: 1.6; | |
} | |
.markdown-body > *:first-child { | |
margin-top: 0 !important; | |
} | |
.markdown-body > *:last-child { | |
margin-bottom: 0 !important; | |
} |
require 'etc' | |
require 'fileutils' | |
# Copies the most recent MAX_IMAGES photos/videos from the device image dir. | |
# I use Dropbox to sync my device images to my workstation disk | |
MAX_IMAGES=500 | |
USER_HOME_DIR = Etc::getpwuid.dir | |
DEVICE_IMAGES_DIR="#{USER_HOME_DIR}/Dropbox/Camera Uploads" | |
SIMULATOR_IMAGES_DIR="#{USER_HOME_DIR}/Library/Application Support/iPhone Simulator/5.1/Media/DCIM/100APPLE" |
//The calculations are coming from [here](https://gist.github.com/d-ronnqvist/11266321) (thanks David!) | |
- (void)updateAnimations | |
{ | |
CGFloat duration = self.duration * (1.f - [[self.progressLayers firstObject] strokeEnd]); | |
CGFloat strokeEndFinal = 1.f; | |
for (CAShapeLayer *progressLayer in self.progressLayers) | |
{ | |
POPBasicAnimation *popEndAnimation = [POPBasicAnimation animation]; |