Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(557)

Side by Side Diff: web_page_replay_go/README.md

Issue 3009313002: Revert of [Telemetry] Use --ignore-certificate-errors-spki-list to bypass cert errors (Closed)
Patch Set: Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Web Page Replay 1 # Web Page Replay
2 Web Page Replay (WprGo) is a performance testing tool written in Golang for 2 Web Page Replay (WprGo) is a performance testing tool written in Golang for
3 recording and replaying web pages. WprGo is currently used in Telemetry for 3 recording and replaying web pages. WprGo is currently used in Telemetry for
4 Chrome benchmarking purposes. This requires go 1.8 and above. This has not been 4 Chrome benchmarking purposes. This requires go 1.8 and above. This has not been
5 tested with earlier versions of go. It is supported on Windows, MacOS and Linux. 5 tested with earlier versions of go. It is supported on Windows, MacOS and Linux.
6 6
7 ## Required packages 7 ## Required packages
8 8
9 ``` 9 ```
10 go get github.com/codegangsta/cli 10 go get github.com/codegangsta/cli
(...skipping 15 matching lines...) Expand all
26 ``` 26 ```
27 ... 27 ...
28 28
29 Ctrl-C 29 Ctrl-C
30 30
31 * Terminal 2: 31 * Terminal 2:
32 32
33 ``` 33 ```
34 google-chrome-beta --user-data-dir=$foo \ 34 google-chrome-beta --user-data-dir=$foo \
35 --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLU DE localhost" 35 --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLU DE localhost"
36 --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PD xI6I=
37 ``` 36 ```
38 ... wait for record servers to start 37 ... wait for record servers to start
39 38
40 ### Replay mode 39 ### Replay mode
41 * Terminal 1: 40 * Terminal 1:
42 41
43 Start wpr in replay mode. 42 Start wpr in replay mode.
44 ``` 43 ```
45 go run src/wpr.go replay --http_port=8080 --https_port=8081 /tmp/archive.wprgo 44 go run src/wpr.go replay --http_port=8080 --https_port=8081 /tmp/archive.wprgo
46 ``` 45 ```
47 46
48 * Terminal 2: 47 * Terminal 2:
49 ``` 48 ```
50 google-chrome-beta --user-data-dir=$bar \ 49 google-chrome-beta --user-data-dir=$bar \
51 --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLU DE localhost" 50 --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLU DE localhost"`
52 --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PD xI6I=
53 ``` 51 ```
54 ... wait for replay servers to start 52 ... wait for replay servers to start
55 53
56 load the page 54 load the page
57 55
58 ## Running on Android 56 ## Running on Android
59 57
60 You will need a Linux host machine and an android device. 58 You will need a Linux host machine and an android device.
61 59
62 * Set up reverse port forwarding 60 * Set up reverse port forwarding
63 61
64 ``` 62 ```
65 adb reverse tcp:8080 tcp:8080 63 adb reverse tcp:8080 tcp:8080
66 adb reverse tcp:8081 tcp:8081 64 adb reverse tcp:8081 tcp:8081
67 ``` 65 ```
68 66
69 * Set up command line arguments 67 * Set up command line arguments
70 68
71 ``` 69 ```
72 build/android/adb_chrome_public_command_line --host-resolver-rules="MAP *:80 127 .0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost" \ 70 build/android/adb_chrome_public_command_line '--host-resolver-rules="MAP *:80 12 7.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost"'
73 --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PDx I6I=
74 ``` 71 ```
75 72
76 * Run wpr.go as usual on the linux machine 73 * Run wpr.go as usual on the linux machine
77 74
78 ### (Optional) Installing test root CA 75 ### Installing test root CA
79 76
80 WebPageReplay uses self signed certificates for Https requests. To make Chrome 77 WebPageReplay uses self signed certificates for Https requests. To make Chrome
81 trust these certificates, you can use --ignore-certificate-errors-spki-list 78 trust these certificates, you can install a test certificate authority as a
82 like above. If that doesn't work, you may try installing a test certificate 79 local trust anchor. **Note:** Please do this with care because installing the
83 authority as a local trust anchor. **Note:** Please do this with care because 80 test root CA compromises your machine. This is currently only supported on
84 installing the test root CA compromises your machine. This is currently only 81 Linux and Android.
85 supported on Linux and Android.
86 82
87 Installing the test CA. Specify a `--android_device_id` if you'd like to install 83 Installing the test CA. Specify a `--android_device_id` if you'd like to install
88 the root CA on an android device. 84 the root CA on an android device.
89 ``` 85 ```
90 go run src/wpr.go installroot 86 go run src/wpr.go installroot
91 ``` 87 ```
92 Uninstall the test CA. Specify a `--android_device_id` if you'd like to remove 88 Uninstall the test CA. Specify a `--android_device_id` if you'd like to remove
93 the root CA from an android device. 89 the root CA from an android device.
94 90
95 ``` 91 ```
96 go run src/wpr.go removeroot 92 go run src/wpr.go removeroot
97 ``` 93 ```
98 94
99 ## Other use cases 95 ## Other use cases
100 96
101 ### Http-to-http2 proxy: 97 ### Http-to-http2 proxy:
102 98
103 * Terminal 1: 99 * Terminal 1:
104 ``` 100 ```
105 go run src/wpr.go replay --https_port=8081 --https_to_http_port=8082 \ 101 go run src/wpr.go replay --https_port=8081 --https_to_http_port=8082 \
106 /tmp/archive.wprgo 102 /tmp/archive.wprgo
107 ``` 103 ```
108 104
109 * Terminal 2: 105 * Terminal 2:
110 ``` 106 ```
111 google-chrome-beta --user-data-dir=$foo \ 107 google-chrome-beta --user-data-dir=$foo \
112 --host-resolver-rules="MAP *:443 127.0.0.1:8081,EXCLUDE localhost" \ 108 --host-resolver-rules="MAP *:443 127.0.0.1:8081,EXCLUDE localhost" \
113 --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PDx I6I= \
114 --proxy-server=http=https://127.0.0.1:8082 \ 109 --proxy-server=http=https://127.0.0.1:8082 \
115 --trusted-spdy-proxy=127.0.0.1:8082 110 --trusted-spdy-proxy=127.0.0.1:8082
116 ``` 111 ```
117 112
118 ## Inspecting an archive 113 ## Inspecting an archive
119 114
120 httparchive.go is a convenient script to inspect a wprgo archive. Use `ls`,`cat` 115 httparchive.go is a convenient script to inspect a wprgo archive. Use `ls`,`cat`
121 and `edit`. Options are available to specify request url host (`--host`) and 116 and `edit`. Options are available to specify request url host (`--host`) and
122 path (`--full-path`). 117 path (`--full-path`).
123 118
124 E.g. 119 E.g.
125 120
126 ``` 121 ```
127 go run src/httparchive.go ls /tmp/archive.wprgo --host=example.com --full-path=/ index.html 122 go run src/httparchive.go ls /tmp/archive.wprgo --host=example.com --full-path=/ index.html
128 ``` 123 ```
129 124
130 ## Running unit tests 125 ## Running unit tests
131 Run all tests in a specific file. 126 Run all tests in a specific file.
132 ``` 127 ```
133 go test transformer_test.go transformer.go 128 go test transformer_test.go transformer.go
134 ``` 129 ```
135 130
136 Run all tests in `webpagereplay` module. 131 Run all tests in `webpagereplay` module.
137 ``` 132 ```
138 go test webpagereplay -run '' 133 go test webpagereplay -run ''
139 ``` 134 ```
140 135
141 ## Generate public key hash for --ignore-certificate-errors-spki-list
142 wpr_public_hash.txt is generated from wpr_cert.pem using the command below.
143 ```
144 openssl x509 -noout -pubkey -in wpr_cert.pem | \
145 openssl pkey -pubin -outform der | \
146 openssl dgst -sha256 -binary | \
147 base64
148 ```
149
150 ## Contribute 136 ## Contribute
151 Please read [contributor's guide][contribute]. We use the Catapult 137 Please read [contributor's guide][contribute]. We use the Catapult
152 [issue tracker][tracker] for bugs and features. Once your change is reviewed 138 [issue tracker][tracker] for bugs and features. Once your change is reviewed
153 and ready for landing, please run `telemetry/bin/update_wpr_go_binary` to update 139 and ready for landing, please run `telemetry/bin/update_wpr_go_binary` to update
154 binaries in Google cloud storage. 140 binaries in Google cloud storage.
155 141
156 ## Contact 142 ## Contact
157 Please email telemetry@chromium.org. 143 Please email telemetry@chromium.org.
158 144
159 [contribute]: https://github.com/catapult-project/catapult/blob/master/CONTRIBUT ING.md 145 [contribute]: https://github.com/catapult-project/catapult/blob/master/CONTRIBUT ING.md
160 [tracker]: https://github.com/catapult-project/catapult/issues 146 [tracker]: https://github.com/catapult-project/catapult/issues
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698