Skip to content

DC Client Blacklist Script #27

Description

@Aybook

The idea is a script that blocks certain clients.

Why block them?

  • Clients that are too old and do not support all commands or SSL
  • Malicious clients used for abusive purposes (Fake, Cheat, Abuse)
  • Because the hub operator does not want them

What features should the script have?

  • User connects to the hub
  • If the client is found on the blacklist -> disconnect
  • Disconnect with the message "Client blacklisted - Upgrade to a newer and actively developed client. (e.g., DC++, AirDC++)

Allowed / Recommended:

  • DC++
  • AirDC++
  • EiskaltDC++ (optional)
  • FlylinkDC++ (optional, depending on the target audience)

Treat with caution:

  • Very old StrongDC++ builds
  • Very old ApexDC++ builds
  • Unknown mods
  • Clients without ADCS/TLS
  • Clients with an empty/strange VE string
  • Clients with conspicuous tags
  • Clients with impossible values

Known clients:
List based on Delion DCHublist.org Forum Post. But not all clients are bad, so investigation for bad clients is needed.

(H:(\d{1,5}/){2}\d{1,5})
(<\+\+\sV:0\.\d{1,4},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-x64-\d{1,5},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-beta-\d{1,5},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-beta\d{1,5},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-\d{1,5},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-beta-x64-\d{1,5},M:[AP],)
(<FlylinkDC\+\+\sV:\(r\d{1,3}\)-beta\d{1,2},M:[AP],)
(<FlylinkDC\+\+\sV:\(r\d{1,3}\)-beta\d{1,2}-x64,M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-x64,M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-beta\d{1,2},M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3}-beta\d{1,2}-x64,M:[AP],)
(<FlylinkDC\+\+\sV:r\d{1,3},M:[AP],)
(<FlylinkDC\+\+\sV:\(r\d{1,3}\)-x64,M:[AP],)
(<FlylinkDC\+\+\sV:\(r\d{1,3}\),M:[AP],)
(<ApexDC\+\+\sV:\d{1}\.\d{1}\.\d{1},M:[AP],)
(<SSQLite\+\+\sV:\d{1}\.\d{1,2}\.\d{1,5},M:[AP],)
(<StrongDC\+\+\sV:\d{1}\.[0-9]\d,M:[AP],)
(<StrgDC\+\+\sV:\d{1}\.\d{1,2},M:[AP],)
(<StrgDC\+\+\sV:\d{1}\.\d{1,2}\.\d{1,5},M:[AP],)
(<AirDC\+\+\sV:\d{1}\.\d{1,2},M:[AP],)
(<EiskaltDC\+\+\sV:\d{1}\.\d{1,2}\.\d{1,2},M:[AP],)
(<AirDC\+\+w\sV:\d{1}\.\d{1,2}\.\d{1,2},M:[AP],)
(<Shareaza\sV:\d{1}\.\d{1,2}\.\d{1,2}.\d{1,2},M:[AP],)
(<GreylinkDC\+\+\sV:\d{1}\.\d{1,2}\.\d{1,2},M:[AP],)
(<pl\+\+\sV:\d{1}\.\d{1,2},M:[AP],)
(<DDD\+\+\sV:\d{1}\.\d{1,2},M:[AP],)
(<MLDC\sV:\d{1}\.\d{1}\.\d{1},M:[AP],)
(<FlylinkDC\+\+\sV:\d{1,3}\.\d{1,5}-beta-x64,M:[AP],)
(<FlylinkDC\+\+\sV:\d{1,3}\.\d{1,5}-x64,M:[AP],)
(<FlylinkDC\+\+\sV:\d{1,3}\.\d{1,5}-x86,M:[AP],)
\,L:\d{1,6}>
\,S:\d{1,6}
r50[1-3]|r50[4-5](\-beta)?(\-x64)?\-(20\d\d\d|21([0-8]\d\d|\d[0-6]\d|\d7[0-2]))
(gl\+\+|Greylink|FglinkDC|Avalink|ApexDC\+\+\ss14|DDD\+\+|pl\+\+|SSQLite|StrgDC\+\+\s\(r|RSX\+\+|z(k?)\+\+|^<P2P|MagadanDC)

Similar to an issue from the luadch-ng repository. - luadch-ng/luadch#81

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions