Установка FortiClient

Инструкция по установке FortiClient на терминальный linux (ubuntu 14)

Скачиваем нужную нам версию forti с сайта https://hadler.me/linux/forticlient-sslvpn-deb-packages/

Устанавливаем пакет:

sudo dpkg -i forti*.deb

Для просмотра в какой каталог было установлено приложение, воспользуемся следующей командой

dpkg -L <packagename>

Создаем файл (скрипт) для запуска

cd /opt/forticlient-sslvpn/64bit
./forticlientsslvpn_cli --server vpn_server:port --vpnuser user_name

Еще один скрипт https://gist.github.com/mgeeky/8afc0e32b8b97fd6f96fce6098615a93

Установка и настройка прокси-сервера 3proxy на Debian/Ubuntu

Оригинал статьи: тут

Шаг 1. Подготавливаем инструментарий

В связи с тем что он отсутствует в официальных репозиториях Debian и Ubuntu, мы будем устанавливать его из исходников.

Но перед этим установим всё необходимое для дальнейшей работы.

sudo apt-get update
sudo apt-get install -y build-essential nano wget tar gzip
Читать далее «Установка и настройка прокси-сервера 3proxy на Debian/Ubuntu»

Проигрывание аудио записи на устройстве через Termux

Устанавливаем на устройстве приложение

apt install mpv

Выполняем команду и на телефоне должна заиграть музыка:

mpv https://appcode.mobwal.com/betkhoven-simfonija-5-allegro-con-brio.mp3

Можно например запустить воспроизведение в определенной позиции:

mpv https://appcode.mobwal.com/betkhoven-simfonija-5-allegro-con-brio.mp3 --start=00:00:59

Выполнение скрипта в Termux

https://wiki.termux.com/wiki/FAQ

Если при выполнении скрипта выходит сообщение с ошибкой

bash: permission denied

Надо выполнить следующую операцию:

chmod +x 
Читать далее «Выполнение скрипта в Termux»

Termux для Android

Данное приложение предназначено для установки nodejs на устройство под управление ОС Android. В Google Play находим приложение Termux и устанавливаем на телефон (требуется минимальная версия android 5). Запускаем приложение и устанавливаем нужные пакеты, выполнив следующие команды:

apt update
apt upgrade
apt install coreutils
apt install nodejs
Читать далее «Termux для Android»

Бесплатный SSL на собственный сервер

Установка SSL сертификата от Let’s Encrypt на собственный сервер. Доменное имя у меня зарегистрировано на reg.ru. Мои шаги:

  • Переходим по ссылке и выбираем нужные конфигурации сервера. Я выбрал nginx и ubuntu 14
  • Выполняем команды
Читать далее «Бесплатный SSL на собственный сервер»

Маска подсети

Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.

Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32. Читать далее «Маска подсети»

postgresql

Для разрешения подключения со всех адресов пишем в файле postgresql.conf

listen_addresses = '*'

Для разрешения пользователей указываем в файле pg.hba.conf

#IPv4 local connections:
host all all 0.0.0.0/0 md5

Выполнение команд

sudo -u postgres psql

Создание пользователя:

sudo -u postgres createuser [username]

Применение пароля для пользователя:

$ sudo -u postgres psql
psql=# alter user  with encrypted password '';

Создание функции с IF ELSE

CREATE OR REPLACE FUNCTION is_accesses(role_name varchar, currentuser integer, claims varchar, user_id integer) RETURNS integer
AS 
$BODY$
BEGIN
    IF role_name is null and user_id is null then
		RETURN 1;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then
		RETURN 2;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then  
		RETURN 3;
	ELSEIF (role_name is null and currentuser = user_id) then
		RETURN 4;
	else
		RETURN 0;
	end if;
 END
$BODY$
LANGUAGE plpgsql;

Создание функции

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF sys_users
AS 
$
BEGIN
    return QUERY SELECT * from sys_users;
END

$ LANGUAGE plpgsql; 

или

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF RECORD AS $
SELECT department_id WHERE ...
$ LANGUAGE sql STABLE;

Создание backup’a

sudo su - postgres 
pg_dump postgres > postgres_db.sql 

Восстановить. Нужно заранее создать бд и пользователя.

su - postgres 
psql -d database -f databas.sql 
====
psql -U postgres dbname < infile