Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Погрузитесь в логическую головоломку: откручивайте болты из планок на самых сложных уровнях! Вы не только расслабитесь в конце сложного дня, но еще и натренируете свой мозг, решая увлекательные задачки. Справитесь с ролью опытного мастера? Попробуйте свои силы в режиме онлайн бесплатно и без регистрации!

Головоломка. Болты и Гайки

Казуальные, Гиперказуальные, Головоломки

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Powershell

С этим тегом используют

Windows Все
43 поста сначала свежее
user10883678
13 дней назад

Всегда свежий скрипт активации Windы и Offiсса - Microsoft-Activation-Scripts для Win PowerShell!⁠⁠

Всегда свежий скрипт активации Windы и Offiсса - Microsoft-Activation-Scripts для Win PowerShell! Mas, Активация, Powershell, Длиннопост

Захотелось мне спросить у ДипСика написать мне такой скрипт, т.к. работаю я админом и MAS - основной инструмент от жадности Билла ГЕЙтца и его прихлебателей. Хочу вот поделится с Вами!

Вот что их этого вышло, ну и конечно, думаю пригодится такой скрипт людям моей профессии. Актуальная версия всегда у тебя на компе! Скинул по сетке на станцию - и вперед!

Свежий софт, не отходя от кассы!

Я потратил где то час на общение с ним и тестирование, оно того стоило! Думаю подробности переписки никому не интересны, а вот результат - да!

Проверил на разных компах и серверах, все отрабатывает!

Наслаждайтесь:

# Улучшенный скрипт загрузки MAS с гарантированным определением версии

$targetDir = "C:\MAS"

$repoUrl = "https://github.com/massgravel/Microsoft-Activation-Scripts"

$fallbackUrl = "$repoUrl/archive/refs/heads/master.zip"

$archivePath = "$env:TEMP\MAS-latest.zip"

# 1. Создание целевой папки

if (-not (Test-Path -Path $targetDir -ErrorAction SilentlyContinue)) {

try {

New-Item -ItemType Directory -Path $targetDir -Force | Out-Null

Write-Host "[OK] Папка $targetDir создана" -ForegroundColor Green

} catch {

Write-Host "[ERROR] Ошибка создания папки: $_" -ForegroundColor Red

exit 1

}

}

# 2. Определение версии (3 способа)

function Get-MASVersion {

# Способ 1: Через GitHub API (самый точный)

try {

$apiUrl = "https://api.github.com/repos/massgravel/Microsoft-Activation..."

$response = Invoke-RestMethod -Uri $apiUrl -Method Get -ErrorAction Stop

$version = $response.tag_name -replace 'v',''

if ($version -match '^\d+\.\d+$') {

Write-Host "[INFO] Версия определена через GitHub API: $version" -ForegroundColor Cyan

return $version

}

} catch {

Write-Host "[WARNING] Не удалось получить версию через GitHub API: $_" -ForegroundColor Yellow

}

# Способ 2: Через парсинг главной страницы

try {

$html = Invoke-WebRequest -Uri $repoUrl -UseBasicParsing -ErrorAction Stop

if ($html.Content -match 'Latest release:.*?v(\d+\.\d+)') {

$version = $matches[1]

Write-Host "[INFO] Версия определена через парсинг страницы: $version" -ForegroundColor Cyan

return $version

}

} catch {

Write-Host "[WARNING] Не удалось распарсить версию со страницы: $_" -ForegroundColor Yellow

}

# Способ 3: Через файл version.txt после загрузки

try {

$tempDir = "$env:TEMP\MAS-version-check"

New-Item -ItemType Directory -Path $tempDir -Force | Out-Null

Invoke-WebRequest -Uri $fallbackUrl -OutFile "$tempDir\master.zip" -ErrorAction Stop

Expand-Archive -Path "$tempDir\master.zip" -DestinationPath $tempDir -Force

$versionFile = Get-ChildItem -Path $tempDir -Recurse -Filter "version.txt" -ErrorAction SilentlyContinue | Select-Object -First 1

if ($versionFile -and (Get-Content $versionFile.FullName -Raw) -match 'Version[\s:=]*([\d.]+)') {

$version = $matches[1]

Write-Host "[INFO] Версия определена через version.txt: $version" -ForegroundColor Cyan

return $version

}

} catch {

Write-Host "[WARNING] Не удалось определить версию через version.txt: $_" -ForegroundColor Yellow

} finally {

if (Test-Path $tempDir) { Remove-Item $tempDir -Recurse -Force }

}

return "UNKNOWN"

}

$version = Get-MASVersion

$downloadUrl = "$repoUrl/archive/refs/heads/master.zip" # Всегда используем master ветку

# 3. Загрузка

try {

Write-Host "Загрузка MAS $version..." -ForegroundColor Cyan

$ProgressPreference = 'SilentlyContinue'

Invoke-WebRequest -Uri $downloadUrl -OutFile $archivePath -UserAgent "PowerShell"

$ProgressPreference = 'Continue'

if (-not (Test-Path -Path $archivePath)) {

throw "Файл не был загружен"

}

} catch {

Write-Host "[ERROR] Ошибка загрузки: $_" -ForegroundColor Red

exit 1

}

# 4. Распаковка

$tempExtractDir = "$env:TEMP\MAS-temp-extract"

$finalDir = Join-Path -Path $targetDir -ChildPath "MAS_$version"

