• Можно ли пробросить игровую виртуальную машину на тонкий клиент?

    @ZeleD
    Всё уже придумано за нас.
    Как работает у меня: raspberry pi 3b+ с установленным steam link. На игровом компе автозапуск steam и включенный wol. Всё работает как часы.
    Ответ написан
    Комментировать
  • Как реализовать асинхронный запрос в python?

    maram4ik
    @maram4ik
    Python developer
    from datetime import datetime
    
    import grequests
    
    
    url = "https://localhost:8000/"
    count = 150 # Количество запросов
    start_time = time.time()
    grequests.map(grequests.get(url) for u in range(count)) # c head получается чуть больше
    sending_time = time.time() - start_time
    
    print(sending_time) # время на отправку указанного кол-ва запросов


    с grequests отправляет в среднем 150-200 запросов в секунду
    Ответ написан
    2 комментария
  • Как в Python сделать вывод таблицей?

    @javedimka
    Хочу сока
    Самый простой способ с помощью Python вывести таблицу с данными в терминале или cmd это установить какой-нибудь модуль для ascii таблиц, например: PrettyTable

    $ pip install PrettyTable

    Теперь в коде:

    from prettytable import PrettyTable  # Импортируем установленный модуль.
    
    # Определяем твою шапку и данные.
    th = [...]
    td = [...]
    
    columns = len(th)  # Подсчитаем кол-во столбцов на будущее.
    
    table = PrettyTable(th)  # Определяем таблицу.
    
    # Cкопируем список td, на случай если он будет использоваться в коде дальше.
    td_data = td[:]
    # Входим в цикл который заполняет нашу таблицу.
    # Цикл будет выполняться до тех пор пока у нас не кончатся данные
    # для заполнения строк таблицы (список td_data).
    while td_data:
        # Используя срез добавляем первые пять элементов в строку.
        # (columns = 5).
        table.add_row(td_data[:columns])
        # Используя срез переопределяем td_data так, чтобы он
        # больше не содержал первых 5 элементов.
        td_data = td_data[columns:]
    
    print(table)  # Печатаем таблицу


    Вывод:
    +-------------------+---------------+------+-------------+------------+
    |    MAC Address    |   IP Address  | Mode | Rate (Mbps) | Signal (%) |
    +-------------------+---------------+------+-------------+------------+
    | 11:11:11:11:11:11 | 192.168.0.103 | 11n  |      65     |    100     |
    | 11:11:11:11:11:11 | 192.168.0.103 | 11n  |      65     |    100     |
    | 11:11:11:11:11:11 | 192.168.0.103 | 11n  |      65     |    100     |
    | 11:11:11:11:11:11 | 192.168.0.103 | 11n  |      65     |    100     |
    | 11:11:11:11:11:11 | 192.168.0.103 | 11n  |      65     |    100     |
    +-------------------+---------------+------+-------------+------------+


    А теперь представь сколько бесполезных разговоров могло быть опущено и времени сэкономлено, если бы у тебя с первого раза получилось нормально вопрос сформулировать? Вот то-то и оно.
    Ответ написан
    1 комментарий
  • Reverse ssh и доступ к www, как настроить?

    @vladshulkevich
    QA tester
    Реверсивные SSH туннели

    Моя любимая фишка в SSH-туннелирвании. Действительно, доступ к сервисам через SSH, например, шифрование всего HTTP-потока, это прикольно. Но реальный сюрприз нас ждет в тот момент, когда мы понимаем, что можем обратить, реверсировать туннель. Как я уже говорил, если вы за межсетевым экраном, который не имеет SSH-сервера, но нуждаетесь в доступе и не желаете устанавливать VPN-соединение, что вам делать? Время от времени мне бывает нужно обеспечить такой сеанс своим родственникам или знакомым. В этом случае вы можете подсоединиться к вашему SSH-серверу, затем обратить туннель путем присоединения к этому открытому соединению. Для этого родственник может запустить сессию putty с сохраненными параметрами, присоединившись к SSH-серверу под определенным пользователем без прав. Когда туннель установлен, я могу с помощью VNC попасть на такую удаленную машину.

    Шаги для установления реверсивного туннеля следующие.
    С клиентской машины:

    ssh -R remoteport:localhost:22 username@servername

    Для более ясного примера подставим в команду реальные параметры:

    ssh -R 2048:localhost:22 bob@mylinuxserver.xxx

    На стороне сервера для переустановления туннеля:

    ssh -p 2048 localhost

    И вот вы его заимели, реверсивный туннель.

    Пруф:
    lexpr.ru/ssh_tunneling
    Ответ написан
    Комментировать
  • Как скрыть реальные ссылки?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Вариантов это сделать - 2.

    1) Если у Вас файлы маленькие - можно просто читать их из php скрипта и отдавать.
    Перед этим можно проверять имеет ли право текущий пользователь скачивать этот файл.
    Что то вроде
    $content = file_get_contents('/path/to/file/in/private/dir/filename');
    
    	header('Content-Description: File Transfer');
    	header('Content-Type: application/octet-stream');
    	header('Content-Disposition: attachment; filename="'.$file_info->title.'"');
    	header('Content-Transfer-Encoding: binary');
    	header('Expires: 0');
    	header('Cache-Control: must-revalidate');
    	header('Pragma: public');
    	header('Content-Length: ' . strlen($content));
    	echo ($content);

    Плюс то что не требуется никакой дополнительной настройки, не зависит от ПО сервера, минус то что это решение жрет память т.к файл целиком грузится в php, жрет время бекенда т.к php скрипт работает пока не закончится загрузка.
    В целом это решение я использовать не рекомендую.

    2) Использовать nginx и директиву X-Accel-Redirect.
    В конфиге nginx
    location /protected/ {
    	root /www/mysite.com/;
    	rewrite ^/protected/(.*)$ /$1 break;
    	internal;
      }

    В php коде соответственно
    header('Content-Description: File Transfer');
    	header('Content-Type: application/octet-stream');
    	header('Content-Disposition: attachment; filename="'.$file_info->title.'"');
    	header('Content-Transfer-Encoding: binary');
    	header('Expires: 0');
    	header('Cache-Control: must-revalidate');
    	header('Pragma: public');
    	
    	header('X-Accel-Redirect: /protected'. $file_info->file);


    Решение отличное, быстрое.
    Ответ написан
    Комментировать
  • Как скрыть изображение?

    streetflush
    @streetflush
    В css для DIV background image укажите
    Ответ написан
    Комментировать
  • Индикатор температуры(термометр). Встраиваемый в электронику. Где купить, как найти или как сделать самому?

    @evgeniy_lm
    Подобных схем в инете миллион +1

    В общем случае тебе понадобится любой микроконтроллер со встроенным АЦП (почти все Atmega), любой операционный усилитель, можно даже копеечный LM358 и какой ниибудь индикатор
    Ответ написан
    Комментировать
  • Как правильно распределить доступы в ubuntu 16.01 server?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Поставить user1 владельцем /var/www/site1
    Поставить user2 владельцем /var/www/site2
    Поставить для обоих каталогов группу, например, и добавить в нее пользователя, от имени которого запускается ваш nginx (может такие пользователь и группа уже даже есть).

    На обоих каталогах поставить права 770 (rwxrwx---), чтобы владельцы и группы имели полный доступ.
    Ответ написан
    Комментировать
  • Как передать переменную из PHP в JavaScript?

    @entermix
    <?php $str_php = "Lorem Ipsum" ?>
    
    <script language="javascript">
        var str_js = '<?= $str_php ?>'; //! Добавить кавычки
        alert (str_js);
      </script>
    Ответ написан
    6 комментариев
  • Как добиться такого эффекта?

    milokmurlika
    @milokmurlika
    Няшка
    Плагин jquery до\после www.catchmyfame.com/catchmyfame-jquery-plugins/jqu...
    Ответ написан
    Комментировать
  • Самодельное облако на ubuntu enterprise cloud?

    SSM
    @SSM
    Вот простой step by step tutorial

    help.ubuntu-it.org/10.04/ubuntu/serverguide/it/uec.html
    Ответ написан
    Комментировать