Проверка bash на уязвимость shellshock

Если эта команда выводит "busted", то надо обновить bash
env X="() { :;} ; echo busted" bash -c "echo stuff"
11 ноября 2014, 13:50

mod_php во FreeBsd 10

Этот модуль убрали из порта php5 Теперь его нужно ставить отдельно из
/usr/ports/www/mod_php5
либо
/usr/ports/www/mod_php55
10 ноября 2014, 12:32

Простейший clickunder

При клике в любое место на странице перекидывает на яндекс, делает это один раз в сутки (инфа в куках).
<!doctype html>
<html>
<body>
<a href="http://google.com">click</a>
</body>
<script>
document.onmouseup = function(){
    if (getCookie('bdclk') == undefined) {
        setCookie('bdclk', 1, '/', 24*3600);
        window.open('http://www.ya.ru', '_blank'); 
        return true;
    }
    return false;
};

function getCookie(name) {
    if (/\W/.test(name)) return undefined;
    var matches = document.cookie.match(new RegExp("(?:^|; )" + name + "=([^;]*)"));
    return matches ? decodeURIComponent(matches[1]) : undefined;
}

function setCookie(name, value, path, expires) {
    var date = new Date( new Date().getTime() + expires * 1000 );
    document.cookie = name + '=' + value + '; path=' + '/' +'; expires=' + date.toUTCString();
    return true;
}
</script>
</html>
5 ноября 2014, 17:49

Узнать текущий коммит в git

git log -1
Также текущий хеш коммита
git rev-parse HEAD
4 ноября 2014, 11:31

Как восстановить сайт через google cache

Наверное заметили, что сайт не работал некоторое время? Как оно обычно и бывает, я потерял дамп базы (точнее он оказался битым, но не суть). Как же восстановить все статьи на сайте? Я сразу полез в кэш гугла и накатал вот такой скрипт
<?php
for ($i = 1; $i <= 395; $i++) {
    $file = __DIR__ . '/storage/' . $i . '.html';
    echo "get $i \n";

    if (!file_exists($file)) {
        copy("http://webcache.googleusercontent.com/search?q=cache:snippets.pp.ru/article/$i", $file);
        sleep(10);
    }
}
?>
С локального компа мне не удалось скачать все статьи, гугл меня забанил где-то после 80 штук, на каждый запрос вылазила капча, поэтому пришлось задействовать несколько сервачков :D Кстати, задание юзер агента и прочих заголовков не помогало, дело именно в частоте запросов, так что если будете качать с кеша гугла, то ставьте побольше таймауты, либо запасайтесь серваками. Но через пару дней гугл все равно разбанивает.
4 ноября 2014, 07:31

Установка ffmpeg на Centos 6.5

rpm -Uvh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm
yum install -y ffmpeg ffmpeg-devel
4 ноября 2014, 07:12

iptables v1.4.12: can't initialize iptables table 'filter': Table does not exist

 sudo apt-get install linux-image-$(uname -r)
4 ноября 2014, 07:12

Установка EPEL репозитория в Centos 6

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
4 ноября 2014, 07:12

Решение проблемы с обновлением репозитория atomic в CentOS 6.5

warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID 4520afa9: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY.art.txt

The GPG keys listed for the "CentOS / Red Hat Enterprise Linux 6 - atomicrocketturtle.com" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
yum update atomic-release
yum upgrade
Если не помогло, то
get -q -O - https://www.atomicorp.com/installers/atomic | sh
4 ноября 2014, 07:12

Установка redis на windows

Заходим на
http://redis.io/download
Качаем версию для windows с гитхаба.
После распаковки запускаем
redis-server --service-install
redis-server --service-start
Проверка
redis-cli
127.0.0.1:6379>keys * 
4 ноября 2014, 07:12

Ассоциативная запись cron

@reboot = выполняется при запуске сервера
@yearly = 0 0 1 1 *
@annually  = @yearly
@monthly = 0 0 1 * *
@weekly = 0 0 * * 0
@daily 0 0 * * *
@midnight = @daily
@hourly = 0 * * * *
4 ноября 2014, 07:12