try {

# Очистка перед распаковкой

if (Test-Path -Path $tempExtractDir) {

Remove-Item -Path $tempExtractDir -Recurse -Force

}

New-Item -ItemType Directory -Path $tempExtractDir -Force | Out-Null

Write-Host "Распаковка..." -ForegroundColor Cyan

if (Test-Path -Path "C:\Program Files\7-Zip\7z.exe") {

& "C:\Program Files\7-Zip\7z.exe" x $archivePath -o"$tempExtractDir" -y | Out-Null

} else {

Expand-Archive -Path $archivePath -DestinationPath $tempExtractDir -Force

}

# Дополнительная проверка версии после распаковки

$extractedFolder = Get-ChildItem -Path $tempExtractDir | Where-Object { $_.PSIsContainer } | Select-Object -First 1

if ($extractedFolder) {

$versionFile = Get-ChildItem -Path $extractedFolder.FullName -Recurse -Filter "version.txt" -ErrorAction SilentlyContinue | Select-Object -First 1

if ($versionFile -and (Get-Content $versionFile.FullName -Raw) -match 'Version[\s:=]*([\d.]+)') {

$newVersion = $matches[1]

if ($newVersion -ne $version) {

Write-Host "[INFO] Обновление версии с $version на $newVersion" -ForegroundColor Yellow

$version = $newVersion

$finalDir = Join-Path -Path $targetDir -ChildPath "MAS_$version"

}

}

# Перенос в финальную папку

if (Test-Path -Path $finalDir) {

Remove-Item -Path $finalDir -Recurse -Force

}

Move-Item -Path $extractedFolder.FullName -Destination $finalDir -Force

Write-Host "[SUCCESS] Установлено в: $finalDir" -ForegroundColor Green

explorer $finalDir

} else {

throw "Не найдена распакованная папка"

}

} catch {

Write-Host "[ERROR] Ошибка при распаковке: $_" -ForegroundColor Red

exit 1

} finally {

# Очистка

if (Test-Path -Path $archivePath) {

Remove-Item -Path $archivePath -Force

}

if (Test-Path -Path $tempExtractDir) {

Remove-Item -Path $tempExtractDir -Recurse -Force

}

}

Вот что у нас в итоге:

Всегда свежий скрипт активации Windы и Offiсса - Microsoft-Activation-Scripts для Win PowerShell! Mas, Активация, Powershell, Длиннопост

Все создалось! Пользуемся.

Всегда свежий скрипт активации Windы и Offiсса - Microsoft-Activation-Scripts для Win PowerShell! Mas, Активация, Powershell, Длиннопост

добавил себе в автозагрузку этот скрипт

Показать полностью 2
Mas Активация Powershell Длиннопост
1
9
D.Trump
13 дней назад

Разблокировка скрытых папок⁠⁠

Обратился ко мне товарищ, мол подхватил вирус, который наплодил кучу папок с названиями разных антивирусов. Помоги-спаси!

В общем, вирус довольно давно гуляет по сети и удалился он утилитой cureit без проблем. Но вот с созданными им папками пришлось сражаться самому: папки имели атрибуты скрытая, системная и с закрытыми правами для пользователя на чтение-изменение. Поначалу стал вручную назначать права папкам и удалять, но их было много и захотелось это как-то автоматизировать.

При помощи ИИ и такой-то матери был написан скрипт для Power Shell 5.1, который ищет папки с закрытым чтением, выводит их списком в UI, где можно отметить нужные, удалить атрибуты и дать права на чтение-изменение. Результаты можно в последствии сохранить в лог файл. После процедуры папки можно будет спокойно удалять.

Файл можно получить по ссылке:

https://disk.yandex.ru/d/Ht9zNUPAkU_aAQ

Как пользоваться:

Открыть Power Shell от имени администратора, ввести в строку:

Set-ExecutionPolicy -Scope Process RemoteSigned, нажать Enter.

В запросе выбрать Y или А

после этого перейти в каталог со скриптом и запустить скрипт:

.\permit.ps1

В работе проверял на Win 10 с PS 5.1

Возможно, кому-то пригодится.

Искать папки можно в подкаталогах либо только в корне выбранной папки, отметив чекбоксом.

Показать полностью
[моё] Вирус Файлы и папки Powershell Windows Текст
2
8
hypo69
hypo69
1 месяц назад
Лига программистов
Серия 101 игра на python. Шпаргалки

Обновляем форк GitHub через PowerShell — от нуля до автоматизации⁠⁠

Как поддерживать свой форк в актуальном состоянии не тратя на это кучу времени?

В этой статье я покажу, как легко обновить ваш форк на GitHub с помощью PowerShell. В результате вы получите инструмент, который:

  • Работает с любой активной веткой вашего форка.

  • Автоматически подтягивает свежие изменения из upstream репозитория.

  • Выполняет rebase для чистоты истории коммитов.

  • Принудительно отправляет (push --force) обновленную ветку в ваш форк (origin).

  • И даже показывает наглядные уведомления о ходе процесса в Windows!

✅ Подготовка

Перед началом:

  • Убедитесь, что в вашем репозитории добавлен upstream на ОРИГИНАЛЬНЫЙ репозиторий:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

(Замените URL на актуальный для вашего проекта)

  • Установите модуль уведомлений [BurntToast], чтобы получать уведомления о процессе (полезно при автоматизации):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Часть 1: Обновление форка командами в PowerShell (ручной способ)

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

  • Перейти в директорию репозитория (если вы еще не там):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Определить текущую ветку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Получить изменения из upstream:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Сделать rebase текущей ветки на основе аналогичной ветки из upstream:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Обработка конфликтов (если возникли): Если git rebase сообщает о конфликтах:Откройте файлы с конфликтами в редакторе и разрешите их.
    Добавьте исправленные файлы: git add .
    Продолжите rebase: git rebase --continue
    (Или пропустить: git rebase --skip, или отменить: git rebase --abort)

  • Принудительно запушить изменения в origin (ваш форк на GitHub):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Внимание: git push --force перезаписывает историю в удаленной ветке. Используйте с осторожностью, особенно если над веткой работают другие люди.

  • (Опционально) Показать уведомление:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Теперь, когда мы понимаем основные шаги, автоматизируем их с помощью функции.

Часть 2: Создание PowerShell-функции Update-Fork

Соберем все команды в удобную функцию.

🧩 Шаг 1. Функция переходит в нужную директорию и определяет текущую ветку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • param(...): Позволяет передавать путь к репозиторию или использовать текущий.

  • Import-Module BurntToast: Загружает модуль для уведомлений.

  • Set-Location: Переходит в нужную директорию.

  • git rev-parse --abbrev-ref HEAD: Получает имя текущей ветки.

🔁 Шаг 2: Добавим fetch и rebase

Подтянем изменения и сделаем rebase. Добавьте этот блок внутри функции Update-Fork, после определения $currentBranch:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • git fetch upstream: Загружает изменения из upstream.

  • git rebase "upstream/$currentBranch": Перемещает ваши локальные коммиты поверх последних изменений из upstream.

⚠️ Шаг 3: Обработка конфликтов

Если rebase не проходит чисто, PowerShell поможет разобраться. Добавьте этот блок после git rebase ...:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Этот блок предлагает варианты действий при возникновении конфликтов во время rebase.

🚀 Шаг 4: Push и уведомление

В конце запушим изменения с --force и покажем результат. Добавьте этот блок в конец функции:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Перед push проверяем, не остался ли rebase в незавершенном состоянии.

