UA ua_generator and generate_uas.py updates

This commit is contained in:
Don-Swanson 2025-11-23 21:10:50 -06:00
parent 9b3a6ce550
commit 490fc6c4f9
No known key found for this signature in database
GPG key ID: C6A6ACD574A005E5
2 changed files with 26 additions and 61 deletions

View file

@ -28,21 +28,6 @@ OPERA_PATTERNS = [
# Opera Mobile (iPad)
"Opera/9.80 (iPad; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
# Opera on Nintendo Wii
"Opera/9.30 (Nintendo Wii; U; ; {code}; {lang})",
# Opera Mobile (S60/SymbOS)
"Opera/9.80 (S60; SymbOS; Opera Mobi/{build}; U; {lang}) Presto/{presto} Version/{final}",
# Opera Mobile (Series 60)
"Opera/9.80 (Series 60; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
# Opera Mobile (BlackBerry)
"Opera/9.80 (BlackBerry; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
# Opera Mobile (Windows Mobile)
"Opera/9.80 (Windows Mobile; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
]
# Randomization pools based on working UAs
@ -148,9 +133,6 @@ LANGUAGES = [
"eu", "eu-ES"
]
WII_CODES = [
"1038-58", "1309-9", "1621", "2047-7", "2071", "2077-4", "3642"
]
def generate_opera_ua() -> str:
@ -167,11 +149,6 @@ def generate_opera_ua() -> str:
'lang': random.choice(LANGUAGES)
}
# Nintendo Wii pattern
if "Nintendo Wii" in pattern:
params['code'] = random.choice(WII_CODES)
else:
# Other patterns
if '{version}' in pattern:
params['version'] = random.choice(OPERA_MINI_VERSIONS)

View file

@ -39,11 +39,6 @@ except ImportError:
"Opera/9.80 (Android; Linux; Opera Mobi/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.80 (iPhone; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.80 (iPad; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.30 (Nintendo Wii; U; ; {code}; {lang})",
"Opera/9.80 (S60; SymbOS; Opera Mobi/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.80 (Series 60; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.80 (BlackBerry; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
"Opera/9.80 (Windows Mobile; Opera Mini/{version}/{build}; U; {lang}) Presto/{presto} Version/{final}",
]
OPERA_MINI_VERSIONS = [
@ -122,18 +117,11 @@ except ImportError:
"eu", "eu-ES"
]
WII_CODES = [
"1038-58", "1621", "2047-7", "2077-4", "3642"
]
def generate_opera_ua():
"""Generate a single random Opera User Agent string."""
pattern = random.choice(OPERA_PATTERNS)
params = {'lang': random.choice(LANGUAGES)}
if "Nintendo Wii" in pattern:
params['code'] = random.choice(WII_CODES)
else:
if '{version}' in pattern:
params['version'] = random.choice(OPERA_MINI_VERSIONS)
if '{build}' in pattern: