LINUX.ORG.RU

Сообщения gobot

 

Интересный вопросик)

Форум — Web-development

Заметил, что на многих сайтах сейчас есть всплывашка «у нас есть куки(внезапно!), а вы не знали?».

Ну потом:
Да, я знаю идите нах.

Или:
Ох тыж, вот херня, я и не знал что тут есть куки, наверное я должен покинуть этот сайт.

Для чего, для кого эта дичь рассчитана?

 

gobot
()

Помогите сделать импорт проекта на github

Форум — Development

Мне нужно в проекте https://github.com/ant-media/Ant-Media-Server изменить пару строчек и пересобрать все это дело. Опыт был только с проектами Android, но там сырой Java и вроде как с maven. Недолго думая установил IntelliJ Idea, скачал репозиторий, распаковал папку и сделал импорт Maven project из idea. Вроде как все импортировал, проиндексировал, но когда нажимаю Rebuild Project, то вылазит куча ошибок непонятных мне.
Типа таких

Error:(21, 33) java: cannot find symbol
  symbol:   class IScope
  location: package org.red5.server.api.scope
import org.red5.server.api.scope.IScope;

Документации по сборке вообще нет никакой. Хочу понять правильно ли я вообще начал его собирать и тем ли софтом. Подскажите с чего вообще начать

 , , , ,

gobot
()

Android Studio

Форум — Development

Хочу заливать APK на сервер после сборки релиза. Сделал в gradle срипт, работает все нормально, но мне нужно заливать его не после каждой сборки, а только если выбрал в студии через меню Build -> Build bundles -> Build APK.

Делаю так

gradle.buildFinished{
    def source = null

    android.applicationVariants.all { variant ->

        if ( (variant.name).equals("appRelease")) {


            println("Variant: " + variant.name +" "+variant.applicationId)

            variant.outputs.each { output ->
                source = output.outputFile

                if(file(source).exists()) {
                    println("Upload: " + source);

                    def sOutput = new ByteArrayOutputStream()
                    def eOutput = new ByteArrayOutputStream()
                    exec{

                        commandLine curl, "-F apk=@" + source, "htpps://host"
                        standardOutput = sOutput
                        errorOutput = eOutput
                    }


                    assert sOutput.toString().equals("ok") : "Upload APK fail: " + sOutput.toString();

                }


            }
        }

    }

}


Есть ли какое то свойство типа android.buildAPKFomMenu по которому можно будет определять как именно вызывалась сборка?
Ну или какой то может макрос сделать, чтобы по кнопке на сервер заливалось?

 ,

gobot
()

Переход в nice

Форум — Admin

Иногда, сами по себе, как то рэндомно, бывает раз в месяц, бывает раз в 4 месяца, некоторые процессы(nginx, php-fpm) переходят в nice = 1. Что может быть, кто их заставляет понижать свой приоритет?
Например, сегодня был переход в nice=1 php-fpm после возросшего iowait(делался бэкап). Может как то с этим связано?

 

gobot
()

Android загрузка библиотеки

Форум — Development

Почему то андроид загружает библиотеку не той архитектуры

dalvik.system.PathClassLoader lib/x86
couldn't find "libyuv.so"

Почему он лезет в папку x86, если телефон System.getProperty(«os.arch») == x86_64?

Телефон x86_64 asus ASUS_Z00AD

Проверял на arm64-v8a, armeabi-v7a, там нормально, берет либу из этих папок.

В папке jniLibs есть поддиректории:
armeabi-v7a
arm64-v8a
x86
x86_64
mips64

В коде есть
static{
   System.loadLibrary("yuv");
   System.loadLibrary("enc");
}

 , ,

gobot
()

Нет root сертификата в андроиде

Форум — Development

Купил сертификат у которого корневой USERTrust RSA Certification Authority, выданный 01.02.2010 и столкнулся с проблемой, что в некоторых андроидах его нет в доверенных. Есть похожий, но там дата стоит 1999 год и кончается в 2019. Поэтому браузер ругается на сайт с этим сертификатом. Правильно ли я понимаю, что решить эту проблему можно только заменой сертификата, у которого корневой есть в старых андроидах?

 ,

gobot
()

SSL android 4.3

Форум — Web-development

На старых(тестил на 4.3) андроид не работает cайт по https.

Браузер пишет:

this certificate isn't from a trusted authority


Вроде как не хватает промежуточного сервера(или о корневом не знает?) в цепочке сертификатов. Сертификат покупал, все цепочки запихал в файлик и скормил nginx.

