README ¶
Installation guide for the meek-http-helper WebExtension. The WebExtension is made of two parts: the extension and the native application. The extension itself is JavaScript, runs in the browser, and is responsible for making HTTP requests as instructed. The native application runs as a subprocess of the browser; its job is to open a localhost socket and act as an intermediary between the extension and meek-client, because the extension cannot open a socket by itself. These instructions require Firefox 65. == Native component == 1. Compile the native application. cd native && go build 2. Edit native/meek.http.helper.json and set the "path" field to the path to the native application. "path": "/path/to/meek/webextension/native/native", More information: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging#App_manifest 3. Copy the edited native/meek.http.helper.json file to the OS-appropriate location. # macOS mkdir -p ~/"Library/Application Support/Mozilla/NativeMessagingHosts/" cp native/meek.http.helper.json ~/"Library/Application Support/Mozilla/NativeMessagingHosts/" # other Unix mkdir -p ~/.mozilla/native-messaging-hosts/ cp native/meek.http.helper.json ~/.mozilla/native-messaging-hosts/ # Windows Open regedit.exe and create a new registry key: HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\meek.http.helper Set the default value to the path to meek.http.helper.json: C:\path\to\meek\webextension\native\meek.http.helper.json The meek.http.helper.json file is called the "host manifest" or "app manifest" and it tells the browser where to find the native part of the WebExtension. More information: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_manifests#Manifest_location == Browser component == 4. Run Firefox in a terminal so you can see its stdout. In Firefox, go to about:config and set browser.dom.window.dump.enabled=true This enables the extension to write to stdout. See firefox-user.js for other prefs you may want to set. 5. In Firefox, go to about:debugging and click "Load Temporary Add-on...". Find browser/manifest.json and click Open. More information: https://developer.mozilla.org/en-US/docs/Tools/about:debugging#Loading_a_temporary_add-on In the terminal, you should see a line like this, with a random port number in place of XXXX: meek-http-helper: listen 127.0.0.1:XXXX Now the extension is running and ready to start making requests. You can run "meek-client --helper", passing it the correct port number XXXX: UseBridges 1 ClientTransportPlugin meek exec ./meek-client --helper 127.0.0.1:XXXX --log meek-client.log Bridge meek 0.0.2.0:1 url=https://meek.bamsoftware.com/ To debug, open the browser console with Ctrl+Shift+J.
Click to show internal directories.
Click to hide internal directories.