🧩 Финальная версия функции:

полный код функции Update-Fork большая простыня, поэтому ссылка на github

💡 Как запускать функцию

Вы можете использовать Update-Fork несколькими способами:

1. Вручную в текущей сессии PowerShell

Скопируйте весь код функции (из "Финальная версия функции") и вставьте его прямо в окно PowerShell. PowerShell поддерживает многострочную вставку. После этого вы сможете вызвать функцию:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Или, если вы находитесь в другой директории, укажите путь к вашему форку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Этот способ подходит для разового использования, так как при закрытии сессии PowerShell функция будет забыта. 😒

2. 🛠️ Добавить функцию Update-Fork в профиль PowerShell

Это самый удобный способ, так как он сделает функцию Update-Fork доступной в любой новой сессии PowerShell без необходимости каждый раз копировать код.

Профиль PowerShell – это специальный скрипт (.ps1 файл), который автоматически выполняется при каждом запуске PowerShell.

📂 Через Notepad

✅ Шаг 1. Откройте PowerShell

  • Нажмите Win + R, введите powershell, нажмите Enter.

  • Или откройте PowerShell через меню Пуск.

📄 Шаг 2. Выполните команду для открытия файла профиля в Блокноте:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

🔍 Что это за команда?

  • $PROFILE — это специальная переменная PowerShell, которая содержит путь к вашему пользовательскому файлу конфигурации. Обычно это что-то вроде C:\Users\<ВашеИмяПользователя>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1.

  • notepad — команда для запуска Блокнота с указанным файлом.

🧾 Что делать, если файл не существует?

Если вы увидите сообщение вида:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

— смело нажимайте "Да". PowerShell создаст для вас пустой файл профиля.

✏️ Шаг 3. Вставьте код функции

Скопируйте весь текст финальной версии функции Update-Fork (приведен выше) и вставьте его в открывшийся файл в Блокноте.

💾 Шаг 4. Сохраните и закройте

  • В Блокноте выберите "Файл" -> "Сохранить" (или нажмите Ctrl+S).

  • Закройте Блокнот.

🔄 Шаг 5. Перезапустите PowerShell

  • Закройте текущее окно PowerShell.

  • Откройте новое окно PowerShell.

Теперь функция Update-Fork должна быть доступна. Вы можете проверить это, выполнив:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Если команда найдена, вы всё сделали правильно! 🎉 Теперь вы можете вызывать Update-Fork в любом репозитории.

💡 Альтернатива: Редактирование профиля через VS Code

Если вы используете Visual Studio Code (VS Code), редактировать профиль в нем может быть удобнее благодаря подсветке синтаксиса и другим функциям.

✅ Шаг 1. Убедитесь, что установлено расширение PowerShell

  1. Откройте VS Code.

  2. Перейдите на вкладку Extensions (Расширения) — иконка с квадратиками на боковой панели или Ctrl+Shift+X.

  3. В поиске введите PowerShell.

  4. Установите расширение PowerShell от Microsoft, если оно еще не установлено.

📝 Шаг 2. Откройте профиль PowerShell в VS Code

В терминале PowerShell (можно прямо в интегрированном терминале VS Code) выполните команду:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

🔍 Что происходит?

  • $PROFILE указывает на ваш файл профиля PowerShell.

  • code — это команда для запуска VS Code с указанным файлом.

📌 Если команда code не распознаётся: Это означает, что VS Code не добавлен в системную переменную PATH. Чтобы это исправить:

  1. Откройте VS Code.

  2. Нажмите Ctrl+Shift+P (или F1) чтобы открыть палитру команд.

  3. Начните вводить: Shell Command: Install 'code' command in PATH

  4. Выберите эту команду и выполните ее. Возможно, потребуется перезапустить терминал или систему.

✏️ Шаг 3. Вставьте код функции

Скопируйте полный текст финальной версии функции Update-Fork и вставьте его в открытый файл profile.ps1 в VS Code.

💾 Шаг 4. Сохраните и закройте

  • Сохраните файл в VS Code (Ctrl+S).

  • Можете закрыть VS Code или оставить открытым.

🔄 Шаг 5. Перезапустите PowerShell

  • Закройте все сессии PowerShell.

  • Откройте новую сессию PowerShell.

Теперь функция Update-Fork будет доступна. Проверьте, вызвав Update-Fork в вашем репозитории.

Если возникнут сложности с поиском профиля, команда $PROFILE в PowerShell всегда покажет точный путь. В зависимости от версии PowerShell и настроек системы, $PROFILE может указывать на разные файлы (например, profile.ps1 для всех хостов или специфичный для консоли).

3. Как отдельный .ps1-файл

  1. Сохраните полный код функции Update-Fork в файл, например, MyUpdateForkScript.ps1.

  2. Чтобы использовать функцию, вам нужно сначала "загрузить" этот файл в текущую сессию PowerShell (это называется "dot-sourcing"), а затем вызвать саму функцию:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Или, если вы находитесь в директории со скриптом, а форк в другом месте:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  1. Этот метод требует выполнения команды . .\MyUpdateForkScript.ps1 в каждой новой сессии, где вы хотите использовать функцию.

Готово! Теперь вы можете синхронизировать ваш форк с оригиналом одной командой Update-Fork.

Оригинал статьи на GitHub

Показать полностью 18
[моё] Гайд Программирование Git Powershell Длиннопост
4
Партнёрский материал Реклама
specials
specials

Как бросить курить и не сорваться: инструкция от тех, кто смог⁠⁠

Выходишь покурить на пять минут, а возвращаешься через 10 лет: с хрипом, тремя неудачными попытками бросить и пачкой мятных жвачек в кармане. Это как плохой сериал: тянется слишком долго, а финал все равно разочарует. Но выйти из этого сценария можно и даже не обязательно драматично. Мы собрали истории тех, кто боролся с зависимостью ради любимого человека, здоровья или лучшей жизни.

Как бросить курить и не сорваться: инструкция от тех, кто смог Курение, Борьба с курением, Зависимость, Telegram (ссылка), ВКонтакте (ссылка), Длиннопост

История 1 — отражение

@ holoroad

