txthinking / brook

A cross-platform programmable network tool
https://brook.app
GNU General Public License v3.0
14.54k stars 2.39k forks source link

Device or app installation identifier along side with token for userAPI #1355

Closed cornzzy closed 4 months ago

cornzzy commented 4 months ago

Hope you have a good day. --ipLimitMax can cause many false positives and false negatives:

Let's consider setting the IP limit to 3.

False Negative Example: An office floor with 20 computers sharing the same IP address.

False Positive Example: A user on their phone while driving, experiencing frequent IP changes.

To address these issues, Brook could send an additional identifier, such as an ID generated during installation or a hardware ID. This solution would work as follows:

  1. Each time Brook sends a new identifier to the user management API, it is saved.
  2. If the list of identifiers exceeds 3, the oldest identifier is removed.
  3. If an old identifier tries to use the service, the API will respond with a non-200 status code.
  4. If the identifier is still in the pool or the pool has not yet reached the limit of 3, the API sends a 200 response as usual.
txthinking commented 4 months ago

It may be considered, but it may also involve sensitive issues. A more common method is to limit the traffic for each user, and the goods sold to users are traffic.

On Sat, Jun 1, 2024 at 6:25 PM cornzzy @.***> wrote:

Closed #1355 https://github.com/txthinking/brook/issues/1355 as not planned.

— Reply to this email directly, view it on GitHub https://github.com/txthinking/brook/issues/1355#event-13008831683, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJPFTYEU7CYYV3MLRPRWGLZFGOQ3AVCNFSM6AAAAABIUAPBYSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTGAYDQOBTGE3DQMY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

cornzzy commented 4 months ago

Thank you for your response.

I have another question: I have experience with Flutter and want to write a simple Brook client GUI for Android and iOS. How much of the work is already done, and what tasks will I need to handle myself? Does it provide library or sdk?