Проблема с подключением Hamachi
Проблема заключается в том, что через время пропадает соединение на короткое время и требует аутентификацию с паролем, переустановка не помогла. Что может быть? Использую Haguichi.
Перемещено hobbit из general
Проблема заключается в том, что через время пропадает соединение на короткое время и требует аутентификацию с паролем, переустановка не помогла. Что может быть? Использую Haguichi.
Перемещено hobbit из general
Просто офигел, даже не думал, что настолько все плохо стало буквально лет за 10 и даже меньше. Современные машины стали даже хуже мобилок по части шпионства за юзером, производители обнаглели сверх всякой меры, это какой-то беспредел уже просто.
Вот статья на опеннете https://www.opennet.ru/opennews/art.shtml?num=59725
Современные машины оснащены датчиками, камерами и микрофонами, фиксирующими каждое движение пользователя. Собираемая информация также охватывает действия водителя, используемые сервисы, мобильные приложения и данные из сторонних систем, таких как Sirius XM и Google Maps. Среди прочего, автомобильные системы могут собирать показатели здоровья водителя, данные о прослушиваемых музыкальных композициях, сведения о том, где и с какой скоростью осуществляется движение. Более того, Nissan и Kia упоминают в политике конфиденциальности возможность сбора данных о сексуальной активности, а ещё шесть производителей допускают сбор генетической информации. На основе собранной информации делаются выводы об интересах, предпочтениях, интеллекте и способностях водителя.
И все это еще и может быть передано кому угодно фактически.
В комментариях есть о том, что еще и остановить слив телеметрии технически очень сложно. В коммуникационные модули фактически встроен сотовый с есимкой, предоплаченной где-то лет на 10. И через сотовые по всему миру льется неотключаемая телеметрия. При этом владелец даже номера «мобилы» своей машины не имеет права знать.
И разумеется все эти канбасы и дата контрол модули проприетарные и зашифрованные и если чего не так легко окирпичить автомобиль.
https://www.opennet.ru/openforum/vsluhforumID3/131444.html#173
https://www.toyota.com/privacyvts кликаешь на «collect & use» и удивляйся: On a Regular and Continuous Basis, We Collect and Use Your: Account Information, Vehicle Information, Location Data, Remote Data, Driving Data, Profile Data, Interior Image Data, Exterior Image Data, Facial Geometric Features,Vehicle Health Data, Multimedia Screen Data, Voice Recordings, Voice Recognition Recordings
и ключике от машины не отдадут пока не подпишешся что согласен, так же как и с мобилами, - типа «согласен со всеми зондами», т.к. хочу игруху. Еще прув? Смотрите на головной юнит, там иконка есть показывающая переодически активность телеметрии (иногда по несколько раз в день а иногда молчит, когда ездишь не лихо)
Жесть, просто жесть
Состоялся выпуск P2P VPN 0.11.2 - реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекер или BitTorrent DHT, либо через других участников сети.
Список изменений:
>>> Подробности (gitlab.com)
Проблема такая есть смартфон (Vivo V17 NEO прошивка стоковая не рутированный, без USB Debagging без custom recovery стоит графический 4 значный ключ, вопрос в том можно ли его как-то разлочить из под линукса (смартфон находится в режиме MTP)? Снятие ключа nethunter’ом не предлагать!!! Короче говоря нужен или хард ресет или доступ к фс смартфона.
Раньше до появления TRIM в HDD логика была понятная: блоки с меньшими адресами располагались в начале диска и потому линейная скорость была выше. Скорость в конце диска могла упасть в несколько раз. Был смысл делить диск на два раздела: с относительно быстро доступными данными и с более медленными. Небольшой хаос вносили переназначенные блоки.
Потом придумали SMR, за ней логично добавили TRIM. Какие последствия это имеет?
Значит ли это, что контроллер HDD теперь сам решает, в какую область писать данные, независимо от логических адресов? Если да, то насколько независимо?
Не получится ли так, что сначала заполнив второй, якобы медленный раздел, я получу замедление работы с первым?
А как определяется привязка ip к сайту в случае https ? Т е если кто-то написал гадость, то идет запрос к прову, кто в данным момент сидел на какой-то странице ? Но ведь результатов может быть несколько ?
Перемещено hobbit из general
Firefox 110, на оффтопике.
В контекстном меню меня радует текст «Скопировать» вместо «Копировать». Кажется, на маках была аналогичная ситуация.
Помянем?
Опуская вопросы того, как такие вещи именовать правильно с точки зрения семантики, всё таки во многом стоит вопрос пользовательского опыта. Я почему вообще заметил — потому что в какой-то момент эту кнопку просто потерял. Потом вот нашёл, потому что она стала другой. Ну допустим. Зачем мне в системе разные наименования в разных местах?
Ну и на засыпку — на онтопике также? С графикой нет ничего под рукой.
Как и где храните ключ от GPG? А если пользуетесь Алойэ Вера, тьфу, VeraCrypt, то всё равно же ключ в какой-то момент нужно будет переносить на новый комп, поэтому его всё равно нужно куда-то бэкапить, хранить, и чтобы безопасно.
Со всеми потрохами, ей было 6 лет, как и серверу у которого uptime такой же. Просто дико rm -rf / home...
Закончилось масло для тримера, которое использовалось для смазки кулеров (ну и триммера) — оно всем устраивало. Если заказывать аналогичное, то оно несколько неадекватно по цене и ждать минимум неделю.
Из того, что можно пойти и купить:
Собственно возник вопрос о густоте ПМС-100 — оно по старому видео на Ютубе уже кажется гуще масла для тримеров, а тут упоминались, как подходящие для смазки, ещё более густые ПМС-200 и ПМС-400. Оно только кажется, что ПМС-100 гуще масла для тримеров или нет?
fooyin – это аудиопроигрыватель, созданный на Qt6 в стиле Foobar2000. На данный момент нативно доступен только на Linux. Плеер доступен по лицензии GNU GPL 3.
fooyin предлагает большое количество индивидуальных настроек для управления и воспроизведения музыкальной коллекции. Его можно расширить с помощью плагинов и языка FooScript. Воспроизведение звука поддерживается FFmpeg наряду с несколькими вариантами вывода, включая ALSA и PipeWire.
( читать дальше... )
>>> Подробности (github.com)
Здесь можете пофлудить об опыте работы с docker, podman, а также выразить своё неудовольствие этим программным решением.
Моя проблема: Контейнер с изменениями после отключения (podman stop ID, или обычном CTRL+C) при следующем включении (podman start ID, podman attach ID) запускается как неизменённый.
Что я делаю: Запускаю образ local-ai: podman run -p 8080:8080 --name local-ai -ti localai/localai:latest-aio-gpu-intel-f32. Образ запущенный в контейнере начинает работу: сразу же начинает скачивание ИИ моделей. После скачивания предлагает перейти в веб-интерфейс. Но! Вот мне надо выключить комп или попросту завершить «работу», как сохранить загруженные модели?
К тому же, подумал забить на это и настроить веб-интерфейс для podman.
Решение проблемы: Чтобы остановить — podman stop local-ai, чтобы потом продолжить — podman start local-ai. Всё сохранится! То есть подставить указанный --name.
Вывод: Докер — шляпа
Перемещено leave из talks
Недавно было высказано мнение, что Virtualbox фуфло и нет никакого смысла в нем даже для запуска Windows в качестве гостя.
Я задумался, и решил пропробовать поднять Windows 10 гость через Virt Manager.
И уперся в казалось бы, простейший вопрос - как создать shared папку? Кто использует винду на KVM, подскажите, как вы делаете.
ИТАК, РЕШЕНИЕ!!! Со встроенной в qemu самбой. Есть в треде, но там пропущен один пункт и оно не работает. Здесь - полное.
Создаем виртуальную машину с Win10 в Virt Manager, все по дефолту.
Удаляем сетевую карту (дефолтную) из оборудования.
Включаем редактирование XML в настройках Virt Manager, переходим на вкладку XML и добавляем:
В тег <domain>
xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0"
И одновременно с этим - именно одновременно! Иначе никакие изменения сохраняться не будут! Меняем /path/to/folder на свой путь.
В конец перед </domain>
<qemu:commandline>
<qemu:arg value="-net"/>
<qemu:arg value="nic"/>
<qemu:arg value="-net"/>
<qemu:arg value="user,smb=/path/to/folder>
</qemu:commandline>
<video>
<model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
<alias name="video0"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
</video>
security_default_confied = 0
seccomp_sandbox = 0
security_driver = "none"
7.После этого в винде:
Проводник -> Этот компьютер -> Подключить сетевой диск
на адрес
\\10.0.2.4\qemu
ВАЖНО!!! Чтобы был доступ не только на чтение, qemu должен иметь права на работу с расшаренной папкой. А через Virt Manager он запускается по умолчанию не от имени текущего пользователя! (В отличие от прямого запуска qemu_system из консоли, как многие тут любят, и с чем проблемы нет).
Исправляем это в /etc/libvirt/qemu.conf
user = "username"
group = "groupname"
где username, groupname это ваш текущий пользователь и группа, которому принадлежит расшариваемая папка!
Плюс к этому - есть способ через Virtio FS, расписан тут (linux.org.ru). Подключает папку как локальный диск, без всякой самбы, и с высокой производительностью. Но - там какие-то заморочки с правами на запись, я пока не разобрался, и в этом случае перестает работать Выключить -> Сохранить (состояние виртуалки).
Вот ссылка на источник, из которого брался процесс настройки для этого случая
https://libvirt.org/kbase/virtiofs.html
А кто неосилятор - тот может запустить системную самбу, вместо встроенной в Qemu и порадоваться красивому костылизму.
насмотрелся видео, начитался статей о том, какой systemd плохой, и полез с arch на artix, а вот статей о том, какую альтернативу выбрать - не нашел.
ладно, полез на ютуб смотреть сравнения, но все варьировалось от дистрибутива, да и многие уже утеряли свою актуальность. опять ладно, начал тестировать на виртуальной машине, из за кривизны ручек какого то объективного сравнения у меня не получилось, но лидировал s6, потом пребегнул к нейросети, которая конечно пыталась убедить меня остаться на systemd, но все таки сказала что s6 будет быстрее, но как она сказала, не стабильный. и вот уже какую неделю я скитаюсь по статьям и видео, так и не могу найти оптимального для себя варианта, а желательно самого быстрого, можно даже не сильно стабильного варианта.
изменено: накатил s6, стало даже хуже. вернулся к systemd)
При всей нелюбви к смартфонам, всегда хотел ставить другие системы без задротства, без попунктового следования руководствам, чтобы иметь ПКшный смартфон у себя в кармане.
Желания новый смартфон покупать, просто потому что у меня что-то перестало или не так работает, как мне б хотелось — нет. В общем, капиталистическая политика не нравится: покупать новое, пока работает старое. Компы всегда использую на полную, и как можно дольше.
Соответственно, приглашаю отписаться знающих, и только про осуществление(я) UEFI на обычном ARM смартфоне: x86-е не предлагать!
Имеется убунту лтс и установленной в qemu w10. Как сделать общую папку для данной связки?
Прочитал я намедни, такую новость 8-летний ребёнок без опыта программирования создал чат-бота за 45 минут, ролик стал вирусным. Ясно, что кликбейт, ЛПП и прочие нехорошие слова… Но я решил проверить на что же способен ChatGPT. Признаюсь, я его использую для написания простых скриптов на 300-500 строчек кода. Сегодня я решил проверить правда или миф сия кликбейтная новость… и она оказалась правдой (частично).
Я до этого не писал ботов для Телеграм. Да, я знаю Python, знаю какие библиотеки для это используются, так как сидя в чате про Python с соевыми омега-обрыганами и школьниками, постоянно вижу вопросы про aiogram.
Началось все с такого задания:
Напиши мне на Python чат-бота. Алгоритм работы такой. Сторонний пользователь пишет сообщение и оно отправляется в чат к владельцу бота. Если владелец бота отвечает на конкретное сообщение то бот его пересылает лицу которое его отправило, если просто отвечает то сообщение отправляется последнему написавшему
На что он мне родил такой код:
import telebot
from collections import defaultdict
# Токен вашего бота
API_TOKEN = 'YOUR_API_TOKEN_HERE'
bot = telebot.TeleBot(API_TOKEN)
# Хранилище сообщений (user_id -> last_message)
user_last_message = {}
# Хранилище последних сообщений каждого пользователя, отправленных владельцу
message_store = defaultdict(list)
# ID владельца бота
OWNER_ID = 'YOUR_OWNER_ID_HERE'
@bot.message_handler(func=lambda message: True)
def handle_message(message):
user_id = message.from_user.id
if user_id == OWNER_ID:
# Ответ от владельца
if message.reply_to_message:
# Если владелец отвечает на конкретное сообщение
original_message_id = message.reply_to_message.message_id
for uid, msg_list in message_store.items():
for msg in msg_list:
if msg.message_id == original_message_id:
bot.send_message(uid, f"Ответ на ваше сообщение: {message.text}")
return
else:
# Если владелец отвечает без привязки
if user_last_message:
last_user_id = max(user_last_message, key=user_last_message.get)
bot.send_message(last_user_id, f"Ответ от владельца: {message.text}")
else:
# Сообщение от пользователя
bot.send_message(OWNER_ID, f"Сообщение от {message.from_user.username} (id: {user_id}): {message.text}")
user_last_message[user_id] = message.message_id
message_store[user_id].append(message)
bot.polling()
Устроил ли он меня? - Нет. Я люблю асинхронщину:
Используй какую нибудь асинхронную библиотек, храни данные в sqlite. Владельцу добавь кнопки типа заблокировать, очистить диалог (есть ли у бота возможность очищать диалог?). Напиши Dockerfile и docker-compose для запуска.
Был высран такой код:
import asyncio
import aiosqlite
from aiogram import Bot, Dispatcher, types
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
from aiogram.filters import Text, Command
from aiogram.fsm.storage.memory import MemoryStorage
# Токен вашего бота
API_TOKEN = 'YOUR_API_TOKEN_HERE'
# ID владельца бота
OWNER_ID = 'YOUR_OWNER_ID_HERE'
# Инициализация бота и диспетчера
bot = Bot(token=API_TOKEN)
dp = Dispatcher(storage=MemoryStorage())
# Подключение к базе данных
async def init_db():
async with aiosqlite.connect('bot.db') as db:
await db.execute('''CREATE TABLE IF NOT EXISTS users
(user_id INTEGER PRIMARY KEY, blocked INTEGER DEFAULT 0)''')
await db.execute('''CREATE TABLE IF NOT EXISTS messages
(user_id INTEGER, message_id INTEGER, content TEXT)''')
await db.commit()
# Кнопки управления
def owner_keyboard(user_id):
builder = InlineKeyboardBuilder()
builder.add(
InlineKeyboardButton(text="Заблокировать", callback_data=f"block_{user_id}"),
InlineKeyboardButton(text="Очистить диалог", callback_data=f"clear_{user_id}")
)
return builder.as_markup()
# Обработчик сообщений от пользователя
@dp.message(Command(commands=['start']))
async def start(message: types.Message):
await message.answer("Привет! Отправь мне сообщение, и я перешлю его владельцу.")
@dp.message()
async def forward_to_owner(message: types.Message):
user_id = message.from_user.id
async with aiosqlite.connect('bot.db') as db:
async with db.execute("SELECT blocked FROM users WHERE user_id = ?", (user_id,)) as cursor:
row = await cursor.fetchone()
if row and row[0] == 1:
await message.answer("Вы заблокированы.")
return
await db.execute("INSERT INTO messages (user_id, message_id, content) VALUES (?, ?, ?)",
(user_id, message.message_id, message.text))
await db.commit()
# Пересылка сообщения владельцу
keyboard = owner_keyboard(user_id)
await bot.send_message(OWNER_ID, f"Сообщение от {message.from_user.username} (id: {user_id}): {message.text}", reply_markup=keyboard)
# Обработчик сообщений от владельца
@dp.message(lambda message: message.from_user.id == int(OWNER_ID))
async def handle_owner_reply(message: types.Message):
if message.reply_to_message:
# Если ответ на конкретное сообщение
original_message = message.reply_to_message.text.split("(id: ")[-1].rstrip('):')
target_user_id = int(original_message)
await bot.send_message(target_user_id, f"Ответ от владельца: {message.text}")
else:
async with aiosqlite.connect('bot.db') as db:
async with db.execute("SELECT user_id FROM messages ORDER BY rowid DESC LIMIT 1") as cursor:
row = await cursor.fetchone()
if row:
last_user_id = row[0]
await bot.send_message(last_user_id, f"Ответ от владельца: {message.text}")
# Обработчик кнопок
@dp.callback_query(Text(startswith="block_"))
async def block_user(callback: types.CallbackQuery):
user_id = int(callback.data.split("_")[1])
async with aiosqlite.connect('bot.db') as db:
await db.execute("UPDATE users SET blocked = 1 WHERE user_id = ?", (user_id,))
await db.commit()
await callback.message.answer(f"Пользователь {user_id} заблокирован.")
@dp.callback_query(Text(startswith="clear_"))
async def clear_dialog(callback: types.CallbackQuery):
user_id = int(callback.data.split("_")[1])
async with aiosqlite.connect('bot.db') as db:
await db.execute("DELETE FROM messages WHERE user_id = ?", (user_id,))
await db.commit()
await callback.message.answer(f"Диалог с пользователем {user_id} очищен.")
async def main():
await init_db()
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
В целом как основа я подошел. Композ и докерфайл были правильными. Докерфайл я попросил переписать для использования alpine.
На это у меня ушло 6 запросов. После чего я переписал творчество бота, добавил логгирование, argparse и тп. Я скинул боту код с исправлениями:
<код>
Перепиши его. В общем когда боту пишет пользователь, то сообщение должно пересылаться полностью со всеми файлами и вложениями, а не только текст. Когда владелец просто пишет в чат с ботом, то ответ приходить должен последнему написавшему стороннему пользователю, если владелец отвечает (Reply) на конкретно сообщение, то ответ пересылается ботом в чат с этим пользователем.
То что он родил меня опять не устроило:
Убери это. await bot.send_message(args.owner_id, forward_text). Айди отправившего сообщения в базе. Когда мы отвечаем на сообщение, то нужно смотреть в базе кто его отправитель. Те нужно создать еще одну таблицу.
Но бот меня не понял:
Эта таблица должна выглядеть так:
CREATE TABLE IF NOT EXISTS messages (
message_id INTEGER PRIMARY KEY,
sender_id INTEGER,
)
Так же нужно добавить таблицу user_info где хранить записи типа user_id, fullname, username. Эти данные каждый раз обновляются когда пишет пользователь. Из этой же таблицы берутся данные, когда нажимаешь на кнопку Кто отправитель?
После еще пары перепиываний кода, я окончательно забил на интеллект этот и переписал уже все сам…
Из грубых ошибок в коде отмечу это:
def owner_keyboard(message_id: int) -> InlineKeyboardMarkup:
"""Создает клавиатуру с кнопками управления для владельца."""
keyboard = InlineKeyboardMarkup()
keyboard.add(
InlineKeyboardButton(
text="👁️ Whois",
callback_data=f"view_user_{message_id}",
),
InlineKeyboardButton(
text="🚫 Ban", callback_data=f"block_{message_id}"
),
)
return keyboard
Это какой-то неправильный счинтаксис из-за которого бот, написанный ChatGPT падал. Я это фрагмент переписал так:
def owner_keyboard(user_id: int) -> InlineKeyboardMarkup:
"""Создает клавиатуру с кнопками управления для владельца."""
return InlineKeyboardMarkup(
inline_keyboard=[
[
InlineKeyboardButton(
text="👁️ Кто это?",
callback_data=f"whois_{user_id}",
),
InlineKeyboardButton(
text="🚫 Бан",
callback_data=f"block_{user_id}",
),
],
]
)
Так же мне пришлось добавить обработку ошибок:
# https://docs.aiogram.dev/en/latest/dispatcher/errors.html
@dp.error()
async def error_handler(event: ErrorEvent):
logger.error("Error caused by %s", event.exception, exc_info=True)
Сделать закрытие курсоров после использования:
# Такое
cursor = await db_connection.execute(
"SELECT sender_id FROM messages ORDER BY ROWID DESC LIMIT 1"
)
result = await cursor.fetchone()
return result[0] if result else None
# Заменять на это
async with connection.execute(
"SELECT sender_id FROM message_senders WHERE message_id = ?",
(message_id,),
) as cursor:
result = await cursor.fetchone()
return result[0] if result else None
# Что аналогично
cursor = await execute()
result = await cursor.fetchone()
try:
return result[0] if result else None
finally:
await cursor.close()
Я переписал создание таблиц и часть запросов.
Меня порадовало то, что ChatGPT может генерировать довольно таки грамотные запросы:
await connection.execute(
"""
INSERT INTO user_info (user_id, full_name, username)
VALUES (?, ?, ?)
ON CONFLICT(user_id) DO UPDATE SET
full_name=excluded.full_name,
username=excluded.username,
updated_at=CURRENT_TIMESTAMP
""",
(user_id, full_name, username),
)
И вот что вышло:
https://github.com/s3rgeym/feedback-tgbot/tree/main
Протестировать можно тут:
Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…
( читать дальше... )
Уже много лет пользуюсь домашним роутером Asus RT-N66U. Роутер неплох, только вот постоянно роняет VPN соединение. Посоветуйте пожалуйста роутер, более пригодный для VPN, с учётом, что к роутеру будут подключены до 3 устройств одновременно
Делаю по инструкции, blockcheck в конце выдал
* SUMMARY
ipv4 youtube.com curl_test_http : working without bypass
ipv4 youtube.com curl_test_https_tls12 : tpws --split-tls=sni
ipv4 youtube.com curl_test_https_tls12 : nfqws --dpi-desync=split2 --dpi-desync-split-pos=50
Please note this SUMMARY does not guarantee a magic pill for you to copy/paste and be happy.
Understanding how strategies work is very desirable.
This knowledge allows to understand better which strategies to prefer and which to avoid if possible, how to combine strategies.
Blockcheck does it's best to prioritize good strategies but it's not bullet-proof.
It was designed not as magic pill maker but as a DPI bypass test tool.
press enter to continueСделал
root@ryzen:/opt/zapret# ./install_easy.sh
* checking system
system is based on systemd
* checking executables
found architecture "x86_64"
* checking privileges
* checking readonly system
* checking location
running from /opt/zapret
* checking DNS
system DNS is working
* checking virtualization
running on bare metal
* stopping zapret service
Failed to disable unit: Unit file zapret.service does not exist.
Failed to stop zapret.service: Unit zapret.service not loaded.
select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) :
selected : iptables
* checking prerequisites
required utilities exist : curl ip6tables ipset iptables
* installing binaries
x86_64 is OK
installing binaries ...
linking : ../binaries/x86_64/ip2net => /opt/zapret/ip2net
linking : ../binaries/x86_64/mdig => /opt/zapret/mdig
linking : ../binaries/x86_64/nfqws => /opt/zapret/nfq
linking : ../binaries/x86_64/tpws => /opt/zapret/tpws
enable ipv6 support (default : N) (Y/N) ?
select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : tpws) : 1
selected : tpws
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob"
do you want to edit the options (default : N) (Y/N) ? Y
..edited..
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob --split-tls=sni"
do you want to edit the options (default : N) (Y/N) ?
select LAN interface to operate in router mode. select NONE for local outgoing traffic only.
WARNING ! This installer will not configure routing, NAT, ... for you. Its your responsibility.
LAN interface :
1 : NONE
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : NONE) :
selected : NONE
select WAN interface for tpws operations. select ANY to operate on any interface.
WAN interface :
1 : ANY
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : ANY) : 2
selected : enp25s0
enable http support (default : Y) (Y/N) ?
enable https support (default : Y) (Y/N) ?
select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : none) : 2
selected : ipset
do you want to auto download ip/host list (default : Y) (Y/N) ?
1 : get_user.sh
2 : get_antifilter_ip.sh
3 : get_antifilter_ipsmart.sh
4 : get_antifilter_ipsum.sh
5 : get_antifilter_ipresolve.sh
6 : get_antifilter_allyouneed.sh
7 : get_reestr_resolve.sh
8 : get_reestr_preresolved.sh
9 : get_reestr_preresolved_smart.sh
your choice (default : get_antifilter_ipsmart.sh) :
selected : get_antifilter_ipsmart.sh
* installing zapret service
Created symlink /etc/systemd/system/multi-user.target.wants/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
Created symlink /etc/systemd/system/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
* downloading blocked ip/host list
setting high oom kill priority
clearing all known DNS caches
DNS is working
digging 6 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-exclude.txt
mdig stats : 00:00:00 : domains=6 success=4 error=2
digging 1 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user.txt
mdig stats : 00:00:00 : domains=1 success=0 error=1
digging 0 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-ipban.txt
mdig stats : 00:00:00 : domains=0 success=0 error=0
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 416k 100 416k 0 0 438k 0 --:--:-- --:--:-- --:--:-- 437k
setting high oom kill priority
reloading ipset backend (forced-update)
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip.txt
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip-user.txt
Adding to ipset ipban : /opt/zapret/ipset/zapret-ip-user-ipban.txt
Adding to ipset nozapret : /opt/zapret/ipset/zapret-ip-exclude.txt
* installing zapret-list-update timer
Failed to disable unit: Unit file zapret-list-update.timer does not exist.
Failed to stop zapret-list-update.timer: Unit zapret-list-update.timer not loaded.
Created symlink /etc/systemd/system/timers.target.wants/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
Created symlink /etc/systemd/system/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
* starting zapret service
press enter to continueПолучаю на ютубе
Ошибка. Повторите попытку позже. Идентификатор воспроизведения: ...И ЛОР тоже не грузится.
Попробовал по-другому
root@ryzen:/opt/zapret# ./install_easy.sh
* checking system
system is based on systemd
* checking executables
found architecture "x86_64"
* checking privileges
* checking readonly system
* checking location
running from /opt/zapret
* checking DNS
system DNS is working
* checking virtualization
running on bare metal
* stopping zapret service
Removed /etc/systemd/system/multi-user.target.wants/zapret.service.
Removed /etc/systemd/system/zapret.service.
select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) :
selected : iptables
* checking prerequisites
required utilities exist : curl ip6tables ipset iptables
* installing binaries
x86_64 is OK
installing binaries ...
linking : ../binaries/x86_64/ip2net => /opt/zapret/ip2net
linking : ../binaries/x86_64/mdig => /opt/zapret/mdig
linking : ../binaries/x86_64/nfqws => /opt/zapret/nfq
linking : ../binaries/x86_64/tpws => /opt/zapret/tpws
enable ipv6 support (default : N) (Y/N) ?
select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : tpws) : 3
selected : nfqws
NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum"
NFQWS_OPT_DESYNC_HTTP=""
NFQWS_OPT_DESYNC_HTTPS=""
NFQWS_OPT_DESYNC_HTTP6=""
NFQWS_OPT_DESYNC_HTTPS6=""
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=6"
NFQWS_OPT_DESYNC_QUIC6=""
do you want to edit the options (default : N) (Y/N) ? Y
..edited..
NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum"
NFQWS_OPT_DESYNC_HTTP=""
NFQWS_OPT_DESYNC_HTTPS="--dpi-desync=split2 --dpi-desync-split-pos=50"
NFQWS_OPT_DESYNC_HTTP6=""
NFQWS_OPT_DESYNC_HTTPS6=""
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=6"
NFQWS_OPT_DESYNC_QUIC6=""
do you want to edit the options (default : N) (Y/N) ?
select WAN interface for nfqws operations. select ANY to operate on any interface.
WAN interface :
1 : ANY
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : enp25s0) : 2
selected : enp25s0
enable http support (default : Y) (Y/N) ?
enable keep alive support only if DPI checks every outgoing packet for http signature
dont enable otherwise because it consumes more cpu resources
enable http keep alive support (default : N) (Y/N) ?
enable https support (default : Y) (Y/N) ?
enable quic support (default : N) (Y/N) ?
select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : ipset) :
selected : ipset
do you want to auto download ip/host list (default : Y) (Y/N) ?
1 : get_user.sh
2 : get_antifilter_ip.sh
3 : get_antifilter_ipsmart.sh
4 : get_antifilter_ipsum.sh
5 : get_antifilter_ipresolve.sh
6 : get_antifilter_allyouneed.sh
7 : get_reestr_resolve.sh
8 : get_reestr_preresolved.sh
9 : get_reestr_preresolved_smart.sh
your choice (default : get_antifilter_ipsmart.sh) :
selected : get_antifilter_ipsmart.sh
* installing zapret service
Created symlink /etc/systemd/system/multi-user.target.wants/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
Created symlink /etc/systemd/system/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
* downloading blocked ip/host list
setting high oom kill priority
clearing all known DNS caches
DNS is working
digging 6 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-exclude.txt
mdig stats : 00:00:00 : domains=6 success=4 error=2
digging 1 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user.txt
mdig stats : 00:00:00 : domains=1 success=0 error=1
digging 0 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-ipban.txt
mdig stats : 00:00:00 : domains=0 success=0 error=0
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 416k 100 416k 0 0 511k 0 --:--:-- --:--:-- --:--:-- 511k
setting high oom kill priority
reloading ipset backend (forced-update)
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip.txt
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip-user.txt
Adding to ipset ipban : /opt/zapret/ipset/zapret-ip-user-ipban.txt
Adding to ipset nozapret : /opt/zapret/ipset/zapret-ip-exclude.txt
* installing zapret-list-update timer
Removed /etc/systemd/system/zapret-list-update.timer.
Removed /etc/systemd/system/timers.target.wants/zapret-list-update.timer.
Created symlink /etc/systemd/system/timers.target.wants/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
Created symlink /etc/systemd/system/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
* starting zapret service
press enter to continue
Та же самая ошибка на ютубе, но ЛОР есть.
Только тапками и помидорами не кидайтесь, а помогите по-доброму, а то я новичок.
UPD
UPD 2
| ← назад | следующие → |