Маленькая дочка почти научилась ходить и всюду телепалась за мной. Я не курил при ней. Ходил на балкон, а она, прильнув к стеклу, смотрела на меня и ждала, когда я докурю и выйду к ней. И в какой-то момент она начала повторять за мной вот эти движения. Маленький человечек, ей было года полтора или два, прикладывала воображаемую сигарету к губам, а потом делала вид, что выпускает дым. И весело так на меня смотрела, сквозь стекло балконной двери. Ей нравилось все, что со мной связано, и она подражала всем моим действиям. Я курил уже двадцать лет и, конечно, делал множество попыток бросить до этого. Но в этот раз у меня в первый раз появилась по-настоящему важная причина бросить. Это важно для человека, который безгранично мне доверяет. С тех пор прошло почти десять лет, в течение которых я не сделал ни одной затяжки.

Решение бросить курить — одно из лучших, которое вы можете принять для своего здоровья, будущего и близких. Но справиться с зависимостью только потому, что «это вредно» будет тяжело. А вот если хотите не задыхаться, поднимаясь по лестнице, или волнуетесь за своего ребенка, которые вдыхает табачный дым, — уже другое дело.

Сформулируйте, что для вас значит отказ от никотина. Это может быть желание прожить дольше, избавиться от проблем со здоровьем, выглядеть моложе, сэкономить деньги или защитить близких от пассивного курения. Напоминание об этой причине повесьте на видное место.

История 2 — список

@ maxneb

Беременность жены, рождение ребенка, здоровье, деньги — ничего не было веским поводом бросить окончательно. Постоянно срывался. Помогло составить список, что теряю и что получаю от сигарет, и понимание, что хотя бы одна затяжка — и все насмарку: пару месяцев буду курить. Только список и его осознание. Для каждого он свой. И постоянное обращение к нему. После составления списка курил еще. Но он как заноза висел в голове с вопросом «зачем?»... Так, что-то щелкнуло и сейчас не тянет. Иногда тянет физически, но осознание бесполезности курения сразу глушит позывы. Полгода, полет нормальный...

Бросать на авось — идея, которая подойдет не всем. Нужно понимать, что делать в трудные моменты:

  • Определите дату отказа. Подготовьтесь морально, уберите сигареты, зажигалки, пепельницы.

  • Замените привычки. Сигарету в руках можно заменить орешками, палочками морковки, жвачкой или даже кубиком льда.

  • Займите время. Вспомните, чем вы любили заниматься: спорт, хобби, прогулки.

  • Планируйте, что делать при тяге. Она длится всего 3–5 минут. Дыхательные практики или звонок другу помогут пережить сильное желание закурить.

  • Откажитесь от «наградных сигарет». Одна затяжка и вы откатитесь назад.

Можно бросить резко, «с понедельника», или постепенно, снижая количество сигарет до нуля. Главное — определиться и не отступать.

История 3 — переключение

@ Spaka

45 лет, стаж 30. Пытался завязать много раз, потом понял, что после каждой попытки бросить, курить начинаешь больше. Как ребенок, которому не дают вкусняшку, а она случайно попала ему в руки. Из чего мозг сделал вывод: не уверен — не бросай. Потом стал замечать, что организм уже стал сам просить перестать курить. По утрам было очень неприятно во рту, удовольствие после сигареты стало короче, а негатив, приходящий следом, ощутимее: неприятные ощущения в горле, боли миндалин, страх схватить онкодиагноз. Хотя врачи говорили, что все ок, в голове-то гоняешь мысли. Я решил попробовать обмануть сам себя. Не делать из процесса отказа какого-то события. Бросить так, как будто это и должно было произойти, но ты не знаешь когда. Про себя помолился, как сумел, и попросил помощи, хитро прищурил глаз и в момент, когда забыл купить про запас (оставалась пара штук в пачке), просто перестал курить. Мне теперь даже странно, как я раньше это делал. Так и живу почти два года. Кстати, раньше в момент завязки курящих ненавидел, дым был очень противен, до тошноты. Теперь все равно. Присоединяйтесь ;)

Есть несколько стратегий отказа от курения:

  • Резкий. Эффективный и решительный подход.

  • Постепенный. Сначала — меньше сигарет, потом — меньше затяжек. И так до нуля.

  • Психологическая замена. Каждая сигарета — это ритуал. Найдите для каждого из них «здоровую замену».

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

Каждый, кто хочет оставить зависимость в прошлом, может обратиться в центры здоровья, которые работают при поддержке нацпроекта «Продолжительная и активная жизнь», и получить необходимую помощь специалистов. Адреса доступны на официальном портале Минздрава России о здоровье: takzdorovo.ru. Также можно позвонить на горячую линию по отказу от зависимостей 8 800 200-0-200.

История 4 — форма

Аноним

Курила электронки 2 года как замену обычным сигаретам. Думала, что это не так дорого, не так вредно да и для девушки вроде более привлекательно: не пахнут волосы и руки. А потом решила привести свое тело в форму. Стала ходить в зал и поняла, что задыхаюсь на первом же упражнении, хотя женщины гораздо старше меня бодрячком. Было очень тяжело слезть. Друзья советовали заменять сигаретами. А потом уехала в отпуск в страну, где нельзя покупать электронки, отвлеклась, и после возвращения уже не тянуло. Даже на тусовках, где все дымят.

За модными гаджетами и фруктовыми ароматами скрывается химическая бомба, разрушающая организм быстрее, чем обычные сигареты. Электронные сигареты активно продвигаются производителями как «безопасная» альтернатива сигаретам. Но курение вейпа может обернуться серьезными проблемами: от кашля и одышки до поражения сосудов и дыхательных путей.

«Особую тревогу вызывает рост потребления табачных изделий и электронных сигарет. Согласно исследованию, проведенному в нашем Центре, 36,8% курильщиков потребляют одновременно и табак, и электронные сигареты. Среди молодежи в возрасте 25-39 лет этот показатель превышает 45%. Электронные никотиносодержащие и безникотиновые устройства поражают сердце, сосуды, дыхательную систему и ДНК организма не менее пагубно, чем традиционные сигареты, а в ряде случаев способны вызывать острые состояния, включая сосудистые поражения и летальные исходы» – рассказывает руководитель Центра профилактики и контроля потребления табака НМИЦ терапии и профилактической медицины Минздрава России Маринэ Гамбарян.

История 5 — пари

@ kernima