Как получить список участников группы Vkontakte

Если лень читать документацию
<?php
$groupId = 'mdk'; //ид группы
$offset = 0; //смещение
$limit = 100; //лимит
$fields = 'domain'; //запросим урл личной страницы 
$sort = 'id_desc'; //сортировка
 
$data = file_get_contents("https://api.vk.com/method/groups.getMembers?group_id=$groupId&v=5.21&sort=$sort&offset=$offset&count=$limit&fields=$fields");
$data = json_decode($data, true);
print_r($data);
4 ноября 2014, 07:12

Удаление файла при "Operation not permitted"

chattr -i /home/pathtofile
rm -rf /home/pathtofile
4 ноября 2014, 07:12

Ставим пакеты только из нужного репозитория в Centos

yum --disablerepo=* --enablerepo=nginx install nginx
4 ноября 2014, 07:12

Как прибить screen

Находясь внутри скрина
ctrl+a :quit

Еще вариант вне скрина
screen -X -S [session # you want to kill] quit
4 ноября 2014, 07:12

Настройка postfix через внешний smtp на Centos 6

Для начала нужно все поставить
yum install postfix cyrus-sasl-plain cyrus-sasl-md5

Далее в конец файла /etc/postfix/main.cf
relayhost = [smtp.mailgun.org]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:postmaster@mydomain.com:password
smtp_sasl_security_options = noanonymous

И запуск
service postfix start

Теперь функция mail() будет посылать через внешний smtp
<?php
mail('to@mail.ru', 'theme', 'это тест', "From: from@mydomain.com\r\nContent-type:text/plain;charset=utf-8");
4 ноября 2014, 07:12

Установка bitcoind на Ubuntu

#!/bin/bash
echo "########### The server will reboot when the script is complete"
echo "########### Changing to home dir"
cd ~
echo "########### Change your root password!"
passwd
echo "########### Firewall rules; allow 22,8333"
ufw allow 22/tcp
ufw allow 8333/tcp
ufw --force enable
echo "########### Updating Ubuntu"
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get install software-properties-common python-software-properties -y
echo "########### Creating Swap"
dd if=/dev/zero of=/swapfile bs=1M count=1024 ; mkswap /swapfile ; swapon /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
echo "########### Adding ppa:bitcoin/bitcoin and installing bitcoind"
add-apt-repository -y ppa:bitcoin/bitcoin
apt-get update -y
mkdir ~/.bitcoin/
apt-get install bitcoind -y
echo "########### Creating config"
config=".bitcoin/bitcoin.conf"
touch $config
echo "server=1" > $config
echo "daemon=1" >> $config
echo "connections=40" >> $config
randUser=`< /dev/urandom tr -dc A-Za-z0-9 | head -c30`
randPass=`< /dev/urandom tr -dc A-Za-z0-9 | head -c30`
echo "rpcuser=$randUser" >> $config
echo "rpcpassword=$randPass" >> $config
echo "########### Setting up autostart (cron)"
crontab -l > tempcron
echo "@reboot bitcoind -daemon" >> tempcron
crontab tempcron
rm tempcron
reboot
4 ноября 2014, 07:12

Установка phpMyAdmin на Centos (Apache)

Установка
 yum install phpmyadmin

В /etc/httpd/conf.d/phpmyadmin.conf комментим вот так
<Directory /usr/share/phpMyAdmin/>
   Order Deny,Allow
   #Deny from All
   #Allow from 127.0.0.1
   #Allow from ::1
</Directory>

Ну и перезапуск (если у вас apache, про nginx есть другая статья)
service httpd restart
4 ноября 2014, 07:12

Сброс DNS кеша в OS X

Для Mac OS X 10.6 Mountain Lion
sudo killall -HUP mDNSResponder
Для Mac OS X 10.10 Yosemite
dscacheutil -flushcache
4 ноября 2014, 07:12

Проверка диска во FreeBSD при помощи ddrescue

Для начала надо поставить ddrescue из портов
Проверка может занять несколько часов!
ddrescue --force /dev/ad1 /dev/null
4 ноября 2014, 07:12