карта ловелаз
Код: Выбрать все
type: markdown
content: >
{% set value = states('sensor.hashcat_results') %} {% set lines =
value.split('\n') %} {% for line in lines %}
{% set parts = line.split(':') %}
{% if parts | length >= 5 %}
**Имя**: {{ parts[3] }}
**Пароль**: {{ parts[4] }}
<br>
{% else %}
Неверный формат данных в строке: {{ line }}
<br>
{% endif %}
{% endfor %}
title: Капуши
сенсор yaml
Код: Выбрать все
sensor:
- platform: file
name: Hashcat Results
file_path: /config/www/uploads/hashcat_results.txt
value_template: "{{ value }}"
Код: Выбрать все
file_uploader:
panel_custom:
- name: file-uploader
sidebar_title: "Загрузка файлов"
sidebar_icon: "mdi:upload"
module_url: /local/file-uploader.js
config:
upload_path: /config/uploads
file-uploader.js
Код: Выбрать все
class FileUploader extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
set hass(hass) {
if (!this.content) {
const card = document.createElement("ha-card");
card.header = "Загрузка файлов";
this.content = document.createElement("div");
this.content.style.padding = "16px";
card.appendChild(this.content);
this.shadowRoot.appendChild(card);
this.input = document.createElement("input");
this.input.type = "file";
this.input.style.marginRight = "16px";
this.content.appendChild(this.input);
this.button = document.createElement("button");
this.button.innerText = "Загрузить";
this.content.appendChild(this.button);
this.button.addEventListener("click", () => {
const file = this.input.files[0];
if (!file) {
alert("Пожалуйста, выберите файл для загрузки");
return;
}
// Вставьте ваш токен сюда
const accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkN2I0YjRiMDFmMDU0YjYyODM0OTY5MmFjOGJlOWZmYiIsImlhdCI6MTcyMjk1Mzg4MCwiZXhwIjoyMDM4MzEzODgwfQ.jbvnK3DvZBMt9zGlRdcCkRp8E9_T_uq06VddlkPjryU";
const formData = new FormData();
formData.append("file", file, file.name);
fetch("/api/file_uploader/upload", {
method: "POST",
body: formData,
headers: {
"Authorization": "Bearer " + accessToken
}
})
.then(response => response.text())
.then(data => alert(data))
.catch(error => alert("Ошибка загрузки файла: " + error));
});
}
}
setConfig(config) {
this.config = config;
}
getCardSize() {
return 1;
}
}
customElements.define("file-uploader", FileUploader);
скрипты cron
Код: Выбрать все
apt install hashcat
apt install hcxtools