Вроде не было никаких серьезных предпосылок, чтобы бросить. Да и чтобы начать: просто все вокруг курили, думал, это сейчас тренд. А потом как-то сидели в баре и решили поспорить с некурящим другом. Он затирал, что моя жизнь из-за электронки катится ко дну, я — доказывал, что это всего лишь маленькая шалость. В общем поспорили на пять тысяч. Чтобы было легче и можно было отвлечься, начал бегать по утрам. Друг проиграл, а я возвращаться к курению не стал. Вдруг снова у еды появился вкус, я начал высыпаться и больше не устаю на втором лестничном проеме. Короче, советую!))

Сульфат никотина, один из компонентов электронных сигарет, раньше использовали как пестицид, но запретили из-за высокой токсичности. Жидкость для «электронок» содержит и опасные химикаты вроде пропиленгликоля, ацетальдегида и акролеина — промышленных веществ, способных вызывать воспаления, поражения органов и мутации клеток. Ароматизаторы, создающие иллюзию безвредности, на деле могут привести к более тяжелой интоксикации, чем при курении сигарет. А еще вейпы содержат не природный, а синтетический никотин — солевой. Он быстрее всасывается, дольше выводится и вызывает зависимость стремительнее.

Когда организм отвыкает от никотина, бывает нелегко: люди становятся раздражительным и нервозными, быстро устают, возникают сухость во рту, кашель, трудности с концентрацией. Важную роль в борьбе с этими симптомами играет питание. В рацион стоит включить овощи, фрукты, орехи, семечки. Клетчатка способствует очищению организма от токсинов. Важно питаться сбалансировано: с достаточным количеством белков, жиров, углеводов и витаминов. Лучше временно исключить продукты, усиливающие удовольствие от табака (например, мясо), а также отказаться от алкоголя, кофе и крепкого чая. Они могут спровоцировать желание закурить. А вот большое количество воды, травяных чаев и настоев облегчит очищение организма и поможет справиться с сухостью во рту.

История 6 — связь

Аноним

Устал курить, понял, что мне это мешает заниматься спортом и в целом комфортно себя чувствовать. Пошел через ассоциации: покурил во время головной боли, и потом через самовнушение дал себе установку, что голова болела от курения. Звучит странно, конечно, но это сработало. Никотиновую зависимость снижал постепенно через редкое курение кальяна (2-3 раза в неделю с последующим уменьшением).

Чтобы добиться успеха в отказе от курения, стоит подготовиться. Обязательно расскажите о своем решении друзьям и близким — поддержка со стороны очень важна. Если вы уже предпринимали попытки бросить, вспомните, что тогда пошло не так, и постарайтесь не повторять этих ошибок.

Разберитесь, что именно тянет вас к сигарете: скука, стресс, привычка? Когда вы это осознаете, будет легче подобрать альтернативные действия — прогулку, книгу, разговор с близким. Учитесь распознавать моменты, когда особенно хочется закурить, и переключаться на что-то другое. Можно подключиться к программам или группам поддержки — это поможет не сдаваться. И главное: уберите из дома все сигареты.

История 7 — вершина

Аноним

Поднимался с сыном по Пушкинской тропе на гору Железная. Мне лет сорок пять было, идем общаемся, сын бегает туда-сюда. Ну идем короче, а сзади нас догоняет семейная пара, мирно о чем-то щебеча между собой. Догнали и обходят. И так спокойно удаляются… Все бы ничего, но им лет по шестьдесят, если не больше. Я попробовал в их темпе, но задыхаться стал. Короче, поднялся я на гору, спустился, смял пачку и выкинул в мусорную урну. Вот уже 13 лет не курю. Стаж 27 лет.

Курение — это быстро развивающаяся зависимость, схожая по механизму с наркотической. Никотин воздействует на мозг, вызывая кратковременное улучшение настроения, за которым следует упадок сил и потребность в новой дозе. Со временем формируется толерантность, и прежние негативные реакции организма на табак ослабевают. Физическая зависимость сочетается с психологической: сигарета начинает ассоциироваться с отдыхом, решением задач, рутиной. Курение укрепляется поведенческими шаблонами: кофе, вождение, паузы на работе уже не мыслимы без сигареты.


Каждый, кто пытался избавиться от никотиновой зависимости, знает, как это тяжело. Ломка, раздражительность, навязчивые мысли. Даже при переходе на вейпы, иллюзия «меньшего вреда» быстро развеивается: химические коктейли из ароматических смесей также бьют по легким, сосудам и всему организму.

Хорошая новость в том, что вы не одни. В сообществе «Давай бросать» (ВКонтакте и мессенджере Telegram), который работает при поддержке нацпроекта «Продолжительная и активная жизнь» знают, каково бороться с триггерами, искать замену привычке и удерживать себя от срыва. Здесь делятся историями тех, кто смог, поддерживают тех, кто только начал, и помогают разобраться в главном: как пережить отказ без мучений.

Социальная реклама. АНО «Национальные приоритеты», ИНН: 9704007633

Показать полностью
Курение Борьба с курением Зависимость Telegram (ссылка) ВКонтакте (ссылка) Длиннопост
4
Seberd.ITBase
Seberd.ITBase
2 месяца назад

PowerShell для новичков [Первые шаги в безопасности]⁠⁠

PowerShell — это удобный инструмент от Microsoft, который помогает управлять компьютером и проверять его состояние. Для специалистов по информационной безопасности он полезен, чтобы быстро посмотреть, что происходит в системе. Этот урок научит вас самым простым командам и покажет, как работать с путями, даже если там есть русские буквы или пробелы. Ничего сложного — начнем с азов.

Чтобы открыть PowerShell, нажмите Win + S, введите "PowerShell" и выберите "Windows PowerShell". Если вы хотите видеть больше данных, например, системные службы, запустите его от имени администратора — для этого щелкните правой кнопкой и выберите "Запуск от имени администратора". Откроется окно, где можно вводить команды.

Хотите разбирать реальные случаи взломов и разбираться в киберугрозах?

PowerShell для новичков [Первые шаги в безопасности] Powershell, Информационная безопасность, Telegram (ссылка), Длиннопост

PowerShell для новичков

В своём Telegram-канале Security Controls я делюсь историями атак, методами защиты и разбором уязвимостей. Подписывайтесь, если тема безопасности вам интересна.

