HEAD запрос через CURL (CLI)
Часто нужно посмотреть http заголовки
curl -X HEAD -i http://www.google.com
12 января 2015, 16:52
curl -X HEAD -i http://www.google.com
sudo mv ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist /System/Library/LaunchDaemons/homebrew.mxcl.nginx.plist
<?php
$cfIpRanges = [
'199.27.128.0/21',
'173.245.48.0/20',
'103.21.244.0/22',
'103.22.200.0/22',
'103.31.4.0/22',
'141.101.64.0/18',
'108.162.192.0/18',
'190.93.240.0/20',
'188.114.96.0/20',
'197.234.240.0/22',
'198.41.128.0/17',
'162.158.0.0/15',
'104.16.0.0/12',
];
$cidr_match = function ($ip, $range) {
list ($subnet, $bits) = explode('/', $range);
$ip = ip2long($ip);
$subnet = ip2long($subnet);
$mask = -1 << (32 - $bits);
$subnet &= $mask;
return ($ip & $mask) == $subnet;
};
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
foreach ($cfIpRanges as $cfIpRange) {
if ($cidr_match($_SERVER['REMOTE_ADDR'], $cfIpRange)) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
break;
}
}
}
?>
openssl genrsa -out server.key 2048 openssl req -new -sha256 -key server.key -out server.csrПри генерации будут спрашивать данные, вводим (смотрим подсказки, некоторые поля можно пустыми оставить) Country Name State or Province Name (full name) Locality Name (eg, city) Organization Name (eg, company) Organizational Unit Name (eg, section) Common Name (e.g. server FQDN or YOUR name) Email Address A challenge password An optional company name Затем со сгенеренным CSR идем покупать сертификат. Писать где не буду (чтобы не рекламить). Когда купите сертификат вам дадут CRT файл. Если у вас цепочка сертификатов, то нужно склеить их в один
cat server.crt intermediate.crt > server.crtЗатем добавить в nginx.conf следующее
http {
#......всякое.......
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server {
listen 443;
server_name example.com;
ssl on;
keepalive_timeout 70;
#......всякое.......
}
}
PasswordAuthentication no ChallengeResponseAuthentication no
$ youtube-dl 'http://www.youtube.com/watch?v=c9JoHd7xoPA' -F [youtube] c9JoHd7xoPA: Downloading webpage [youtube] c9JoHd7xoPA: Extracting video information [youtube] c9JoHd7xoPA: Downloading DASH manifest [info] Available formats for c9JoHd7xoPA: format code extension resolution note 139 m4a audio only DASH audio 49k , audio@ 48k (22050Hz), 1.28MiB (worst) 140 m4a audio only DASH audio 129k , audio@128k (44100Hz), 3.39MiB 171 webm audio only DASH audio 131k , audio@128k (44100Hz), 3.17MiB 172 webm audio only DASH audio 195k , audio@256k (44100Hz), 4.59MiB 141 m4a audio only DASH audio 255k , audio@256k (44100Hz), 6.74MiB 278 webm 256x144 DASH video 91k , webm container, VP9, 15fps, video only, 1.54MiB 160 mp4 256x144 DASH video 111k , 15fps, video only, 2.79MiB 242 webm 426x240 DASH video 127k , 30fps, video only, 1.73MiB 133 mp4 426x240 DASH video 248k , 30fps, video only, 6.28MiB 243 webm 640x360 DASH video 233k , 30fps, video only, 3.10MiB 134 mp4 640x360 DASH video 603k , 30fps, video only, 8.29MiB 244 webm 854x480 DASH video 390k , 30fps, video only, 5.19MiB 135 mp4 854x480 DASH video 928k , 30fps, video only, 16.02MiB 247 webm 1280x720 DASH video 829k , 30fps, video only, 11.34MiB 136 mp4 1280x720 DASH video 1532k , 30fps, video only, 31.34MiB 248 webm 1920x1080 DASH video 1594k , 30fps, video only, 24.76MiB 137 mp4 1920x1080 DASH video 2785k , 30fps, video only, 55.71MiB 17 3gp 176x144 36 3gp 320x240 5 flv 400x240 43 webm 640x360 18 mp4 640x360 22 mp4 1280x720 (best)Видим что под номером 137 находится 1080p видосик, под номером 141 звуковая дорожка 256 кбит/с Ну чтоже, давайте их и скачаем, для мерджа необходим ffmpeg
$ youtube-dl 'http://www.youtube.com/watch?v=c9JoHd7xoPA' -f 137+141 [youtube] c9JoHd7xoPA: Downloading webpage [youtube] c9JoHd7xoPA: Extracting video information [youtube] c9JoHd7xoPA: Downloading DASH manifest [download] Destination: Flash - Life in the Sky-c9JoHd7xoPA.f137.mp4 [download] 100% of 55.71MiB in 00:10 [download] Destination: Flash - Life in the Sky-c9JoHd7xoPA.f141.m4a [download] 100% of 6.74MiB in 00:01 [ffmpeg] Merging formats into "Flash - Life in the Sky-c9JoHd7xoPA.mp4"
iptables -I INPUT -s 111.111.111.111 -j DROPСмотрим
iptables -L INPUT --line-numbers ------------ Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP all -- 111.111.111.111 anywhereОтменяем брокировку (1 - это номер правила из предыдущей команды)
iptables -D INPUT 1
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1Инсталлим
yum install -y mongodb-org chkconfig mongod on service mongod start
setenforce 0А чтобы опять не включилось после ребута vi /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
brew switch php55 5.5.20
<?php
$db = new PDO(
'mysql:host=localhost;dbname=test',
'root',
'root',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
$q = $db->prepare('select now()');
$q->execute();
$now = $q->fetch();
//без этой строчки соединение с базой не закроется! (смотреть ниже)
//кто не верит может закомментить эту строчку и посмотреть process list
unset($q);
var_dump($now);
//допустим, нам нужно закрыть соединение с базой, чтобы произвести какие-то действия
$db = null;
//собственно действия
sleep(100);
?>
yum -y install openssh-server openssh-clients
for i in `seq 1 100`; do echo $i done
#!/bin/bash
for i in {1..100}
do
echo "starting $i"
done
<?php
class BaseConvert {
private static $base = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
public static function encode($num, $b = 62) {
$r = $num % $b;
$res = self::$base[$r];
$q = floor($num / $b);
while ($q) {
$r = $q % $b;
$q = floor($q / $b);
$res = self::$base[$r] . $res;
}
return $res;
}
public static function decode($num, $b = 62) {
$limit = strlen($num);
$res = strpos(self::$base, $num[0]);
for ($i = 1; $i < $limit; $i++) {
$res = $b * $res + strpos(self::$base, $num[$i]);
}
return $res;
}
}
var_dump(BaseConvert::encode(124, 36), BaseConvert::decode('3g', 36));
Тоже самое стандартными средствами
<?php
var_dump(
base_convert(124, 10, 36),
base_convert('3g', 36, 10)
);
service mysql-server stop mv /var/db/mysql/ibdata1 /var/db/mysql/ibdata1.bak cp -a /var/db/mysql/ibdata1.bak /var/db/mysql/ibdata1 chown -R mysql:mysql . service mysql-server start
git -C /home/project pull
21106 www 1 20 -10 49668K 24392K keglim 13 4:33 8.50% nginxТо не обходимо увеличить kern.ipc.nmbjumbop
sysctl -w kern.ipc.nmbjumbop=400000Также стоит записать в /etc/sysctl.conf
kern.ipc.nmbjumbop=4000000
fsck -y -f
hdparm -I /dev/sda | grep Serial