Pull to refresh
28
23.1
Send message

Огромное спасибо за рекомендацию Jami, очень годная и интересная штука оказалась)

А можно подробнее про уязвимости?

Не работает в самом начале статьи, где запуск через стандартный скомпилированный бинарник? Или в другом месте?

Ну пока 0 😁

Запрос приходит только при вводе корректной связки логина/пароля.

(с ключами пока не добрался потестить)

Вы можете заменить содержимоеtelegram_auth.py из статьи на это, будут просто уведомления о логине по ssh и sftp.

Скрытый текст
#!/usr/bin/env python3

import requests
import sys
import os

# Укажите ваш токен бота и chat_id
TELEGRAM_BOT_TOKEN = "SET"
CHAT_ID = "SET"

# Получение информации о пользователе
def get_ssh_info():
    user = os.getenv('PAM_USER', 'Unknown')
    rhost = os.getenv('PAM_RHOST', 'Unknown')
    service = os.getenv('PAM_SERVICE', 'Unknown')
    tty = os.getenv('PAM_TTY', 'Unknown')
    
    return user, rhost, service, tty

# Функция отправки сообщения в Telegram
def send_telegram_message(message):
    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
    payload = {
        "chat_id": CHAT_ID,
        "text": message,
    }
    
    try:
        response = requests.post(url, json=payload)
        response.raise_for_status()
    except requests.exceptions.RequestException as e:
        print(f"Failed to send message: {e}")
        sys.exit(1)

# Основная логика выполнения
if __name__ == "__main__":
    user, rhost, service, tty = get_ssh_info()
    message = f"🔔 SSH Login Alert 🔔\nUser: {user}\nRemote Host: {rhost}\nService: {service}\nTTY: {tty}"
    send_telegram_message(message)

Замените f.write(answer.digits(16)) # Запись числа в 16-ричной системе на f.write(str(answer)) # Запись числа в десятичной системе

Интересно, что Python не уступает в скорости: 1 млрд - низкие 5 секунд :)

Код Python
import gmpy2
import time

def fib_next(f2, f1):
    return f1, f2 + f1

def fib_double(f3, f2):
    f6 = (f3 + f2 * 2) * f3
    f4 = (f3 * 2 - f2) * f2
    return f6, f6 - f4

def fib_get(N):
    R = N % 2
    N = (N + 1) // 2

    a = gmpy2.mpz(1)
    b = gmpy2.mpz(0)

    i = N.bit_length() - 1
    h = 1

    for i in range(i - 1, -1, -1):
        a, b = fib_double(a, b)
        h *= 2
        if N & (1 << i):
            a, b = fib_next(a, b)
            h += 1

    if R:
        a = a * a + b * b
    else:
        a = (a + b * 2) * a

    return a


if __name__ == "__main__":
    n = int(input("Enter the Fibonacci number: "))
    start_time = time.time()
    answer = fib_get(n)
    end_time = time.time()

    print(f"Calculation time: {end_time - start_time} seconds")
    with open("answer.txt", "w") as f:
        f.write(answer.digits(16))  # Запись числа в 16-ричной системе
    print("Finish")

1 миллиард: 5.22 сек

Hidden text

10 миллиардов: 77.17 сек

Hidden text

И это на ноутбуке с довольно стареньким Core i9 8950HK и TDP 35W.

Ну, кстати, не обращал внимания, но даже у RAK есть кит под эту штуку). У них прям отдельный продукт это.

https://store.rakwireless.com/products/wisblock-meshtastic-starter-kit

Да, разница по длине волны, конечно, огромная:
КВ:
λ3МГц​ ≈ 100м
λ30 МГц ≈ 10 м

СВЧ:
λ433МГц​ ≈ 0.69м
λ868МГц​ ≈ 0.35м

Кто-то даже создавал устройство, а-ля мессенджер судного дня на LoRa :)

Сценариев использования такой связи достаточно много, это правда. От того интересно взять описанный mvp и попробовать подстроить его под свои задачи. Потому что в статье описан, по сути, конструктор)

Все верно. И еще связь полудуплексная: либо слушаем, либо передаем.

Но частоту участники могут задать любую из диапазона модуля. Да и SF не обязательно всегда 12 использовать.

В зависимости от задачи большую часть проблем можно как-то решить/обыграть.

А так, в статье описан достаточно хороший mvp, чтобы на его базе уже что-то свое можно было сделать, если интересно)

Ну или можно обойтись смартфоном с подключением к модулю по BLE для отправки AT команд)

Вариантов всегда много, подходящий - каждый выбирает для себя сам)

Спасибо большое за предложения, с названием всегда трудно попасть) А с вашим предложением согласен.

Условия для покупки могу вылиться в отдельную статью на самом деле, там же везде свои нюансы. Если будет время, может и напишу что-то подобное, добавив сюда ссылку.

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

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

Если у вас отложились места, которые перескакивают, сообщите, пожалуйста, я постараюсь их дополнить/переписать, чтобы было связнее/понятнее.

Спасибо, вы правы :) Замылился глаз, не заметил.

Немного поправил абзац, теперь суть должна передаваться верно.

Олег, спасибо больше за статью! Было бы интересно почитать весь курс.

Очень понравилась интерпритация модели OSI на примере речи ??

Я около недели изучал, что есть на рынке mini PC в рамках алиэкспресса, и очень мне понравился бренд beelink (цены от 10к примерно). Даже заказал себе один на поиграться: https://aliexpress.ru/item/1005004009585758.html (не реклама, просто делюсь опытом). Суперская вещь, хорошое качество исполнения и сборки.

Посмотрие, может что приглянется подобное :)

1

Information

Rating
311-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity