Linux

Description: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#37by dyvniy » Tue, 13 Feb 2018, 15:36:56

Загрузочную флешку с линуксом писать Руфусом
https://openmw.org/ru/ http://rufus.akeo.ie/?locale=ru_RU
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#38by dyvniy » Tue, 17 Jul 2018, 15:14:55

проброс портов в линуксе
https://losst.ru/probros-portov-iptables-v-linux
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#39by dyvniy » Tue, 17 Jul 2018, 15:25:40

raspberry pi 3 система видеонаблюдения
https://www.google.ru/search?newwindow=1&ei=et1NW ... 0k1j0i22i10i30k1.0.jvUUKybnVtc
куча вариантов, например
https://habr.com/post/357962/
надо сделать это наконец
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#40by dyvniy » Mon, 23 Jul 2018, 13:47:16

Network, delete bridge
https://unix.stackexchange.com/questions/31763/br ... lete-bridge-interface-thats-up

Code: Select all

#ifconfig br100                                                
    br100     Link encap:Ethernet  HWaddr 00:00:00:00:00:00                         
              inet addr
:172.16.0.5  Bcast:172.16.0.255  Mask:255.255.255.0
# brctl delbr br100
bridge br100 is still up; can't delete it   
Can'
t bring it down with ifdown:
# ifdown br100                                                  
ifdown: interface br100 not configured    

# ip link set br100 down
# brctl delbr br100  
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#41by dyvniy » Fri, 24 Aug 2018, 18:06:15

Эмуляторы х86 через джаваскрипт
http://liberatum.ru/e/windows-95-in-linux
https://copy.sh/v86/?profile=linux26
новое слово, без виртуализации
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 36
Reputation: 1
Loyalty: 1
Posts: 3209
Joined: Wed, 10 Oct 2012
With us: 6 years 11 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#42by dyvniy » Wed, 24 Oct 2018, 15:41:38

Скриншот питоном
https://vk.com/@programmistov-piratskaya-kopiya-p ... visa-v-39-strochek-python-koda
Пиратская копия платного сервиса в 39 строчек Python кода
Во время выполнения заказа по разработке telegram бота у меня возникла необходимость получения скриншота веб-страницы с его доставкой пользователю. Зачем задумываться над решением проблемы, когда его можно найти? Как оказалось, чтобы не платить! Подробнее пот катом.

Так вот, судьба натолкнула меня на сервис url2png. Вроде бы всё круто: регистрируешься, получаешь API токен и делаешь себе запросы. Но как бы не так.

Нет, ну серьёзно, VDS под несколько телеграм ботов дешевле стоит! И тут мне стало ясно, что придётся выкручиваться всеми доступными способами. Долго ломать голову не пришлось, благо нашлась такая вещь как Selenium. Selenium требует для работы установки специального драйвера в соответствии с используемым браузером. Предупреждаю, что PhantomJS больше не поддерживается Selenium'ом, поэтому для работы в headless режиме(при запуске webdriver окно браузера не открывается) будет использоваться google chrome. Как настроить для этого VDS? Перво-наперво надо установить сам браузер. В консоли нужно ввести следующие команды.

sudo apt update
sudo apt install -y chromium-browser
Установить его нужно следующими командами.

wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver
Также хочется отметить, что для отладки телеграм бота на своей машине придётся установить VPN, если вы находитесь в России. Теперь можно приступать к разработке бота. Понадобятся библиотеки:

pytelegrambotapi
selenium
validators
Установить их можно спокойно с помощью pip. Начало скрипта выглядит так.

# -*- coding: utf-8 -*-
import telebot
import os
import validators
from selenium import webdriver
Сначала я создал бота и настроил браузер для работы в headless режиме.

#создаём бота

token = 'token of this bot'
bot = telebot.TeleBot(token, threaded = False)

#настраиваем браузер для корректной работы в headless режиме

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
Потом релизовал приветствие и помощь пользователю.

#имплементация обязательных команд /start и /help

@bot.message_handler(commands=['start'])
def hello_user(message):
bot.send_message(message.chat.id, 'Hello, ' + message.from_user.username + "!")

@bot.message_handler(commands=['help'])
def show_help(message):
bot.send_message(message.chat.id, 'To get screenshot of webpage use command /getpng.\nExample: /getpng https://www.google.com')
Осталось самое главное — получение скриншота. С помощью библиотеки validators осуществляется валидация(извините за тавтологию) введённой пользователем ссылки. Также с помощью модуля os скриншот удаляется с сервера после отправки, дабы не занимать место.

#получение скрина сайта с помощью selenium и headless chrome

@bot.message_handler(commands=['getpng'])
def get_screenshot(message):
uid = message.chat.id
url = ""
try:
url = message.text.split(' ')[1]
except IndexError:
bot.send_message(uid, 'You have not entered URL!')
return
if not validators.url(url):
bot.send_message(uid, 'URL is invalid!')
else:
photo_path = str(uid) + '.png'
driver = webdriver.Chrome(chrome_options = options)
driver.set_window_size(1280, 720)
driver.get(url)
driver.save_screenshot(photo_path)
bot.send_photo(uid, photo = open(photo_path, 'rb'))
driver.quit()
os.remove(photo_path)
Запускаем бота и проверяем его работу!

#запуск бота

if __name__ == '__main__':
bot.infinity_polling()
Image


Forum name: Технокалипсис
Description: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: View more smilies
   

Return to “Технокалипсис”

Who is online (over the past 15 minutes)

Users browsing this forum: 1 guest