Терминальный генератор одноразовых приватных записек, секреток аля ссылка-сокращалка.

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Сломался генератор секретных ссылок. Я когда-то его писал давненько, но теперь он перестал работать. Может API поменяли или аккаунты отлетел - хз. Исспользовал через зарегистрированный аккаунт и API ключ из профиля, поэтому лезем делать новый аккаунт.

Из Тор все хорошо открывается, это здорово.

Апи дока дурная

Готовый снипет на bash жесть просто. Делаем свой.
Но мне понравился простой вызов

curl -X POST -d 'secret=SECRET2&ttl=3600' https://onetimesecret.com/api/v1/share

Классно что анонимный

Получаем ответ:

{"custid":"anon","metadata_key":"1ze0452l3qvйedadуf57rvwmtrjbg51","secret_key":"13gfjtbswyrqyfhi3odпhb6w9q4zqf6","ttl":3600,"metadata_ttl":7200,"secret_ttl":3600,"state":"new","updated":1741819538,"created":1741409118,"recipient":[],"share_domain":"","passphrase_required":false}%

Делаем алиа чтобы можно было быстро делать секретыс

$ secret 'asdasdasd'

Алиас с оберкой в Tor выглядит так

alias secret='f() { torsocks bash /path/to/secret.sh "$1"; }; f';

Пробуем ...

Но видим клаудфлеер в ответе:

API Response: <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title>

Приехали. Может на анонимный запрос стоит более жесткая проверка? А хер его. Вообщем, похоже что не вариант.
Может у privnote есть API? Нет... Может какой-то терминальный paste сервис заюзать? Надо подумать...

Короче, у curl же юзер агент палевный! Просим deepseek сгенерить что-то более похоже на человеческий браузер.

Тестим:

Код: Скопировать в буфер обмена
Код:
torsocks curl -s -X POST \
  --compressed \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4471.120 Safari/531.31" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Referer: https://example.com/" \
  -H "Connection: keep-alive" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Origin: https://example.com" \
  -H "DNT: 1" \
  -H "Upgrade-Insecure-Requests: 1" \
  -c cookies.txt -b cookies.txt \
  --tlsv1.2 \
  -d "secret=$SECRET&ttl=3600" \
  https://onetimesecret.com/api/v1/share

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

Полный скрипт (цифры правим, не забываем про анонимность, сервис то буржуйский):

Bash: Скопировать в буфер обмена
Код:
#!/bin/bash

# Check if a secret is provided
if [ -z "$1" ]; then
  echo "Usage: $0 'your secret here'"
  exit 1
fi

# Assign the secret to a variable
SECRET="$1"

# Send the secret to OneTimeSecret API with browser-like headers
RESPONSE=$(curl -s -X POST \
  --compressed \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4471.120 Safari/531.31" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Referer: https://example.com/" \
  -H "Connection: keep-alive" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "Origin: https://example.com" \
  -H "DNT: 1" \
  -H "Upgrade-Insecure-Requests: 1" \
  -c cookies.txt -b cookies.txt \
  --tlsv1.2 \
  -d "secret=$SECRET&ttl=3600" \
  https://onetimesecret.com/api/v1/share)

# Check if the request was successful
if [ $? -eq 0 ]; then
  # Extract the secret_key from the JSON response using jq
  SECRET_KEY=$(echo "$RESPONSE" | jq -r '.secret_key')

  # Check if the secret_key was extracted successfully
  if [ -z "$SECRET_KEY" ]; then
    echo "Failed to extract secret_key from the API response."
    echo "API Response: $RESPONSE"
    exit 1
  fi

  # Construct the full link
  FULL_LINK="https://onetimesecret.com/secret/$SECRET_KEY"

  # Output the full link
  echo "$FULL_LINK"
else
  echo "Failed to share the secret."
  exit 1
fi

View hidden content is available for registered users!
 
Сверху Снизу