grke / burp

burp - backup and restore program
http://burp.grke.net
Other
483 stars 77 forks source link

Automatic upload speed #217

Open Kalimeiro opened 10 years ago

Kalimeiro commented 10 years ago

Owncloud client for Windows (mirall https://github.com/owncloud/mirall) I have an option to automatically limit the upload bandwidth compared to other processes running as firefox, ftp server, other services (VNC,TSE,CITRIX,RSYNC, ...) ...

it ensures upload without lag on others services, like a 'QoS' more intelligent.

With this features, you could allow burp to made his upload calculation automatically and rate automatically and save upload bandwith for other process if needed.

Kalimeiro commented 10 years ago

This features is very cool if you use BURP with (bad) ADSL connection for example...

grke commented 10 years ago

Burp already sets QoS bits appropriately. I have been told that Windows clients then remove them. So, I assume that this stuff that you are suggesting is the Windows way of doing it, and applies only for Windows clients.

grke commented 10 years ago

Also, Burp has a manual rate limiting option already. (Just noting this for anybody else reading this thread, as we already has this talk via email).

grke commented 10 years ago

Hello, Why did you close this issue? I thought it was a good idea.

Kalimeiro commented 10 years ago

Excuse me :-)

pablodav commented 4 years ago

I think it's better to enable some external script to handle this kind of setting, similar as how today burp handles timer_script it will be easier for sysadmins and others collaborators to extend/modify the upload speed and you will not need to care too much about it in the future.

What I do today: In a very tricky way, I have this script that change the burp.conf speed settings based on "location" of the client, or if it is "out of office hours", not too smart but good enough for our environment. https://github.com/pablodav/burp_eclient/blob/master/SupportFiles/scripts/burp_clientconfig3.ps1#L146

What I think could be done (probably not best option, but I'm thinking in something as simple as possible):

option1: Add option for dynamic_settings_script So, dynamic_settings_script runs and returns X setting to be used by burp on phase2 for example, speed setting.

Burp then can run the script once and run the phase2, or run it every x minutes to change the dynamic setting, like speed. (also option to be run once, or every x minutes during phase2).

I don't know how complex it could be, but I think it should be simpler than anything else and good about it is it could be designed to be used with more options than speed only. the return of the dynamic_settings_script should be defined as "tuple or something that could provide more than speed setting".

grke commented 4 years ago

Hello Pablo,

I think I will try to implement your idea this month. I will make it so that you can choose how frequently you want to run the script. I think that it will allow for feature #18 to be done at the same time.

grke commented 4 years ago

Hello,

I didn't do it this month, but I did do feature #18

When I looked at your idea, I wasn't sure whether you wanted to do this on the server side or on the client side.

The timer script runs on the server side only, but ratelimiting only applies to data being sent. So, making the dynamic script run like the timer script would only affect data sent by the server. During a backup, it is the client side that is sending 99.9% of the data.

pablodav commented 4 years ago

Yes, you are right. Speed needs te be checked on client side.

El mar., 1 de septiembre de 2020 12:18 a. m., grke notifications@github.com escribió:

Hello,

I didn't do it this month, but I did do feature #18 https://github.com/grke/burp/issues/18

When I looked at your idea, I wasn't sure whether you wanted to do this on the server side or on the client side.

The timer script runs on the server side only, but ratelimiting only applies to data being sent. So, making the dynamic script run like the timer script would only affect data sent by the server. During a backup, it is the client side that is sending 99.9% of the data.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/grke/burp/issues/217#issuecomment-684171201, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCA7H3JKDPVI3TWLXZICV3SDRRZ5ANCNFSM4ASDPL7Q .