Admin
Администратор
Терминальный генератор одноразовых приватных записек, секреток аля ссылка-сокращалка.
Сломался генератор секретных ссылок. Теперь он перестал работать. Может API поменяли или аккаунты отлетел - хз. Использовал через зарегистрированный аккаунт и API ключ из профиля, поэтому лезем делать новый аккаунт.Из Тор все хорошо открывается, это здорово.
Апи дока дурная
Код:
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