أرسل الملف بطلب POST إلى https://up.anon.cat/upload، وستحصل تلقائياً على رد بصيغة json.
وإذا أردت صيغة أخرى غير json، أضف باراميتر يحدد الصيغة، مثلاً https://up.anon.cat/upload?output=csv.
الصيغ المدعومة: json وcsv وtext وhtml وgyazo.
ملف واحد في كل طلب، وحتى 1 GB.
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"
الطريقتان تمرران الملف مباشرة إلى شبكة التوزيع، فلا تتأثران بالمساحة المتاحة على الخادم.
بإضافة scrub=1 يُجرَّد الملف من بياناته الوصفية في طريقه إلى شبكة التوزيع: Exif وبيانات الموقع من ملف JPEG، وكتل النص وeXIf من ملف PNG، وExif وXMP من ملف WebP. لا تُمَس وحدات الصورة، وكل ما ليس من هذه الصيغ الثلاث يُحفَظ كما أُرسل تمامًا.
curl -i -T photo.jpg "https://up.anon.cat/upload?filename=photo.jpg&scrub=1"
يرسله الموقع مع كل رفع. في الرفع القابل للاستئناف يوضع المعامل على طلب /upload/finish لا على كل جزء.
لدى Anon.Notes واجهة برمجية خاصة به، وهي شيء آخر غير نقطة الرفع أعلاه: فهي تكتب داخل ملاحظة واحدة بعينها، لا في استضافة الملفات العامة. المفتاح يُنشأ من داخل الملاحظة نفسها، في صفحة إعداداتها، ولا يستطيع فعل أي شيء بأي ملاحظة أخرى.
الغرض منها: ملاحظة بوصفها صندوق استقبال. سكربت نشر أو مهمة تكامل مستمر أو مهمة cron أو بوت يدفع إليها أسطراً، وتقرأها أنت لاحقاً من الهاتف. لا تسجيل ولا استعلام متكرر: الملاحظة هي صندوق البريد.
العنوان الأساسي هو https://anon.cat/api/notes/. كل شيء يتكلم JSON، وكل شيء يوثَّق بالطريقة نفسها.
افتح ملاحظتك، اذهب إلى الإعدادات، وأنشئ مفتاحاً تحت «واجهة المطورين». يُعرض مرة واحدة فقط - انسخه حينها، لأن لا شيء في هذه الجهة يستطيع أن يقرأه لك بعد ذلك.
لكل مفتاح نطاق: append يضيف مدخلات ولا يقرأ شيئاً، وread يقرأ ولا يكتب شيئاً، وrw يفعل الاثنين ويدير الإشعارات. أعطِ كل آلة أضيق نطاق يكفي لعملها.
أرسله رمزاً من نوع bearer. ولا يُقبل أبداً في سلسلة الاستعلام، لأن سلسلة الاستعلام تُكتب في سجل الوصول.
curl -H "Authorization: Bearer $ANON_KEY" https://anon.cat/api/notes/ping
إبطال المفتاح نقرة واحدة في اللوحة نفسها، يسري فوراً، ولا يمس الملاحظة ولا أي مفتاح آخر. كلمة السر لا تدخل هنا في أي موضع، والمفتاح لا يستطيع قراءتها ولا تغييرها ولا حذف الملاحظة.
أرسل POST إلى /api/notes/append، والنص إما في حقل 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 الملاحظة دون محتواها: كم فيها من مدخلات، ومتى كُتب فيها آخر مرة، وكم بقي لها قبل أن يأخذها كنس الملاحظات المهجورة. وكل وصول عبر الواجهة يصفّر تلك الساعة أيضاً، فالملاحظة التي يكتب فيها بوت يومياً لا تنتهي صلاحيتها أبداً.
تستطيع الملاحظة أن تخبرك حين يكتب فيها مفتاح، عبر Discord أو Telegram. أما كتابتك أنت فلا ترسل شيئاً أبداً - المقصود أن تسمع عن الآلة لا عن نفسك.
أنشئ إشعاراً من الإعدادات، أو عبر الواجهة بمفتاح rw. تُرسل رسالة اختبار لحظة الإنشاء، حتى يكون عنوان الويب هوك المنسوخ خطأً رمزَ حالة تراه في الحال.
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. أما عنوان اعتباطي فلا يُتاح عن قصد: هذا الخادم هو من سيذهب لجلبه.