openssl s_client -connect site.com:443
CONNECTED(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = site.com
verify return:1
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=site.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
   i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
 2 s:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
   i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority


Что делать?

 , , , ,

gobot
()

Глобальный Exception Handler

Форум — Development

Хочу, чтобы все ошибки отлавливались глобальным обработчиком. Сделал как тут написано https://stackoverflow.com/questions/4427515/using-global-exception-handling-o...
Работает вроде, в него приходят исключения, но программа все равно завершается

Делаю тест в каком то куске кода

progressBar = null;
progressBar.setTitle(title);

соответсвенно генерируется исключение, которое попадает в Thread.UncaughtExceptionHandler
D/AndroidRuntime: Shutting down VM
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ProgressDialog.setTitle(java.lang.CharSequence)' on a null object reference
тут обработка uncaughtException
Application terminated


Если отлавливать явно
try {
    progressBar = null;
    progressBar.setTitle(title);
}catch (Exception e){

}


Тогда норм

 , ,

gobot
()

Можно ли в Java написать криво программу?

Форум — Web-development

Вроде как строго типизированный язык, как с++ и ошибки сведены к 0 теоретически. Какие подводные камни будут при написании крупного(относительно) приложения на андроид?

 

gobot
()

MediaSource

Форум — Web-development

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

video frame with PTS 0us has negative DTS -83000us after applying timestampOffset, handling any discontinuity, and filtering against append window

 ,

gobot
()

Zabbix ping

Форум — Admin

Хочу в zabbix мониторить время отклика от агентов(серверов), которые уже добавлены в него.
Есть https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/sim...

icmppingloss[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>]

Но цель должна быть *все сервера, которые нужно опрашивать каждые 5 сек.*. Как быть?

 

gobot
()

Задержки трафика на 443 порт

Форум — Admin

Хочу сделать задержки пакетов входящего трафика на сервер на 443 порт. Делаю как тут https://wiki.linuxfoundation.org/networking/netem но добавил только «ip sport 443 0xffff» в match. Почему то задержки идут на весь трафик

dev="eno1"
echo $dev
tc qdisc  del dev $dev root
tc qdisc  del dev ifb0 root

tc qdisc add dev $dev ingress
tc filter add dev $dev parent ffff: protocol ip u32 match ip sport 443 0xffff  flowid 1:1 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root netem delay 400ms

 

gobot
()

Не могу отправить 1 tcp пакет

Форум — Admin

Не могу понять как послать 1 tcp пакет с помощью netsniff-ng trafgen. Вроде все делаю как в мане написано

./trafgen -o eno1  -n 10  --cpus 1 '{ eth(),ipv4(da=1.1.1.1),tcp(sp=45643,dp=443),"Hello" }'

1 packets to schedule
59 bytes in total
Running! Hang up with ^C!

10 packets outgoing
590 bytes outgoing
0 sec, 3 usec on CPU0 (10 packets)

но пакет не регистрируется(tcpdump) даже на этой машине с которой отправляю. Работает только если указать lo интерфейс

 ,

gobot
()

Генерация 1 tcp пакета

Форум — Admin

Как сгенерировать пакет tcp, какие есть инструменты для этого? Nping и hping3 не подходят, так как в конце полысают пакет с флагом RST и соединение рвется. Нужно все это чтобы постестить syn half open ddos

 , ,

gobot
()

shell_exec

Форум — Web-development

Почему то на разных машинах shell_exec по разному работает.
Простой цикл возвращает {1..4}

echo shell_exec('for run in {1..4}; do echo $run; done;');
{1..4}

На другой машине правильный вывод
echo shell_exec('for run in {1..4}; do echo $run; done;');
1
2
3
4

 ,

gobot
()

iptables SYN лимит с 1 IP

Форум — Admin

Хочу сделать лимит на скорость SYN пакетов с 1 IP.
Нашел кое что

iptables -N zachekanci
iptables -A INPUT -p tcp --syn -j zachekanci
iptables -A zachekanci -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A zachekanci -j DROP

но это глобальная настройка получается для сервера. А как сделать по ИП?
Нужно похожее на это
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 50 --connlimit-mask 32 --connlimit-saddr -m comment --comment "max conn per ip" -j REJECT


но только не на конекты, а на частоту SYN

 ,

gobot
()

RAID6 ==> RAID1

Форум — Admin

Установил деб с образа у хостера, установщик создал RAID6 и добавил туда все диски(2 ssd и 2 sata), но в таком раскладе диск сильно тормозит(замерял hdparm).
Хочу изменить тип на RAID1 с 2мя SSD

Исходные данные

cat /proc/mdstat
md2 : active raid6 sdb3[1] sda3[0] sdc3[2] sdd3[3]
      220674048 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [=========>...........]  resync = 47.6% (52560920/110337024) finish=10.8min speed=88455K/sec
      bitmap: 1/1 pages [4KB], 65536KB chunk

md1 : active raid1 sda2[0] sdb2[1] sdc2[2] sdd2[3]
      523712 blocks super 1.2 [4/4] [UUUU]
        resync=DELAYED

md0 : active (auto-read-only) raid1 sda1[0] sdb1[1] sdc1[2] sdd1[3]
      6287360 blocks super 1.2 [4/4] [UUUU]
        resync=PENDING

lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   1.4T  0 disk
├─sda1    8:1    0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sda3    8:3    0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdb       8:16   0   1.4T  0 disk
├─sdb1    8:17   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdb3    8:19   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdc       8:32   0 111.8G  0 disk
├─sdc1    8:33   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdc2    8:34   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdc3    8:35   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /
sdd       8:48   0 111.8G  0 disk
├─sdd1    8:49   0     6G  0 part
│ └─md0   9:0    0     6G  0 raid1 [SWAP]
├─sdd2    8:50   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdd3    8:51   0 105.3G  0 part
  └─md2   9:2    0 210.5G  0 raid6 /

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5.9G     0  5.9G   0% /dev
tmpfs           1.2G  8.8M  1.2G   1% /run
/dev/md2        207G  944M  195G   1% /
tmpfs           5.9G     0  5.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           5.9G     0  5.9G   0% /sys/fs/cgroup
/dev/md1        488M   40M  423M   9% /boot
tmpfs           1.2G     0  1.2G   0% /run/user/0



Перезагружаюсь в rescue mode
делаю
mdadm /dev/md2 --remove /dev/sda3
mdadm /dev/md2 --remove /dev/sdb3

Пишет что
hot remove failed for /dev/sda3: Device or resource busy
Хотя делаю в rescue mode и разделы эти не смонтированы.
Потом делаю
mdadm -S /dev/md2
Остановился
Создаю новый

mdadm --create --verbose /dev/md2 --level=1  --raid-devices=2 /dev/sdc3 /dev/sdd3

Создался нормально. Но не могу его примонтировать, пишет
wrong fs type, bad option, bad superblock

Перезагрузился снова в обычный режим, смотрю
md2 : active raid6 sdb3[1] sda3[0]
      220674048 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [UU__]
      bitmap: 1/1 pages [4KB], 65536KB chunk

md127 : active raid1 sdc3[0] sdd3[1]
      110337472 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md0 : active (auto-read-only) raid1 sdb1[1] sda1[0] sdc1[2] sdd1[3]
      6287360 blocks super 1.2 [4/4] [UUUU]

md1 : active raid1 sdb2[1] sda2[0] sdd2[3] sdc2[2]
      523712 blocks super 1.2 [4/4] [UUUU]



Добавился md127 и в md2 удалились 2 диска ssd
Как же сделать то по нормальному? C raid ранее не работал. разбить диск при установке Debian не могу, выбора вообще нет, только одна кнопка «Установить Linux Debian 9.5»

 , , ,

gobot
()

Есть raid или нет

Форум — Admin

Хочу понять есть ли RAID или нет.

Первая машина

cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
unused devices: <none>


fdisk -l
Disk /dev/nvme1n1: 419.2 GiB, 450098159616 bytes, 879097968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4FA88DBB-0164-41A5-956B-AC4D6143B17A

Device         Start     End Sectors  Size Type
/dev/nvme1n1p1  2048 1048575 1046528  511M EFI System


Disk /dev/nvme0n1: 419.2 GiB, 450098159616 bytes, 879097968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 749E0081-E789-4CB0-816C-AFA255E8CB5F

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048   1048575   1046528   511M EFI System
/dev/nvme0n1p2   1048576   2095103   1046528   511M Linux filesystem
/dev/nvme0n1p3   2095104 878039039 875943936 417.7G Linux filesystem
/dev/nvme0n1p4 878039040 879085567   1046528   511M Linux swap



Вторая машина
fdisk -l
Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xdd45176a

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048    409599    407552   199M 83 Linux
/dev/sda2        409600   2557951   2148352     1G 82 Linux swap / Solaris
/dev/sda3       2557952 312580095 310022144 147.9G 83 Linux

sudo cat /proc/mdstat
cat: /proc/mdstat: No such file or directory


Третья машина
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md2 : active raid1 sdb2[1] sda2[0]
      523200 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
      1952461760 blocks [2/2] [UU]
      bitmap: 7/15 pages [28KB], 65536KB chunk


Это значит что на 1 и второй машине нет RAID, а на третьей есть RAID1?
Если нет, стоит ли делать его?

 ,

gobot
()

Сервер с ddos защитой

Форум — Web-development

Подскажите где можно арендовать выделенный сервер со встроенной защитой ddos layer 4

 ,

gobot
()

video бесконечный duration

Форум — Web-development

Как заставить <video> производить бесконечный поток? Ставил video.duration = Infinity не помогает. Использую MSE через websocket. Смотрел в некоторых плеерах video.duration = Infinity.

Код JS https://github.com/eventials/poc-mp4-websocket/blob/master/public/index.html

В коде прописано

buffer.addEventListener('updateend', function(e) {
    if (video.duration && !video.currentTime) {
        video.currentTime = video.duration;
    }
});

То есть когда буфер заполняется проматываю в конец. Проблема в том, что иногда поток отстает(по нарастающей), приходится делать вручную промотку. Если вручную сделать video.currentTime = video.duration то все нормально синхронизируется

 , ,

gobot
()

RSS подписка на новые темы