Back to portfolio

Insta Manage ialah aplikasi web setempat untuk satu pengguna yang saya bina untuk memuat turun dan menyusun media daripada akaun Instagram saya sendiri dan daripada akaun yang saya diberi kebenaran untuk mengaksesnya. Ia menyimpan catatan, karusel, reel dan cerita dalam kualiti asal, berserta kapsyen dan metadatanya.

Dibina mengikut peraturan

Sejak hari pertama saya menetapkan had yang jelas: tiada pemintasan CAPTCHA atau 2FA, tiada jalan pintas untuk akaun peribadi dan tiada pengelakan had kadar. Untuk menyambung ke Instagram, aplikasi ini membuka tetingkap pelayar sebenar pada halaman log masuk Instagram sendiri. Anda log masuk di situ sendiri, dan aplikasi hanya membaca kuki sesi selepas itu. Ia tidak pernah melihat kata laluan anda, dan sesi yang disimpan disulitkan semasa disimpan.

Apa yang ia lakukan

  • Akaun: tambah nama pengguna dan profilnya (avatar, bio, jumlah pengikut dan catatan) diambil serta-merta.
  • Muat turun latar belakang: segerakkan profil atau muat turun catatan, reel, cerita atau arkib cerita anda sendiri. Setiap tugasan berjalan di latar belakang dan menunjukkan kemajuannya secara langsung.
  • Lihat & Pilih: ambil senarai dahulu, tanpa memuat turun apa-apa, kemudian pilih item tunggal, shift-klik untuk satu julat atau pilih "Pilih yang baharu". Item yang telah dimuat turun ditanda Disimpan.
  • Pustaka Media: tab untuk Semua, Catatan, Reel, Cerita dan Arkib, setiap satu dengan kiraan langsung, serta penapis tahun berdasarkan masa kandungan itu disiarkan.
  • Log tugasan: sejarah berjalan bagi setiap tugasan latar belakang.
  • Aplikasi Android: pembalut Capacitor yang memuatkan aplikasi yang sama daripada PC saya melalui rangkaian setempat.

Keselamatan aplikasi itu sendiri

Pejabat belakang mempunyai log masuknya sendiri dengan kata laluan bercincang bcrypt. Setiap laluan API dan fail yang dimuat turun berada di belakang kuki sesi httpOnly yang ditandatangani, dan lima percubaan log masuk yang gagal mencetuskan sekatan selama 60 saat.

Tumpukan teknologi

FastAPI, SQLAlchemy dan MySQL dengan migrasi Alembic · Instaloader dan Playwright · Celery dan Redis untuk tugasan latar belakang · React (Vite) dan Bootstrap · Capacitor untuk Android.

Bahagian paling sukar ialah arkib cerita. Instagram tiada titik akhir awam untuknya, jadi aplikasi ini memandu pelayar sebenar dengan sesi yang disimpan. Ia juga ciri paling rapuh, kerana reka bentuk semula Instagram boleh merosakkannya.


Share: