Anon.Cat API

پتہ

فائل کو POST کے ذریعے https://up.anon.cat/upload پر بھیجیں؛ پہلے سے طے شدہ طور پر آپ کو json میں جواب ملے گا۔

اگر json کے علاوہ کوئی اور فارمیٹ چاہیے تو ایک پیرامیٹر لگا دیں جو فارمیٹ بتائے، مثلاً https://up.anon.cat/upload?output=csv۔

درست جواب کی اقسام یہ ہیں: json، csv، text، html اور gyazo۔

ہر درخواست میں ایک فائل، 1 GB تک۔

curl کی مثال

curl -i -F files[]=@yourfile.jpeg https://up.anon.cat/upload

درخواست کے باڈی میں براہِ راست اپ لوڈ

آپ فائل کو multipart فارم کے بجائے سیدھا درخواست کے باڈی میں بھی بھیج سکتے ہیں، اور نام کوئری میں دے سکتے ہیں۔ بڑی فائلوں کے لیے یہی بہتر راستہ ہے: سائز شروع ہی سے معلوم ہوتا ہے، multipart کا خول نہیں ہوتا، اور سائٹ خود بھی یہی کرتی ہے۔

curl -i -T yourfile.iso "https://up.anon.cat/upload?filename=yourfile.iso"

دونوں طریقے فائل کو سیدھا CDN تک پہنچاتے ہیں، اس لیے کوئی بھی سرور کی ڈسک کی جگہ سے محدود نہیں ہوتا۔

میٹا ڈیٹا ہٹانا

scrub=1 لگانے سے فائل CDN کی طرف جاتے ہوئے اپنے میٹا ڈیٹا سے پاک ہو جاتی ہے: JPEG سے Exif اور GPS، PNG سے متن اور eXIf کے حصے، WebP سے Exif اور XMP۔ تصویر کے پکسل نہیں چھیڑے جاتے، اور جو ان تین شکلوں میں سے نہ ہو وہ بالکل ویسے ہی محفوظ ہوتا ہے جیسے بھیجا گیا تھا۔

curl -i -T photo.jpg "https://up.anon.cat/upload?filename=photo.jpg&scrub=1"

ویب سائٹ ہر اپ لوڈ کے ساتھ یہ بھیجتی ہے۔ دوبارہ شروع ہونے والے اپ لوڈ میں یہ پیرامیٹر ہر حصے پر نہیں بلکہ /upload/finish کی کال پر لگتا ہے۔

نوٹس API

Anon.Notes کا اپنا API ہے، اور یہ اوپر والے اپ لوڈ اینڈ پوائنٹ سے الگ چیز ہے: یہ ایک ہی نوٹ کے اندر لکھتا ہے، عوامی فائل ہوسٹنگ میں نہیں۔ کلید نوٹ کے اپنے سیٹنگز صفحے سے بنتی ہے، اور وہ کسی دوسرے نوٹ کے ساتھ کچھ نہیں کر سکتی۔

یہ کس کام کا ہے: نوٹ بطور وصول کنندہ۔ کوئی ڈپلائے اسکرپٹ، CI جاب، کرون یا بوٹ اس میں سطریں ڈالتا رہے، اور آپ بعد میں فون پر پڑھ لیں۔ نہ کوئی اکاؤنٹ بنانا ہے نہ بار بار پوچھتے رہنا ہے: نوٹ ہی ڈاک کا ڈبہ ہے۔

بنیادی پتہ https://anon.cat/api/notes/ ہے۔ ہر چیز JSON بولتی ہے اور ہر چیز کی توثیق ایک ہی طریقے سے ہوتی ہے۔

کلیدیں

اپنا نوٹ کھولیں، سیٹنگز میں جائیں، اور ڈویلپر API کے نیچے ایک کلید بنائیں۔ یہ صرف ایک بار دکھائی جاتی ہے - اسی وقت نقل کر لیں، کیونکہ اس طرف کوئی چیز بعد میں اسے آپ کو واپس پڑھ کر نہیں سنا سکتی۔

ہر کلید کا ایک دائرہ ہوتا ہے: append اندراج شامل کر سکتی ہے اور کچھ پڑھ نہیں سکتی، read پڑھ سکتی ہے اور کچھ لکھ نہیں سکتی، اور rw دونوں کام کرتی ہے اور اطلاعات بھی سنبھالتی ہے۔ کسی مشین کو وہی تنگ ترین دائرہ دیں جس سے اس کا کام چل جائے۔

اسے bearer ٹوکن کے طور پر بھیجیں۔ کوئری اسٹرنگ میں یہ کبھی قبول نہیں کی جاتی، کیونکہ کوئری اسٹرنگ رسائی کے لاگ میں لکھی جاتی ہے۔

curl -H "Authorization: Bearer $ANON_KEY" https://anon.cat/api/notes/ping

