Как на python через Selenium создать нормальный профиль Firefox?
Как на python через Selenium создать нормальный профиль Firefox?
Нужен именно нормальный профиль, сохраняемый на диск, а не пустой анонимный как при обычном старте.
Как на python через Selenium создать нормальный профиль Firefox?
Нужен именно нормальный профиль, сохраняемый на диск, а не пустой анонимный как при обычном старте.
сабж, что есть кроме тестлинка, где можно хранить тест-кейсы, создавать прогоны, вот это все. желательно с api.
Собственно сабж. В основных репах Arch есть TLP. В AUR валяется Laptop Mode Tools. Мне нужно чтобы как для домохозяйки - вытащил вилку из розетки и оно само там энергосберегается. Я не хочу руками в TLP переключать режимы. Хочу чтобы мой гномоарч работал на меня, а не я на него. Посоветуйте или man'ами покидайтесь хотя бы.
Перемещено leave из talks
Так, что бы из России можно было трудиться. Или нас уже везде забанили, и это дело гиблое?
Проверял с ФФ/geckodriver и selenium-server-standalone.
Поставить нужно
- selenium-server-standalone 3.12.0-1
- perl-selenium-remote-driver 1.28-1
- geckodriver 0.20.1-1
ну и файрфокс.
java -jar /usr/share/selenium-server/selenium-server-standalone.jar
#!/usr/bin/perl -w
#
# Dump sberbank card list and payments history
#
# Usage:
# $0 <login> <password>
#
use utf8;
use Selenium::Remote::Driver;
$login = shift @ARGV;
$password = shift @ARGV;
binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");
print STDERR "Starting browser\n";
my $driver = Selenium::Remote::Driver->new_from_caps(
'desired_capabilities' => {
'browserName' => 'firefox',
'moz:firefoxOptions' => {
'args' => [ '--safe-mode', '--headless' ]
# 'args' => [ '--safe-mode' ]
}
});
print STDERR "Logging in\n";
$driver->get('https://online.sberbank.ru/CSAFront/index.do');
$driver->find_element_by_id('login')->send_keys($login);
$driver->find_element_by_id('password')->send_keys($password);
$driver->get('javascript:validateAndSubmit()');
print STDERR "Getting info";
my @products = ();
while(scalar @products == 0) {
@products=$driver->find_elements("//div[\@class='forProductBorder mainProductInfo']");
sleep(1);
print STDERR ".";
}
print STDERR "\n";
$driver->get('https://node1.online.sberbank.ru/PhizIC/private/cards/list.do');
print STDERR "Getting info";
@products = ();
while(scalar @products == 0) {
@products=$driver->find_elements("//div[\@class='productCover activeProduct ']");
sleep(1);
print STDERR ".";
}
print STDERR "\n";
my %products = ();
foreach $p (@products) {
$name_el=$driver->find_child_element($p, "./div//span[\@class='mainProductTitle mainProductTitleLight']");
$name=$name_el->get_text();
$open=$name_el->get_attribute('onclick', 1);
$amount=$driver->find_child_element($p, "./div//span[\@class='overallAmount nowrap']")->get_text();
$number=$driver->find_child_element($p, "./div//div[\@class='accountNumber decoration-none']")->get_text();
if($number =~ / (\d{4}),/) {
$n = "card#".$1;
} else {
$n = "rand#".int(rand(10000)); # TODO: fixme
}
$products{$n}{'number'} = $number;
$products{$n}{'amount'} = $amount;
$products{$n}{'open'} = $open;
$products{$n}{'name'} = $name;
print "$name = $amount\n\t$number\n\t$open\n";
}
print "\n\n";
foreach $p (keys %products) {
$open = $products{$p}{'open'};
$name = $products{$p}{'name'};
$driver->get("javascript:".$open);
print STDERR "Getting history for $p ($name)";
my @history = ();
while(scalar @history == 0) {
@history=$driver->find_elements("//table[\@class='tblInf']");
sleep(1);
print STDERR ".";
}
print STDERR "\n";
sleep(2); # TODO: fix this hack!
$history=$driver->find_element("//table[\@class='tblInf']");
@items=$driver->find_child_elements($history, "./tbody//tr[\@class='ListLine0'] | ./tbody//tr[\@class='ListLine1']");
foreach $i (@items) {
$name=$driver->find_child_element($i, "./td[\@class='align-left leftPaddingCell']")->get_text();
$date=$driver->find_child_element($i, "./td[\@class='listItem']")->get_text();
$amount=$driver->find_child_element($i, "./td[\@class='align-right']")->get_text();
print "\t$date, $amount, $name\n";
}
print "\n\n";
}
print STDERR "Quit\n";
$driver->quit();
Emonoda — это набор программ для организации и управления коллекцией торрентов. Он поможет вам следить за актуальностью раздач, автоматически обновляя торрент-файлы с популярных в рунете трекеров, а также вычищать старые данные, просматривать мета-информацию торрентов и делать множество других вещей. Из коробки поддерживается HTTP/Socks4/Socks5-прокси.
В набор входят такие команды:
Система написана на Python 3 (требуется версия >= 3.6) и может быть установлена из PIP или AUR. Для сборки необходим Cython. За подробностями обращайтесь к README.
( Список изменений, трекеров и поддерживаемых клиентов под катом )
>>> Подробности
делимся лайхаками
я использую такое
от рута
cgcreate -t <USER> -a <USER> -g memory:/Webbbrowser
echo $(( 2800 * 1024 * 1024 )) > /sys/fs/cgroup/memory/Webbbrowser/memory.limit_in_bytes
echo $(( 2800 * 1024 * 1024 )) > /sys/fs/cgroup/memory/Webbbrowser/memory.max_usage_in_bytes
в ярлыке прописать, или запускать так
cgexec -g memory:/Webbbrowser /usr/bin/<BIN>
не секрет что даже 16гб уже не хватает на 10 вкладок ютуба/любого потокового видео
неверующие(что браузер выжирает бесконечное количество оперативки за секунды) для теста могут сделать такой скрипт(через пару секунд улетит пол оперативки, через минуту система встанет):
var i=0;
while(true){i++;console.log(i);}
Не, я серьезно.
Пока что терпимее всех третьегном. Если не учитывать мелкие и не очень проблемы, например:
1) шелл работает при помощи gjs, который весь в одном потоке, любое кривое расширение может его угробить
2) API Javascript меняется так, как хочется левой ноге разработчиков, поэтому расширения регулярно падают
3) Wayland невозможно использовать, потому что XWayland на 4к-мониторе запускается так, что приложения имеют вдвое меньшее разрешение, а потом масштабируются обратно, что выглядит чудовищно. А это, между прочим, все нормальные браузеры, Sublime Text, IDE от JetBrains, а также все декорации самой гномощели
4) Wayland невозможно использовать, потому что 1) и 2) способствуют падению гномощели, а она тянет за собой все запущенные программы
5) скринсейвер — это не только красивые картинки, но и возможность не показывать содержимого экрана тем, кто его видеть не должен. Если закрыть крышку ноутбука без скринсейвера, а через два часа ее открыть, то ноутбук на ощутимый отрезок времени моргнет содержимым экрана. При старом gnome-screensaver этого, кстати, не было
При всем при этом, третьегном, пожалуй, наименьшее зло, которое обитает на линуксе. Альтернатив нет.
Plasma – падает почти постоянно. Или же зависает, отчего не легче. Надо быть осторожным с выбором виджетов. В быстром доступе команда «killall plasmashell && kstart plasmashell». Настроек дохерища, но из них бестолковые почти все. Авторы QML-виджетов вообще не понимают, что такое race conditions и почему их надо избегать.
WindowMaker — был хорош, да весь вышел. В HiDPI не будет уметь никогда, для нормальной работы требует отдельного демона для XSETTINGS, для работы гномьего ПО нужен таки gnome-settings-daemon. Это все надо настраивать руками, увы. Докаппы заточены на 64×64, что слишком мелко.
XFCE – дышит на ладан, все еще GTK2, ошибки правятся в темпе две строки в полгода.
Pantheon – не работают индикаторы приложений, для замыкания экрана за каким-то хреном открывает минуту новый tty, не уводит монитор в режим энергосбережения. Панель бессмысленна без аддонов, но спрятать ее нельзя, а application menu тоже нет. Замыкатель экрана можно закрыть, и тогда в рабочий стол без шаманства не попадешь.
Ну почему все это такое ужасное, кривое и косое? Почему разработчики вечно загоняют себя в какой-то глухой угол, из которого нельзя выйти, не переписывая все к чертовой матери (https://wiki.gnome.org/Initiatives/Wayland/GnomeShell/GnomeShell4)? Почему в 2017-2018 годах им нужно объяснять, как пользоваться док-станциями? (О да, есть сказочные утырки, которым десять человек рассказывают, что вот ставишь ноут в док-станцию с внешним монитором, закрываешь крышку, и он, понимаешь, не должен уходить в сон!) За каким хреном в 2018 году надо рассказывать о том, что многим, оказывается, удобно перетаскивать тремя пальцами на тачпаде? (есть такая опция в macOS, существует последних лет 10, наверное) Нет, разработчики включают дурочку и перебрасывают баг между mutter и libinput.
Суть такова: глоббинги-фигобинги, джокеры и прочее, распространённые команды(финд-фигинд) и так далее, короче всё, что только можно в одной книжке, ну или хотя бы в двух-трёх. И чтоб свободно скачать.
Подскажите, пожалуйста, друзья.
Сабж. Пакеты для Debian 8, 9, Ubuntu 16.04 и 18.04.
https://launchpad.net/~artyom.h31/ archive/ubuntu/3proxy
В комплекте service-файл для systemd и примеры конфигов. В общем, всё как положено.
По моему мнению, самый понятный и удобный прокси-сервер из легковесных вариантов. Даже немного обидно, что его практически не встретишь в репозиториях дистрибутивов. Решил в какой-то степени исправить эту проблему.
Добрый день!
Сейчас использую L2TP/IPsec с Debian & Strongswan на сервере и RouterOS & iOS на клиентах - все работает замечательно. Но ужасно раздражает включать туннель каждый раз в настройках при подключении на iOS. Узнал про возможность создать профиль для поддержки On Demand на iOS или профилировать Always-on VPN через Apple Configurator. Но нет возможности сложить все мысли в кучу, чтобы приступить к задуманному.
1. На чем проще поднимать IKEv2 сервер? Strongswan или Cloud Hosted Router? Cloud Hosted Router поддерживает AES, но по факту пишут и обратное.
2. Не могу понять, какая авторизация нужна для On Demand или Always-on VPN на iOS. Логин-пароль или по сертификату?
3. Если нужен сертификат, то нужна регистрация домена VPS? Let's Encrypt работает просто по IP?
Дайте толчок к реализации задуманного, чувствую переход с L2TP на IKE будет очень болезненным Спасибо за помощь заранее 🤗
Периодически ищу альтернативы своему старенькому HP Microserver Gen8 и никак не нахожу.
Требования:
1. Бесшумность. Самым громким элементом должны быть головки жёстких дисков. Мой этому требованию отвечает (правда в упоротой конфигурации с проприетарным софтварным рейдом и избранными операционными системами).
2. Форм-фактор. Девайс стоит в шкафу, размер Gen8 в принципе идеален, ну можно чуток больше в любую сторону, но точно не системник.
3. Слоты для жёстких дисков. 4 минимум, в идеале, наверное, можно и 6.
4. Температура. Т.к. стоит в шкафу на полке, набитой всякими роутерами, ИБП и прочими GPON-модемами с телефонами и пожар мне ни к чему, там ничего не должно особенно греться, даже в условиях плохой вентиляции.
5. Энергопотребление. Т.к. я его никогда не выключаю, тут каждый ватт экономии это реальные тенге. Но в целом не слишком критично, электричество у нас дешёвое.
6. Полноценный удалённый доступ с возможностью устанавливать ОС. Сейчас пользую HP iLO, что-то аналогичное должно быть, переустанавливать ОС я люблю, а копошиться с проводами возле шкафа, когда что-то не загрузилось - не очень.
7. Нормальная платформа. Я могу быть предвзятым, но Atom и прочие Raspberri Pi я нормальными не считаю. Скажем так, компьютер должен выживать гигабит по сетевой карте, выживать всё, что можно из SATA HDD, иметь пару USB3 (с соответствующей скоростью) и при этом продолжать нормально работать. Intel Celeron 13-го года это вполне обеспечивает, даунгрейд тут не хотелось бы.
8. Железо серверного класса, в том числе ECC память. Я на этом вопросе слегка упорот, но очень уважаю ECC память и хотелось бы её иметь, да и всё железо хотелось бы иметь серверного класса, чтобы не поиметь внезапно заискрившийся блок питания, потому что там сэкономили на конденсаторе каком-нибудь.
9. Современные компоненты. Собственно микросервер у меня уже есть и претензий к нему не так, чтобы много, основная это упоротый софтварный проприетарный рейд, без которого он слишком громко крутит вентиляторами, но всё равно это 2013 год, за 5 лет прогресс какой-то должен был быть.
9. Цена. Микросервер я купил за $200, хотелось бы что-нибудь схожее по цене. 1000 отдавать точно не готов, в остальном чем дешевле, тем лучше.
Из того, что вижу на рынке это Dell PowerEdge T130 и какой-то сервер от SuperMicro (не помню модель, у них на сайте фиг что найдёшь, но по виду такой же, как микросервер). Есть ещё HP Gen10, но там с пунктом 6 пролёт, да ещё и AMD вместо процессора, который медленней, чем Xeon для Gen8, в общем полный провал. У кого какой опыт был, особенно интересен п.1, остальное из спецификаций можно увидеть, а вот шум только самому, и учитывая, что живу я в глубине мира и заказывать могу только по почте без всяких возвратов, ошибаться тут нельзя.
Добрый день, есть два zfs-пула (freebsd) - один корневой и один с сайтами, как перенести это все на новое железо ?
Я сделал по моему мнению довольно нехилую работу по документированию установки и настройки pxe клиента его окружения и всего-всего с нуля и до конца. Вот прям садись и через несколько часов у тебя будет работоспособная сетка с централизованным управлением , мониторингом,сетевыми ресурсами, сквозной авторизацией и тд и тп. Есть на лоре какой-нибудь раздел, где это останется на века и прославит меня ( ну или наоборот опозорит)? На хабр не хочу, там куча идиотов и рекламодателей, не хочу их кормить.
Тема избитая, но нигде не смог найти решения.
Суть: помогите настроить статическую трансляцию юзеров между NFSv4 сервером и клиентом. Нюанс: доступ к настройкам сервера ограничен, а на клиенте можно делать что угодно; детали - ниже.
Есть NAS; он экспортирует директорию по nfs.
На нем есть юзеры admin (1024), kroz(1027), а также root(0).
Конфигурация в GUI: NFSv4, NFSv4 domain = DDD, Kerberos Settings пусты; пункт «ID mapping» не активен (он в разделе Kerberos). Если надо больше - говорите, есть доступ по ssh.
Так как это NAS, хотелось бы ограничиваться конфигом в GUI если это возможно.
Есть клиент; он монтирует директорию.
На нем есть юзеры kroz (1000), а также root(0).
Вот после монтирования от рута:
192.168.0.205:/volume1/data1 on /mnt/dw type nfs4 (rw,noexec,nosuid,nodev,addr=192.168.0.205,clientaddr=192.168.0.200,_netdev)
Вот что я вижу на сервере через ssh (да и через GUI):
$ ls -la
drwxrwxrwx 6 root root 4096 Feb 28 16:41 .
drwxr-xr-x 11 root root 4096 Feb 28 16:32 ..
drwxr-xr-x 2 1000 1000 4096 Feb 28 16:41 1
drwxr-xr-x 24 admin users 4096 Feb 28 16:29 music
drwxr-xr-x 2 kroz kroz 4096 Feb 28 16:38 test
drwxr-xr-x 7 admin users 4096 Dec 31 2013 video
А вот что я вижу на клиенте:
$ ls -la
total 20
drwxrwxrwx 6 root root 4096 фев 28 16:41 .
drwxr-xr-x 8 root root 224 дек 13 23:01 ..
drwxr-xr-x 2 root root 4096 фев 28 16:41 1
drwxr-xr-x 24 root root 4096 фев 28 16:29 music
drwxr-xr-x 2 root root 4096 фев 28 16:38 test
drwxr-xr-x 7 root root 4096 дек 31 2013 video
От рута я могу создавать и удалять директории/файлы, но chown не работает.
Вот /etc/idmapd.conf на клиенте:
$ cat idmapd.conf | grep -v "^#"
[General]
Verbosity = 10
Domain=DDD
[Mapping]
Nobody-User = nobody
Nobody-Group = nobody
[Translation]
Method=static
[Static]
admin@DDD = kroz
[UMICH_SCHEMA]
$ /etc/init.d/nfsclient start
* Starting rpcbind ...[ ok ]
* Starting NFS statd...[ ok ]
* Setting up RPC pipefs ...[ ok ]
* Starting idmapd ...
/usr/sbin/rpc.idmapd -vvv
rpc.idmapd: libnfsidmap: using domain: DDD
rpc.idmapd: libnfsidmap: Realms list: 'DDD'
rpc.idmapd: libnfsidmap: processing 'Method' list
rpc.idmapd: libnfsidmap: loaded plugin /usr/lib/libnfsidmap/static.so for method static
[ ok ]
* Starting NFS sm-notify ... [ ok ]
$ ps ax | grep idmapd
10967 ? Ss 0:00 /usr/sbin/rpc.idmapd -vvv
18847 pts/1 S+ 0:00 grep --colour=auto idmapd
Вот /etc/exports на сервере:
$ cat /etc/exports
/volume1/data1 192.168.0.200(rw,async,no_wdelay,insecure,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)
Вот /etc/idmapd.conf на сервере:
$ cat /etc/idmapd.conf
[General]
Domain=DDD
[Mapping]
Nobody-User=guest
Nobody-Group=users
[Translation]
Method=nsswitch
GSS-Methods=static,synomap
[Static]
$ ps | grep idmap
25879 root 3084 S /usr/sbin/idmapd
26575 root 4048 S grep idmap
Мне нужно на клиенте где-то указать, что kroz на сервере - это kroz на клиенте, или что юзер 1027 на сервере, это 1000 на клиенте (да, я в курсе, что в конфиге про admin - не суть). Это всё, что мне нужно. Желательно безо всяких kerberos и LDAP.
Куда копать? Или приведите свои рабочие конфиги, чтобы сделать по образу и подобию...
Уже столько времени на это убил, не могу допереть где и что должно быть! ЛОР, спасай.
Есть 2 диска одинаковых на 500Гиг, оба в шкафу валялись. Подключить возможность только через USB коробку (и как помню, смарт информация при таком типе подключения не слишком доступна была, а диск определялся как JMicron вместо WD). Мне казалось, что один из них может быть не айс (но это не точно), как проще всего проверить? Есть вариант с загрузочной флешки загрузить, конечно, но так комп разбирать не хотелось...
Приветствую всех!
Тема стара как мир, но как не странно ответа я так и не нашел, поэтому приходится постить снова. В Debian Wheezy стандартный текст очень тонкий, поэтому хотелось бы получить что-то похожее на маковский. Скачал шрифты Mac. Но при установке системного шрифта Lucida MAC получается сплошное безобразие. Окна хотелось бы тоже сделать как в Mac OSX, только со стандартным расположением кнопок «свернуть» и т.д. Использую окружение Gnome 3.4.2.
PS.Если можете помочь буду очень признателен, если нет, то просьба не постить стебные комменты, типа поставь мак и etc...
Пруфлинк: https://www.bleepingcomputer.com/news/security/iterm2-leaks-everything-you-ho...
Всё на что вы наводились мышкой в текстовом терминале (включая пароли на любимую линукс-машинку) отправлялось Большому Брату
А знаете что? Да и леший с ним!
Можно просто законодательно обязать владельцев DNS обращаться с этой информацией как с персональной. Никому не разглашать её. Dead man tell no tales!
А фича-то занимательная: отображает урлы, которые ДЕЙСТВИТЕЛЬНО работают, а не как попало. А оно того стоит, а, пираты?
Какой еще терминал умеет такое - но чтобы в жну-линуксе, а не на проклятой BSD платформе
Недавно обнаружил, что uBlock Origin в хроме не блокирует загрузку рекламы, а только скрывает ее. На тяжелых сайтах на мгновение всплывают баннеры и исчезают. На старом ноутбуке видно еще дольше, примерно секунду. Я бы понял, если бы в момент загрузки страницы скрывались только формы с баннерами, но ведь и сами изображения видно, а значит они не блокируются до загрузки. Версии последние, фильтры от стандартных до расширенных. Мне конечно интересно кто именно испортился, uBlock или Chrome. Но еще интереснее чем блокировать рекламу. Второй по адекватности вроде был Adguard, жду отзывов, обвинения в криворукости и легкого срача.
Всем дня!
Пруф: https://blog.marai.me/2017/07/24/18-year-old-arrested-bkk-tsystems-e-ticket/
Вкраце: парня 18 лет в Будапеште арестовали за то, что он отрапортовал о баге в системе электронных билетов.
Парниша рассказал о том настолько по дилетантски был написан софт и насколько не безопасно для авторизации использовать admin/admin. И как итог - обвинен за «взлом» системы общественного транспорта.
← назад | следующие → |