1
1
chrome . storage . local . get ( function ( items ) {
2
- var ext_storage = items ;
2
+ var ext_storage = items ;
3
3
4
- function createUserAgent ( ) {
5
- var string = '' ,
6
- os = {
7
- 'Windows' : 'Windows NT 10.0; Win64; x64' ,
8
- 'Windows 7' : 'Windows NT 6.1' ,
9
- 'Windows 8.1' : 'Windows NT 6.3' ,
10
- 'Windows 8' : 'Windows NT 6.2' ,
11
- 'Windows XP' : 'Windows NT 5.1' ,
12
- 'Windows Vista' : 'Windows NT 6.0' ,
13
- 'Windows ME' : 'Windows ME' ,
14
- 'Windows 2000' : 'Windows NT 5.0' ,
15
- 'Windows 98' : 'Windows 98' ,
16
- 'macOS' : 'Macintosh; Intel Mac OS X 10_15_5' ,
17
- 'Linux' : 'Linux' ,
18
- 'Ubuntu' : 'X11; Ubuntu;' ,
19
- 'Chrome OS' : 'X11; CrOS x86_64' ,
20
- 'Android' : 'Android 10' ,
21
- 'iOS' : 'iPhone; CPU OS 13_5_1 like Mac OS X' ,
22
- 'Google Bot' : 'compatible; Googlebot/2.1; +http://www.google.com/bot.html'
23
- } ,
24
- browser = {
25
- 'Chrome' : 'Chrome/85.0.4183.16' ,
26
- 'Safari' : 'Version/13.1.1 Safari/605.1.15/9xaIHXt7-27' ,
27
- 'Firefox' : 'Gecko/20100101 Firefox/77.0' ,
28
- 'Edge' : 'Chrome/85.0.4183.0 Safari/537.36 Edg/85.0.564.0' ,
29
- 'IE' : 'Trident/7.0)' ,
30
- 'Opera' : 'Presto/2.12 Version/12.16' ,
31
- 'Samsung Internet' : 'SamsungBrowser/10.2 Chrome/71.0.3578.99 Mobile Safari/537.36' ,
32
- 'UC Browser' : 'Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.9.7.1153 Mobile Safari/537.36'
33
- } ;
4
+ function createUserAgent ( ) {
5
+ var string = '' ,
6
+ os = {
7
+ 'Windows' : 'Windows NT 10.0; Win64; x64' ,
8
+ 'Windows 7' : 'Windows NT 6.1' ,
9
+ 'Windows 8.1' : 'Windows NT 6.3' ,
10
+ 'Windows 8' : 'Windows NT 6.2' ,
11
+ 'Windows XP' : 'Windows NT 5.1' ,
12
+ 'Windows Vista' : 'Windows NT 6.0' ,
13
+ 'Windows ME' : 'Windows ME' ,
14
+ 'Windows 2000' : 'Windows NT 5.0' ,
15
+ 'Windows 98' : 'Windows 98' ,
16
+ 'macOS' : 'Macintosh; Intel Mac OS X 10_15_5' ,
17
+ 'Linux' : 'Linux' ,
18
+ 'Ubuntu' : 'X11; Ubuntu;' ,
19
+ 'Chrome OS' : 'X11; CrOS x86_64' ,
20
+ 'Android' : 'Android 10' ,
21
+ 'iOS' : 'iPhone; CPU OS 13_5_1 like Mac OS X' ,
22
+ 'Google Bot' : 'compatible; Googlebot/2.1; +http://www.google.com/bot.html'
23
+ } ,
24
+ browser = {
25
+ 'Chrome' : 'Chrome/85.0.4183.16' ,
26
+ 'Safari' : 'Version/13.1.1 Safari/605.1.15/9xaIHXt7-27' ,
27
+ 'Firefox' : 'Gecko/20100101 Firefox/77.0' ,
28
+ 'Edge' : 'Chrome/85.0.4183.0 Safari/537.36 Edg/85.0.564.0' ,
29
+ 'IE' : 'Trident/7.0)' ,
30
+ 'Opera' : 'Presto/2.12 Version/12.16' ,
31
+ 'Samsung Internet' : 'SamsungBrowser/10.2 Chrome/71.0.3578.99 Mobile Safari/537.36' ,
32
+ 'UC Browser' : 'Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.9.7.1153 Mobile Safari/537.36'
33
+ } ;
34
34
35
- if ( ext_storage . browser === 'Opera' ) {
36
- string += 'Opera/9.80 (' ;
37
- } else {
38
- string += 'Mozilla/5.0 (' ;
39
- }
35
+ if ( ext_storage . browser === 'Opera' ) {
36
+ string += 'Opera/9.80 (' ;
37
+ } else {
38
+ string += 'Mozilla/5.0 (' ;
39
+ }
40
40
41
- string += os [ ext_storage . os ] + ') ' ;
41
+ string += os [ ext_storage . os ] + ') ' ;
42
42
43
- if ( ext_storage . browser === 'Chrome' ) {
44
- string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
45
- } else if ( ext_storage . browser === 'Safari' ) {
46
- string += 'AppleWebKit/605.1.15 (KHTML, like Gecko) ' ;
47
- } else if ( ext_storage . browser === 'Edge' ) {
48
- string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
49
- } else if ( ext_storage . browser === 'Opera' ) {
50
- string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
51
- } else if ( ext_storage . browser === 'Samsung Internet' ) {
52
- string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
53
- } else if ( ext_storage . browser === 'UC Browser' ) {
54
- string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
55
- }
43
+ if ( ext_storage . browser === 'Chrome' ) {
44
+ string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
45
+ } else if ( ext_storage . browser === 'Safari' ) {
46
+ string += 'AppleWebKit/605.1.15 (KHTML, like Gecko) ' ;
47
+ } else if ( ext_storage . browser === 'Edge' ) {
48
+ string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
49
+ } else if ( ext_storage . browser === 'Opera' ) {
50
+ string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
51
+ } else if ( ext_storage . browser === 'Samsung Internet' ) {
52
+ string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
53
+ } else if ( ext_storage . browser === 'UC Browser' ) {
54
+ string += 'AppleWebKit/537.36 (KHTML, like Gecko) ' ;
55
+ }
56
56
57
- if ( ext_storage . os === 'iOS' ) {
58
- string += ' (iPad8,3; iOS 13_5_1) ' ;
59
- }
57
+ if ( ext_storage . os === 'iOS' ) {
58
+ string += ' (iPad8,3; iOS 13_5_1) ' ;
59
+ }
60
60
61
- string += browser [ ext_storage . browser ] ;
61
+ string += browser [ ext_storage . browser ] ;
62
62
63
- return string ;
64
- }
63
+ return string ;
64
+ }
65
65
66
- function requestListener ( request ) {
67
- if ( typeof request . requestHeaders === 'object' ) {
68
- for ( var header of request . requestHeaders ) {
69
- if ( header . name . toLowerCase ( ) === 'user-agent' ) {
70
- header . value = createUserAgent ( ) ;
71
- }
72
- }
73
- }
66
+ function requestListener ( request ) {
67
+ if ( typeof request . requestHeaders === 'object' ) {
68
+ for ( var header of request . requestHeaders ) {
69
+ if ( header . name . toLowerCase ( ) === 'user-agent' ) {
70
+ if ( ext_storage . custom && ext_storage . custom !== '' ) {
71
+ header . value = ext_storage . custom ;
72
+ } else {
73
+ header . value = createUserAgent ( ) ;
74
+ }
75
+ }
76
+ }
77
+ }
74
78
75
- return {
76
- requestHeaders : request . requestHeaders
77
- } ;
78
- }
79
+ return {
80
+ requestHeaders : request . requestHeaders
81
+ } ;
82
+ }
79
83
80
- chrome . webRequest . onBeforeSendHeaders . addListener (
81
- requestListener , {
82
- urls : [ '<all_urls>' ]
83
- } , [ 'blocking' , 'requestHeaders' ]
84
- ) ;
84
+ chrome . webRequest . onBeforeSendHeaders . addListener (
85
+ requestListener , {
86
+ urls : [ '<all_urls>' ]
87
+ } , [ 'blocking' , 'requestHeaders' ]
88
+ ) ;
85
89
86
- chrome . storage . onChanged . addListener ( function ( changes ) {
87
- for ( var key in changes ) {
88
- var value = changes [ key ] . newValue ;
90
+ chrome . storage . onChanged . addListener ( function ( changes ) {
91
+ for ( var key in changes ) {
92
+ var value = changes [ key ] . newValue ;
89
93
90
- ext_storage [ key ] = changes [ key ] . newValue ;
91
- }
94
+ ext_storage [ key ] = changes [ key ] . newValue ;
95
+ }
92
96
93
- chrome . webRequest . onBeforeSendHeaders . removeListener (
94
- requestListener , {
95
- urls : [ '<all_urls>' ]
96
- } , [ 'blocking' , 'requestHeaders' ]
97
- ) ;
97
+ chrome . webRequest . onBeforeSendHeaders . removeListener (
98
+ requestListener , {
99
+ urls : [ '<all_urls>' ]
100
+ } , [ 'blocking' , 'requestHeaders' ]
101
+ ) ;
98
102
99
- chrome . webRequest . onBeforeSendHeaders . addListener (
100
- requestListener , {
101
- urls : [ '<all_urls>' ]
102
- } , [ 'blocking' , 'requestHeaders' ]
103
- ) ;
104
- } ) ;
105
- } ) ;
103
+ chrome . webRequest . onBeforeSendHeaders . addListener (
104
+ requestListener , {
105
+ urls : [ '<all_urls>' ]
106
+ } , [ 'blocking' , 'requestHeaders' ]
107
+ ) ;
108
+ } ) ;
109
+ } ) ;
0 commit comments