کلید منسوخ کرنا اسی پینل میں ایک کلک ہے، فوراً اثر کرتا ہے، اور نہ نوٹ کو چھیڑتا ہے نہ کسی اور کلید کو۔ آپ کا پاس ورڈ یہاں کہیں شامل نہیں ہوتا، اور کوئی کلید نہ اسے پڑھ سکتی ہے، نہ بدل سکتی ہے، نہ نوٹ مٹا سکتی ہے۔

اندراج بھیجنا

/api/notes/append پر POST کریں، متن text فیلڈ میں یا پوری درخواست کے باڈی کے طور پر۔ دونوں طریقے ایک ہی کام کرتے ہیں:

curl -H "Authorization: Bearer $ANON_KEY" -d "text=deploy 1.9.9 finished" https://anon.cat/api/notes/append

curl -H "Authorization: Bearer $ANON_KEY" -H "Content-Type: application/json" -d '{"text":"deploy 1.9.9 finished"}' https://anon.cat/api/notes/append

tail -n 20 build.log | curl -H "Authorization: Bearer $ANON_KEY" --data-binary @- https://anon.cat/api/notes/append

لاگ نوٹ میں ایک اندراج اور جڑ جاتا ہے۔ پیج نوٹ بڑھتا ہے: متن دستاویز کے آخر میں لگتا ہے، اوپر کبھی نہیں، تاکہ پرانی نقل رکھنے والا اسکرپٹ وہ نہ مٹا دے جو اس دوران آپ نے خود لکھا۔

جواب 201 ہوتا ہے جس میں نوٹ کی حالت ہوتی ہے۔ ایک ہی کال میں اطلاعات چھوڑنے کے لیے notify=false شامل کریں - پرانی سطریں دوبارہ بھیجنے والے لوپ کو یہی چاہیے۔

نوٹ پڑھنا

read یا rw کلید کے ساتھ /api/notes/entries اندراجات کو کھول کر واپس کرتا ہے، پرانے سے شروع کرتے ہوئے۔ limit اور offset صفحہ بندی کرتے ہیں، اور order=desc سب سے نئے سے شروع ہوتا ہے، جو بار بار جانچنے والے پروگرام کو درکار ہوتا ہے۔

curl -H "Authorization: Bearer $ANON_KEY" "https://anon.cat/api/notes/entries?limit=10&order=desc"

/api/notes/note نوٹ کو اس کے مواد کے بغیر لوٹاتا ہے: اس میں کتنے اندراج ہیں، آخری بار کب لکھا گیا، اور غیر استعمال شدہ نوٹ ہٹانے والی صفائی سے پہلے کتنا وقت باقی ہے۔ API سے ہر رسائی بھی یہ گھڑی صفر کر دیتی ہے، اس لیے جس نوٹ میں بوٹ روز لکھتا ہے وہ کبھی ختم نہیں ہوتا۔

اطلاعات

نوٹ آپ کو بتا سکتا ہے کہ کب کوئی کلید اس میں لکھتی ہے - Discord یا Telegram پر۔ آپ خود لکھیں تو کبھی کوئی اطلاع نہیں جاتی؛ مقصد مشین کی خبر رکھنا ہے، اپنی نہیں۔

سیٹنگز میں یا rw کلید کے ساتھ API سے قائم کریں۔ بناتے ہی ایک آزمائشی پیغام بھیجا جاتا ہے، تاکہ غلط نقل ہوا ویب ہک پتہ ایک اسٹیٹس کوڈ بن جائے جو آپ اسی وقت دیکھ لیں۔

curl -H "Authorization: Bearer $ANON_KEY" -H "Content-Type: application/json" -d '{"kind":"discord","url":"https://discord.com/api/webhooks/…","label":"deploys"}' https://anon.cat/api/notes/hooks

curl -H "Authorization: Bearer $ANON_KEY" -H "Content-Type: application/json" -d '{"kind":"telegram","bot":"123456789:AA…","chat":"-1001234567890"}' https://anon.cat/api/notes/hooks

طے شدہ طور پر اطلاع میں نوٹ کا کوئی متن نہیں جاتا: صرف یہ کہ کچھ آیا ہے، کتنا ہے، کس کلید نے بھیجا، اور یہاں واپس کا لنک - اور نوٹ اب بھی اپنے پاس ورڈ کے پیچھے ہے۔ preview=true بھیجیں تو اندراج بھی ساتھ جاتا ہے، یعنی آپ اپنا متن Discord یا Telegram کے حوالے کر رہے ہیں۔ یہ ایک حقیقی سودا ہے، اسی لیے جب تک آپ نہ کہیں یہ بند رہتا ہے۔

صرف Discord کے ویب ہک پتے اور Telegram کے بوٹ قبول کیے جاتے ہیں۔ کوئی بھی من مانا URL جان بوجھ کر پیش نہیں کیا جاتا: اسے لانے والا یہی سرور ہوتا۔