• Обязателен ли web-server (NGINX) для Actix Web?

    bingo347
    @bingo347
    Crazy on performance...
    Кэширование, сжатие, https все же лучше на nginx переложить
    Ответ написан
    Комментировать
  • Как сделать автозапуск python программы с виртуальным окружением в фоновом режиме на линукс?

    drygdryg
    @drygdryg
    Python-разработчик
    Можно использовать систему инициализации Systemd. Напишите unit-файл такого вида:
    [Unit]
    Description=My Script Service
    After=multi-user.target
    
    [Service]
    User=user  # Имя пользователя, от имени которого будет запускаться команда, указанная в ExecStart
    WorkingDirectory=/home/user/program  # Директория, в которую будет осуществлён переход перед запуском
    ExecStart=/home/user/program/venv/bin/python /home/user/program/webui.py
    Restart=always  # Всегда перезапускать скрипт при его падениях
    
    [Install]
    WantedBy=multi-user.target

    и сохраните его в директории /etc/systemd/system с расширением .service, например, /etc/systemd/system/my_program.service.

    Здесь не используется скрипт activate для активации виртуального окружения, но вместо этого указывается полный путь к интерпретатору Python внутри этого виртуального окружения.
    Также важно указывать абсолютные пути к файлам и директориям, даже несмотря на то, что задана рабочая директория WorkingDirectory.
    Если ваш скрипт опирается на сетевые соединение, в секции Unit в качестве After задайте network-online.target вместо multi-user.target:
    After=network-online.target
    Ответ написан
    1 комментарий
  • Почему не устанавливается linux?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    То ли Ctrl+Alt+F4, то ли Ctrl+Alt+F3. А может быть Ctrl+Alt+F2.
    Ответ написан
  • Есть сервер, за NAT. Доступен только 22й порт, как превратить его в VPN сервак?

    @Drno
    Что мешает подключить с пк по ssh так же? Клиенты то есть вроде

    Насчет плана - да, это возможно. Если ваш китайский сервер выпустят в наш инет)
    Ответ написан
    4 комментария
  • Какой монитор выбрать для разработки и 3D графики?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    4К ips надо брать.
    Размер - по вкусу.
    Ответ написан
    Комментировать
  • Спалят ли HR резюме?

    vabka
    @vabka
    Токсичный шарпист
    1. На начальных этапах никто не звонит работодателю для уточнения данных. Не кредит же тебе на миллион одобряют)

    2. Каких проблем ты ожидаешь от кадровиков? Типа что в обход твоего руководителя уволят или зп понизят за то что ты решил "предать партию" (а на каком основании лол?)? Чтобы ты ещё быстрее от них ушёл? Или на доску позора повесят?
    Объективно худшее, что может произойти - работодатель проигнорирует тот факт, что ты решил уйти.
    А скорее всего - включится механизм удержания с предложением перехода на другой, более интересный проект, или повышение зп.

    PS: ну и ты всегда можешь сказать, что не имеешь право указывать своё место работы или контакты работодателя.
    Ответ написан
    Комментировать
  • Может ли роутер выступать в качестве ретранслятора внешнего трафика?

    @rPman
    так как роутеры это уже давно linux машина, почти полнофункциональная, из него можно сделать все что угодно.

    ищи статистику по трафику, сравнивай с такой же статистикой по машинам в сети, можешь даже специально время выделить для тестов и отключить все машины от роутера (или оставить одну с прогнозируемым трафиком)
    Ответ написан
    Комментировать
  • Безопасен ли сайт paimon.moe?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Проблема этой команды в том, что она отключает все системы безопасности, потом запускает скрипт из интернета по ссылке. Этот скрипт может и измениться в будущем. Т.ч. даже если оно безопасно прямо сейчас, оно может использоваться для кражи всего в любой момент.

    Код по ссылке сейчас вроде не делает ничего страшного. Он проверяет какой-то файл, вероятно, принадлежащий Геншину, берет оттуда какие-то URL адреса, делает к ним запросы, и на основе ответов выбирает какой-то url, который и выдает вам и просит вставить на paimon.moe.

    Я бы посоветовал не запускать вот ту команду, что вам дают, а использовать вот этот код, который я по ссылке проверил. Сохраните это как genshin.ps1 и запускайте потом его.

    Ну и, поскольку скрипт делает какие-то запросы к сайту геншина, вас могут теоретически забанить, ибо разработчики это могут видеть у себя на серверах.
    Add-Type -AssemblyName System.Web
    
    $logLocation = "%userprofile%\AppData\LocalLow\miHoYo\Genshin Impact\output_log.txt";
    $logLocationChina = "%userprofile%\AppData\LocalLow\miHoYo\$([char]0x539f)$([char]0x795e)\output_log.txt";
    
    $reg = $args[0]
    $apiHost = "hk4e-api-os.hoyoverse.com" 
    if ($reg -eq "china") {
      Write-Host "Using China cache location"
      $logLocation = $logLocationChina
      $apiHost = "hk4e-api.mihoyo.com"
    }
    
    $tmps = $env:TEMP + '\pm.ps1';
    if ([System.IO.File]::Exists($tmps)) {
      ri $tmps
    }
    
    $path = [System.Environment]::ExpandEnvironmentVariables($logLocation);
    if (-Not [System.IO.File]::Exists($path)) {
        Write-Host "Cannot find the log file! Make sure to open the wish history first!" -ForegroundColor Red
    
        if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {  
            Write-Host "Do you want to try to run the script as Administrator? Press [ENTER] to continue, or any key to cancel."
            $keyInput = [Console]::ReadKey($true).Key
            if ($keyInput -ne "13") {
                return
            }
    
            $myinvocation.mycommand.definition > $tmps
    
            Start-Process powershell -Verb runAs -ArgumentList "-noexit", $tmps, $reg
            break
        }
    
        return
    }
    
    $logs = Get-Content -Path $path
    $m = $logs -match "(?m).:/.+(GenshinImpact_Data|YuanShen_Data)"
    $m[0] -match "(.:/.+(GenshinImpact_Data|YuanShen_Data))" >$null
    
    if ($matches.Length -eq 0) {
        Write-Host "Cannot find the wish history url! Make sure to open the wish history first!" -ForegroundColor Red
        return
    }
    
    $gamedir = $matches[1]
    # Thanks to @jogerj for getting the latest webchache dir
    $webcachePath = Resolve-Path "$gamedir/webCaches"
    $cacheVerPath = Get-Item (Get-ChildItem -Path $webcachePath | Sort-Object LastWriteTime -Descending | Select-Object -First 1).FullName
    $cachefile = Resolve-Path "$cacheVerPath/Cache/Cache_Data/data_2"
    $tmpfile = "$env:TEMP/ch_data_2"
    
    Copy-Item $cachefile -Destination $tmpfile
    
    function testUrl($url) {
      $ProgressPreference = 'SilentlyContinue'
      $uri = [System.UriBuilder]::New($url)
      $uri.Path = "event/gacha_info/api/getGachaLog"
      $uri.Host = $apiHost
      $uri.Fragment = ""
      $params = [System.Web.HttpUtility]::ParseQueryString($uri.Query)
      $params.Set("lang", "en");
      $params.Set("gacha_type", 301);
      $params.Set("size", "5");
      $params.Add("lang", "en-us");
      $uri.Query = $params.ToString()
      $apiUrl = $uri.Uri.AbsoluteUri
    
      $response = Invoke-WebRequest -Uri $apiUrl -ContentType "application/json" -UseBasicParsing -TimeoutSec 10 | ConvertFrom-Json
      $testResult = $response.retcode -eq 0
      return $testResult
    }
    
    $content = Get-Content -Encoding UTF8 -Raw $tmpfile
    $splitted = $content -split "1/0/"
    $found = $splitted -match "e20190909gacha-v2"
    $link = $false
    $linkFound = $false
    for ($i = $found.Length - 1; $i -ge 0; $i -= 1) {
      $t = $found[$i] -match "(https.+?game_biz=)"
      $link = $matches[0]
      Write-Host "`rChecking Link $i" -NoNewline
      $testResult = testUrl $link
      if ($testResult -eq $true) {
        $linkFound = $true
        break
      }
      Sleep 1
    }
    
    Remove-Item $tmpfile
    
    Write-Host ""
    
    if (-Not $linkFound) {
      Write-Host "Cannot find the wish history url! Make sure to open the wish history first!" -ForegroundColor Red
      return
    }
    
    $wishHistoryUrl = $link
    
    Write-Host $wishHistoryUrl
    Set-Clipboard -Value $wishHistoryUrl
    Write-Host "Link copied to clipboard, paste it back to paimon.moe" -ForegroundColor Green
    Ответ написан
  • Как записать информацию из вывода в файл с неизвестным названием?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как перенаправить информацию из вывода команд в файл, который создается в процессе проверки командой
    #touch $( date '+%Y-%m-%d_%H-%M' )

    Записать имя файла в переменную и дальше везде использовать её. Например:
    …
    file=$( date '+%Y-%m-%d_%H-%M' )
    touch "$file"
    …
    echo -e "               Product Name : $PN_FRU" >> "$file"
    …
    Ответ написан
    Комментировать
  • Как установить Windows 95 с флешки?

    @rPman
    Установи через виртуалку, пробросив весь жесткий диск внутрь.
    Не забудь выставить в биосе режим sata -> ide, и метод загрузки legacy mbr
    так же максимальный размер раздела у тебя может быть fat32 - 32Gb (в теории больше но именно win95 не сможет), лимит на оперативную память 512мб (16битная ос), говорят уже на гигабайте глючит и не работает, и вообще глюки начинаются после 480мб.

    Говорят win98se могла работать на 1gb (вроде бы даже 1.5gb) ну и соответственно последняя досовая версия win me тоже.

    winnt4 могла работать на 4гб (с нее пошло win32 поддержка 32битная)

    p.s. зачем тебе win95 на реальном железе? тебе более чем хватит виртуалки.
    Ответ написан
    3 комментария
  • Как установить Windows 95 с флешки?

    hint000
    @hint000
    у админа три руки
    Никак. Потому что Win95 не имела драйверов для USB. При большом упорстве можете порешать квест с поиском USB Mass Storage драйвера под Win95 и подсовыванием его на дискете (флоппи-дисковод у вас есть? а FDD-порт на материнке?) Лично я не гарантирую результат, даже если все необходимые ингридиенты у вас найдутся (лягушачья лапка, сушёные крылья летучей мыши, кровь дракона, палочка из бузины...).

    Ставьте на виртуалку, потом с виртуалки можете попытаться перенести на реальное железо. Но это всё равно бесперспективняк, ибо Win95 не имеет поддержки значительной части как современного железа, так и железа 10-15 летней давности. Как минимум контроллер диска нужно будет настроить в BIOS на режим IDE.
    Лучше на виртуалке и оставить.
    Ответ написан
    1 комментарий
  • Сколько раз можно перезаписывать прошивку в микроконтроллер?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Имеется, как и предел итераций записи на SSD или флеш накопитель. Только вот реально ли его достигнуть на практике - вопрос открытый.
    Скажем, первое что нагуглилось:
    Производители микроконтроллеров AVR в документации указывают что их Flash-память можно перезаписывать не менее 10000 раз, а EEPROM- 100000 раз.
    Ответ написан
    5 комментариев
  • Как отправить сообщение с Linux на windows в локальной сети?

    @rPman
    Раньше использовался штатный майкрософтовский Messagener Service, в майкрософтовской сети можно отправлять сообщение командой msg, но после windows 7 майкрософт что то сломало в этом протоколе и ранее рабочий smbclient -M имя_компьютера теперь не работает, попробуй поищи в этом направлении

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

    @echo off
    setlocal enabledelayedexpansion
    set "dir_path=c:\messages"
    
    :loop
    
    for %%f in ("%dir_path%\*") do (
        set /p msg_text=<"%%~f"
        msg "%%~nxf" "!msg_text!"
    	del "!dir_path!\%%~nxf"
    )
    
    ping -n 2 localhost
    
    goto loop


    в данном случае чтобы отправить сообщение нужно будет создать на этой машине (можно расшарить папку c:\messages и работать с ней через samba) файл с именем пользователя и содержимым с текстом сообщения (кажется в кодировке cp1251 если нужен русский, советую поэкспериментировать). Осторожно с пробелами в имени пользователя

    p.s. Еще проще, установить на windows машине ssh сервер, и запускать удаленно команды msg. OpoenSSH есть в windows 10 как штатный дополнительный компонент в настройках приложений
    Ответ написан
    Комментировать
  • Как удалить из смарфона всю телеметрию Гугла?

    @rPman
    Как только на смартфон устанавливаются GAPPs-ы , так сразу смартфон получает сбор телеметрии, причем не обязательно нужно с ней соглашаться, автоматизироваться в google и прочее. Возможно из-за особенностей легализировать ее сбор часть информации будет не в достаточной мере персонализирована, но это касается США, а вот с другими странами все гораздо веселее.

    Никакая страна, и тем более такая продвинутая, не может отказать себе в удовольствии шпионить за всем миром. Самое смешное получается, когда вместе со шпионскими модулями на смартфон устанавливаются модули от производителя (понаблюдайте за смартфонами сяоми).

    Мало того, я точно помню что даже без GAPPS с кастомной прошивкой были некоторые моменты (дополнительные запросы браузера например) показывающие что какая то информация все равно собирается.

    В твоем случае можно попробовать закрыть доступ в сеть на уровне фаервола (роутера) не средствами смартфона. И разрешать только твой трафик. Причем если ты устанавливаешь браузер, то установка прокси, откроет путь трафику и другим приложениям (доказать это очень сложно)
    Ответ написан
    5 комментариев
  • Davinchi resolve 17 не отображает видео на линукс?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    За поддержкой ломаной версии - на тот трекер, откуда качали.
    Ответ написан
    2 комментария
  • Надо ли ставить на саму машину или можно в Docker?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Чтобы запускать докер внутри докера, есть такая штука как DinD. Такое стоит использовать не всегда. Возможно, достаточно будет просто прокинуть докеровский сокет внутрь контейнера.
    Ответ написан
    1 комментарий
  • Как пробросить родной китайский 4G интернет (из приграничного города) в другой город РФ?

    Q2W
    @Q2W
    Быть может стоит где-то ещё поднять впн-сервер и с обоих точек к нему подключиться?
    И настроить роутинг со стороны машины в ту вторую точку?
    Ответ написан
    Комментировать
  • Как залить проект на гитхаб с сохранением папок?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега GitHub
    Автоматизатор
    Эти папки у вас существуют только в рабочем каталоге и их нет в репозитории, потому что гит отслеживает только файлы. Невозможно закоммитить пустой каталог. Каталоги фигурируют лишь как часть полного пути к файлам.

    Если вам нужно непременно сохранить структуру каталогов, то поместите в них любой файл. Стандартная практика — создавать пустой файл с именем .gitkeep
    Ответ написан
    Комментировать
  • Какие символы разрешены в email?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    типичный регексп такой
    [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
    очевидно, что идут лесом не латинские буквы, например

    если очень хочется к основам - RFC вот https://datatracker.ietf.org/doc/html/rfc5322 ,
    но не надейся - адреса там ссылаются в том числе на другие протоколы, хе-хе

    поэтому где-то можно найти примерно такое:

    • Латинские буквы в верхнем и нижнем регистре: A-Z и a-z
    • Цифры от 0 до 9
    • Специальные символы: ! # $ % & ' * + - / = ? ^ _ ` { | } ~
    • Точка . (не первый или последний символ или не повторяется)
    • Двойная кавычка " (только в локальной части и должна быть экранирована обратным слешем )
    • Пробел и специальные символы ( ) , : ; < > @ [ ] (только в локальной части и должны быть заключены в двойные кавычки)
    Ответ написан
    2 комментария
  • Как реализовать чексуммы для сетевого протокола уровня приложения?

    vabka
    @vabka
    Токсичный шарпист
    При использовании TCP стека (Ethernet, IP, TCP) не гарантируется сохранение целостности.

    Гарантируется.
    Ответ написан
    7 комментариев