بسم الله الرحمن الرحيم
الناس ال سألت على رول تخفيض سرعة العميل من سرعة اعلى الى سرعة
اقل بعد مايخلص الجيجات بتاعته.... النهاردة جبتلكم رول ممتاز جدا
اول حاجة خد الرول دا عندك ال 524000 دا عدد الميجات ال العميل هاينزل بعدها للسرعة الاقل
دول 5 ميجا عدلها براحتكال 256 دا البروفايل ال انت هاتنزل عليه العميل وتحدد فيه السرعة
ال انت عايزها يعنى تعمل بروفايل اسمه 256 ولو هاتعمل بروفايل تانى بااسم تانى غير ال256
بالاسم الجديدخلاص احنا كده تقريبا خلصنا كل المطلوب منك هاتروح هنا زى الصورة دى بالظبط
تدخل على البروفايلات بتاعة العملاء لغاية ماتوصل لكلمة سكربتس زى مانت شايف كده وتحط الكود ال هاديهولك فى الاخر دا
طب دا معناه ايه معناه ان العميل لما ياخد 5 ميجا يروح للبروفايل 256 ....
بس المشكلة هنا انه هايستنى لما العميل يخرج ولما يجى يدخل يدخله على البروفايل 256
طبعا لها حلول كتير بس لما افضالها هاضيفلكم الحتة ال ناقصاها دى وكمان هاخليه يبعتلكم
رسالة عالميل بالعملاء ال دخلت استخدام عادل.... طب انت كمان تقدر تحدد فى البروفايل
المدة الزمنية لطرد العميل بعد مثلا 4 ساعات بحيث ان العميل دا يخلص وينطرد اوتوماتك
ولما يجى يدخل ياخد البروفايل الجديد طب تتعمل ازاى زى الصورة دى
دول 4 ساعات والعميل ينطرد اجبارى طبعا تقدر تغيرها بمزاجك وطبعا تعمل اكتر من بروفايل
بسرعات مختلفة بمعنى انك تروح لبروفايل 2 ميجا وتعمل 5 جيجا ينزل ل512 وتروح ل512
وتقوله العميل لو وصل 10 جيجا نزله ل256 وتروح ل256 وتقوله لو وصل ل15 جيجا نزله استخدام عادل 64 كيلو
واى استفسار انا جاهز ارجالة ودا الكود المستخدم
- الكود:
-
:local maxBytes 5240000;
:local newProfile "256";
:local userStr [:tostr $user];
:local bytes [/ip hotspot user get [find name="$userStr"] bytes-out];
:local profile [/ip hotspot user get [find name="$userStr"] profile];
:if ($bytes > $maxBytes) do={
:if ($profile != $newProfile) do={
/log info "[DOWNLOAD LIMIT] - $userStr has exceeded $maxBytes bytes downloaded, changing profile";
/ip hotspot user set [find name="$userStr"] profile="$newProfile"
}
}
الشرح منقول من الكتور
Ahmed Hamdy ومدونة
معلومة دوت كوم