Начнем с простого. Введите `Get-Process`, и PowerShell покажет, какие программы сейчас работают. Вы увидите таблицу с именами вроде "notepad" (Блокнот) или "chrome" (браузер), их номерами (PID) и сколько они используют ресурсов. Это как список того, что запущено на вашем компьютере. Хотите узнать, откуда идет процесс? Введите `Get-Process -Name "notepad" | Select-Object Name, Path`. Если Блокнот открыт, вы увидите что-то вроде "notepad" и "C:\Windows\System32\notepad.exe". Если его нет, ничего страшного — просто запустите Блокнот и попробуйте снова.

Дальше — службы. Введите `Get-Service`, и PowerShell покажет, какие службы работают или остановлены. Это как список помощников в системе — например, "W32Time" отвечает за время, а "WinDefend" — это Windows Defender. Вы можете увидеть, включена ли защита. Останавливать службы пока не будем — это лучше делать, когда вы точно знаете, что делаете.

Для файлов есть команда `Get-ChildItem`. Введите `Get-ChildItem -Path "C:\Windows"`, и вы увидите, что лежит в папке "Windows". Это похоже на просмотр папки в проводнике, только через текст. Хотите посмотреть свою папку? Попробуйте `Get-ChildItem -Path "C:\Users"`.

Что делать, если в пути русские буквы или пробелы? Например, у вас есть папка "C:\Users\Иван Иванов". Без кавычек PowerShell может запутаться. Введите `Get-ChildItem -Path "C:\Users\Иван Иванов"`, и все сработает. Двойные кавычки — это как рамка для пути, чтобы он читался правильно. Попробуйте сами — создайте папку "Тест Папка" на диске C и введите `Get-ChildItem -Path "C:\Тест Папка"`. Увидите, что внутри, если там что-то есть.

Можно упростить работу с помощью переменной. Введите `$myFolder = "C:\Users\Иван Иванов"`, а потом `Get-ChildItem -Path $myFolder`. Переменная — это как ярлык, чтобы не писать длинный путь каждый раз. Проверьте, что она работает, введя `Write-Output $myFolder` — вы увидите "C:\Users\Иван Иванов".

Как это помогает в безопасности? Представьте, что в `Get-Process` вы видите незнакомый процесс, например, "strange.exe". Введите `Get-Process -Name "strange" | Select-Object Name, Path`, и узнайте, откуда он. Если путь "C:\Users\Иван\Temp" вместо "C:\Program Files", это может быть подозрительно. Пока не будем его останавливать — просто запомните, что путь дает подсказку. Или в `Get-Service` проверьте, работает ли "WinDefend". Если нет, это повод задуматься.

Несколько простых советов. Нажимайте `Tab`, чтобы PowerShell сам дописывал команды. Например, введите `Get-Pro` и нажмите `Tab` — получится `Get-Process`. Если что-то непонятно, добавьте `-?`, например, `Get-Process -?`, и PowerShell покажет подсказку. Не трогайте процессы и службы, если не уверены — лучше сначала разобраться.

Попробуйте сами. Введите `Get-Process` и найдите знакомый процесс, например, "notepad". Узнайте его путь с `Get-Process -Name "notepad" | Select-Object Name, Path`. Потом введите `Get-Service` и посмотрите, есть ли "WinDefend". Задайте переменную `$myPath = "C:\Users\ВашеИмя"` и проверьте папку с `Get-ChildItem -Path $myPath`. Если в пути русские буквы или пробелы, не забудьте кавычки.

Показать полностью 1
Powershell Информационная безопасность Telegram (ссылка) Длиннопост
6
7
Karimi
4 месяца назад

Ответ на пост «Сортировка фотографий на компьютере»⁠⁠1

В прицнипе реализуемо , но есть нюансы. В конце есть ссылки на удобное копирование скриптов.

Понадобится:

  • Компьютер с Windows 10 или Windows 11 и видеокартой Nvidia RTX 3000 или 4000 серии, теоретически можно и младше, но я не гарантирую как оно будет работать.

  • Powershell 7 - https://aka.ms/powershell-release?tag=stable дефолтный файл для обычных Windows x64. Скачиваем + устанавливаем

PowerShell-7.5.0-win-x64.exe

Но можно и любым другим способом zip/msi, пакетный менеджер и т.д

  • Ollama - клиент для нейросетей https://ollama.com/download жмём Download. Скачиваем + устанавливаем.

  • Модель для распознавания объектов на фото и тегирования jpg файлов llama3.2-vision:11b которую можно скачать через powershell командой.

ollama pull llama3.2-vision:11b

1/2

Программа exiftool для Windows бинарик которой нужно положить в папку, либо любую другую, но тогда правиьте скрипт сооветствующий образом

C:\ExifTool\exiftool.exe

Качаем сайта https://exiftool.org/ Типовой файл 64-bit:

exiftool-13.18_64.zip

  • Программа XNview, доставайте сами знаете где, либо любой другой каталогизатор изображений и фото. В jpeg есть теги, нейросеть проставляет теги в зависимости от того, что изображено на фото, по ним сможете посортировать и найти нужные объекты на фото, в XNView есть поиск по тегам, мне подошло именно так.

  • Собственно код, который нужно вставить в терминал Powershell с текущей папкой в папке с фотографиями формата jpg/jpeg.

Powershell cкрипт (использует GPU)

Здесь мы попросим нейросеть создать нам описание изображения, теги, комментарий и записатить всё это в EXIF самой картинки.

ВНИМАНИЕ!: скрипт обходит все подпапки!

$exifToolPath = 'C:\ExifTool\exiftool.exe'

Get-ChildItem -Recurse $dir | Where-Object {$_.Extension -in @(".jpg", ".jpeg")} | ForEach-Object {

$imagePath = $_.FullName

$comment = ollama run llama3.2-vision:11b "description in 5-10 words $($_.FullName)"

$description = ollama run llama3.1:8b "description in 3-5 words $($comment)"

$theme = ollama run llama3.1:8b "theme in 2-3 words $($comment)"

$tags = ollama run llama3.1:8b "3 tags from $($comment) separated with comma, write only tags"

$description = $description.Trim().Replace("`"","")

$comment = $comment.Trim().Replace("`"","")

$theme = $theme.Trim().Replace("`"","")

& $exifToolPath -Description="$description" -charset latin -Comment="$comment" -charset latin -XPSubject="$theme" -XPComment="$description" -Keywords="$tags" -overwrite_original "$imagePath" -charset latin

}

1/4

Во время отработки скрипта побегут странные символы, видимо консольный интерфейс не предполагал, что его будут так использовать. В конце в файл будут записано описание, теги, и комментарий.

Бонус:

Можно сжать фото (до 70%) с помощью jpegoptim в несколько потоков (гораздо быстрее по сравению с обычным использованием jpegoptim *.jpg)

  • Jpegoptim для Windows - https://github.com/tjko/jpegoptim/releases бинарик которой нужно положить в папку C:\Jpegoptim\jpegoptim.exe.
    Файл

jpegoptim-1.5.5-x64-windows.zip

  • Powershell cкрипт (использует CPU)

    ВНИМАНИЕ!: скрипт обходит все подпапки!

Get-ChildItem $dir | ForEach-Object -Parallel { C:\Jpegoptim\jpegoptim.exe -m85 $_.Name } -ThrottleLimit 15

ThrottleLimit ставьте по количеству ядер CPU минус 1 ядро, чтобы не повесить ПК

Если неудобно копировать из статьи, можно взять отсюда.
1. Описание фото с помощью нейросети
https://gist.github.com/FaustineD/e637d19f738ce8eea42cd497c17ab52b

2. Оптимизация jpg

https://gist.github.com/FaustineD/ccb61ae316b8272c3164bd7f9e805b14

UPD: Небольшой Дисклеймер, некоторые фото нейросеть может отказаться обрабатывать из-за присутствия политиков, клубнички, мата, и т.д, Это законодательные ограничения создателей нейросети.
Вместо тегов она впишет в файл, что не может обработать данные.

Показать полностью 6
[моё] Фотография Приложение Текст Ответ на пост Длиннопост Нейронные сети Оптимизация Bat-файлы Распознавание EXIF Powershell Полезное Скрипт
1
5
Kravenrus
Kravenrus
6 месяцев назад

Продолжение поста «Автозапуск Nekobox (NekoRay) под Windows в TUN режиме»⁠⁠1

Наконец-то руки дошли до накатить Windows 10 Pro (без твиков и т.п., MSDN), чтобы проверить всю ранее изложенную портянку. Пункт Подходим к решению основного поста не пропускаем, вся информация здесь замещает пункт Решение..

Уточню для начала:

  • версия NekoRay — 4.0-beta4

  • расположение — C:\nekoray (работал с ним, скрипты клал туда, пути в них относительно него)

  • исполняемый файл — nekobox.exe

Для любого решения

Необходимо дабы избавиться от ошибки ниже

при некорректном завершении работы программы (перезагрузка без выхода из NekoRay в трее) всегда без исключений можно ловить окошко с предложением перезапустить программу, при отказе вскоре вылетит следующее

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

Продолжение поста «Автозапуск Nekobox (NekoRay) под Windows в TUN режиме» Windows, Программа, Инструкция, Компьютерная помощь, Прокси, Кусты реестра, Powershell, Автозапуск, Длиннопост, Ответ на пост

Ошибка при запуске

Создаем скрипт, что будет удалять, при наличии, сетевой интерфейс, созданный в момент последнего запуска и запускать NekoRay..

C:\nekoray\AutorunNekoRay.ps1

# Удаляем устройства с именем "sing-tun Tunnel"

foreach ($dev in (Get-PnpDevice | Where-Object { $_.Name -like "sing-tun Tunnel" })) {

# Запускаем pnputil для удаления устройства и ждем завершения процесса

Start-Process pnputil -ArgumentList "/remove-device", "$($dev.InstanceId)" -NoNewWindow -Wait

}

# Путь к exe файлу, который находится в той же папке, что и скрипт

$exePath = Join-Path -Path $PSScriptRoot -ChildPath "nekobox.exe"

# Запускаем nekobox.exe с аргументом -tray

Start-Process -FilePath $exePath -ArgumentList "-tray"

Далее используем одно из решений ниже, чтобы он выполнялся автоматически при загрузке системы:

  • через планировщик

  • через автозапуск (ветка реестра HKEY_LOCAL_MACHINE)

  • через автозапуск (ветка реестра HKEY_CURRENT_USER)

Что должно работать

Решение через планировщик (автоматическое выполнение скрипта выше при загрузке системы от SYSTEM). Сразу отмечу, что в трее значка NekoRay не увидите.

C:\nekoray\AutorunCreateTask.ps1

# Параметры задачи

$TaskName = "AutorunNekoRay"

$ScriptPath = "C:\nekoray\AutorunNekoRay.ps1"

$Trigger = New-ScheduledTaskTrigger -AtStartup

$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File `"$ScriptPath`""

$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest

# Удаление старой задачи (если есть)

Unregister-ScheduledTask -TaskName $TaskName -Confirm:$false -ErrorAction SilentlyContinue

# Создание новой задачи

Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -Action $Action -Principal $Principal

Write-Host "Задача $TaskName успешно создана и будет выполняться при старте системы."

C:\nekoray\AutorunRemoveTask.ps1

# Название задачи

$TaskName = "AutorunNekoRay"

# Удаление задачи

try {

Unregister-ScheduledTask -TaskName $TaskName -Confirm:$false

Write-Host "Задача '$TaskName' успешно удалена."

} catch {

Write-Host "Не удалось удалить задачу '$TaskName'. Возможно, она не существует." -ForegroundColor Red

}

Далее запускаем командную строку от имени Администратора и выполняем:

powershell -ExecutionPolicy Bypass -File "C:\nekoray\AutorunCreateTask.ps1"

Для удаления задачи:

powershell -ExecutionPolicy Bypass -File "C:\nekoray\AutorunRemoveTask.ps1"

Что может сработать

Либо так:

C:\nekoray\autorunEnable.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"AutorunNekoRay"="powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File \"C:\\nekoray\\AutorunNekoRay.ps1\""

C:\nekoray\autorunDisable.reg

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"AutorunNekoRay"=-

Либо так:

C:\nekoray\autorunEnable.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"AutorunNekoRay"="powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File \"C:\\nekoray\\AutorunNekoRay.ps1\""

C:\nekoray\autorunDisable.reg

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"AutorunNekoRay"=-

Для добавления в автозапуск запускаем созданный autorunEnable.reg, чтобы убрать из автозапуска — autorunDisable.reg.

Если все успешно

  • в диспетчере задач будет nekobox.exe

  • в диспетчере устройств сетевой интерфейс sing-box без ошибки

  • маршрутизация согласно описанным правилам в соответствующем конфиге

Показать полностью
[моё] Windows Программа Инструкция Компьютерная помощь Прокси Кусты реестра Powershell Автозапуск Длиннопост Ответ на пост
5
17
Kravenrus
Kravenrus
8 месяцев назад

Автозапуск Nekobox (NekoRay) под Windows в TUN режиме⁠⁠1

Хотел обновить свой пост на эту тему, но что-то набралось текста по этому поводу..

Для начала

Почему не работает галочка в интерфейсе Запускать вместе с системой для автоматического поднятия в TUN режиме..?

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

Автозапуск Nekobox (NekoRay) под Windows в TUN режиме Windows, Программа, Инструкция, Компьютерная помощь, Прокси, Кусты реестра, Powershell, Json, Автозапуск, Длиннопост

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

Подходим к решению

Прежде чем запускать NekoRay нам нужно удалить ранее созданный сетевой интерфейс, и нам надо делать это автоматически.. Забываем про галочку Запускать вместе с системой. Отмечаем пункты Запомнить последний профиль (разумеется с активированным профилем) и Режим TUN. Но это может работать некорректно, поэтому выходим из софта через трей либо Программа — Выход. Открываем следующий файл (путь может отличаться в зависимости от того где лежит папка с утилитой)

C:\nekoray\config\groups\nekobox.json

Автозапуск Nekobox (NekoRay) под Windows в TUN режиме Windows, Программа, Инструкция, Компьютерная помощь, Прокси, Кусты реестра, Powershell, Json, Автозапуск, Длиннопост

Подробнее о пунктах:

  • remember_enable — галочка Запомнить последний профиль (true/false)

  • remember_id — идентификатор профиля (подробнее ниже)

  • spmode2 — галочка Режим ... (элемент массива "vpn" для TUN режима)

Автозапуск Nekobox (NekoRay) под Windows в TUN режиме Windows, Программа, Инструкция, Компьютерная помощь, Прокси, Кусты реестра, Powershell, Json, Автозапуск, Длиннопост

Идентификатор профиля указывает на профиль, который будет активирован при запуске, нумерация в JSON начинается с нуля, как для массивов, с единицы же в графическом интерфейсе программы, т.е. 0 соответствует 1 профилю, а 2 соответствует 3 профилю.

Идентификатор со значением -1919 говорит программе о том, что не нужно активировать ни один из доступных профилей.

Решение

Отлично, NekoRay настроили, в конфиге все перепроверили.. Осталось решить задачу с удалением сетевого интерфейса, ранее созданного утилитой, чтобы при перезагрузке или включении компьютера не словить проблем. Как я говорил ранее, про галочку Запускать вместе с системой забыли. Создаем файл AutorunNekoRay.ps1 рядом с nekobox.exe

C:\nekoray\AutorunNekoRay.ps1

Содержимое скрипта следующее

# Удаляем устройства с именем "sing-tun Tunnel"

foreach ($dev in (Get-PnpDevice | Where-Object { $_.Name -like "sing-tun Tunnel" })) {

# Запускаем pnputil для удаления устройства и ждем завершения процесса

Start-Process pnputil -ArgumentList "/remove-device", "$($dev.InstanceId)" -NoNewWindow -Wait

}

# Путь к exe файлу, который находится в той же папке, что и скрипт

$exePath = Join-Path -Path $PSScriptRoot -ChildPath "nekobox.exe"

# Запускаем nekobox.exe с аргументом -tray

Start-Process -FilePath $exePath -ArgumentList "-tray"

Стоит отметить, что в исходной конфигурации интерфейс в диспетчере устройств называется sing-tun Tunnel. Если меняли, то используем свое название, или смотрим что появилось в диспетчере с включенным режимом TUN.

Создаем файлы autorunEnable.reg (для добавления в автозапуск) и autorunDisable.reg (для удаления из автозапуска), их содержимое соответственно ниже. Проверяйте путь скрипта RemoveNetworkInterfaceTest.ps1!

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"RemoveNetworkInterfaceTest"="powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File \"C:\\nekoray\\RemoveNetworkInterfaceTest.ps1\""

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"RemoveNetworkInterfaceTest"=-

Чтобы утилита запускалась для всех пользователей — HKEY_CURRENT_USER необходимо заменить на HKEY_LOCAL_MACHINE в файлах .reg. Также рекомендую быть администратором в системе при использовании HKEY_CURRENT_USER, при использовании HKEY_LOCAL_MACHINE шансов выше, что утилита запуститься с правами администратора, от системного пользователя (касается не только NekoRay).

Запускаем autorunEnable.reg, соглашаемся со всем, что выскочит. Перезагружаем компьютер — радуемся.

Автозапуск Nekobox (NekoRay) под Windows в TUN режиме Windows, Программа, Инструкция, Компьютерная помощь, Прокси, Кусты реестра, Powershell, Json, Автозапуск, Длиннопост

Если что-то не работает перепроверяем именно конфиг (ну я по крайней мере решил, что это надежнее). Если все-таки трудности настигают киньте в комментарии скриншоты, где у вас nekobox.exe лежит, скрипта и файлов реестра (.reg), не забудьте конфиг nekobox.json попробуем разобраться 🫡

Возможно я тут много насквернословил и есть более простые решения обозреваемой задачи, поделитесь если знаете 🥲

Показать полностью 3
[моё] Windows Программа Инструкция Компьютерная помощь Прокси Кусты реестра Powershell Json Автозапуск Длиннопост
21
Партнёрский материал Реклама
specials
specials

Только каждый третий пикабушник доходит до конца⁠⁠

А сможете ли вы уложить теплый пол, как супермонтажник?

Проверить

Ремонт Теплый пол Текст
3
XPlas
8 месяцев назад

Долбанные миниатюры панели задач Windows 10 - Отключить!⁠⁠

Кто придумал эти штуки? Руки бы оторвать. Одно не точное движение мышью, и эта хрень закрывает элемент в который целился. По мотивам гуглинья, написал скрипт PowerShell, Который отключает эту дичь:

Write-Host Start Script

New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "ExtendedUIHoverTime" -Value "60000" -PropertyType "DWord"

taskkill /f /im explorer.exe

Start-Sleep -Seconds 1

cd C:\Windows\

C:\Windows\explorer.exe

Write-Host OK! Miniatyri Dosvidos!

Просто копируем в PowerShell и запускаем. Или можно сохранить в текстовом файле с расширением ".ps1", что-то вроде "script.ps1" и запустить.

[моё] Powershell Windows 10 Скрипт Текст
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии