├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── misc ├── privacy_policy.txt ├── screenshot1.png ├── screenshot2.png ├── screenshot3.png ├── screenshot_edge_toolbar_1280x800.png ├── screenshot_firefox.png ├── screenshot_firefox_android.png ├── screenshot_firefox_permission.png ├── screenshot_options.png ├── screenshot_webstore_1_1280x800.png ├── screenshot_webstore_1_640x400.png ├── screenshot_webstore_2_1280x800.png ├── sprite_notes.txt ├── webstore_icon_128x128.xcf.bz2 └── webstore_promo_440x280.xcf.bz2 ├── sprites ├── generate_icons.py ├── sprites16.png └── sprites32.png ├── src ├── 1x1_808080.png ├── background.js ├── cached_arrow.png ├── common.js ├── detectdarkmode.html ├── detectdarkmode.js ├── generated_icons │ ├── darkfg16_4.png │ ├── darkfg16_44.png │ ├── darkfg16_446.png │ ├── darkfg16_46.png │ ├── darkfg16_6.png │ ├── darkfg16_64.png │ ├── darkfg16_646.png │ ├── darkfg16_66.png │ ├── darkfg16_q.png │ ├── darkfg16_q4.png │ ├── darkfg16_q46.png │ ├── darkfg16_q6.png │ ├── darkfg32_4.png │ ├── darkfg32_44.png │ ├── darkfg32_446.png │ ├── darkfg32_46.png │ ├── darkfg32_6.png │ ├── darkfg32_64.png │ ├── darkfg32_646.png │ ├── darkfg32_66.png │ ├── darkfg32_q.png │ ├── darkfg32_q4.png │ ├── darkfg32_q46.png │ ├── darkfg32_q6.png │ ├── lightfg16_4.png │ ├── lightfg16_44.png │ ├── lightfg16_446.png │ ├── lightfg16_46.png │ ├── lightfg16_6.png │ ├── lightfg16_64.png │ ├── lightfg16_646.png │ ├── lightfg16_66.png │ ├── lightfg16_q.png │ ├── lightfg16_q4.png │ ├── lightfg16_q46.png │ ├── lightfg16_q6.png │ ├── lightfg32_4.png │ ├── lightfg32_44.png │ ├── lightfg32_446.png │ ├── lightfg32_46.png │ ├── lightfg32_6.png │ ├── lightfg32_64.png │ ├── lightfg32_646.png │ ├── lightfg32_66.png │ ├── lightfg32_q.png │ ├── lightfg32_q4.png │ ├── lightfg32_q46.png │ └── lightfg32_q6.png ├── gray_lock.png ├── gray_schrodingers_lock.png ├── gray_unlock.png ├── icon128.png ├── icon16.png ├── icon16_transparent.png ├── iputil.js ├── manifest.json ├── manifest │ ├── README.md │ ├── chrome-manifest.json │ ├── firefox-manifest.json │ ├── use_chrome_manifest.sh.bat │ └── use_firefox_manifest.sh.bat ├── options.html ├── options.js ├── popup.html ├── popup.js ├── prefetch.png ├── serviceworker.png ├── snip.png └── websocket.png └── tests ├── iputil_test.html └── tinytest.js /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/README.md -------------------------------------------------------------------------------- /misc/privacy_policy.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/privacy_policy.txt -------------------------------------------------------------------------------- /misc/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot1.png -------------------------------------------------------------------------------- /misc/screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot2.png -------------------------------------------------------------------------------- /misc/screenshot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot3.png -------------------------------------------------------------------------------- /misc/screenshot_edge_toolbar_1280x800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_edge_toolbar_1280x800.png -------------------------------------------------------------------------------- /misc/screenshot_firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_firefox.png -------------------------------------------------------------------------------- /misc/screenshot_firefox_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_firefox_android.png -------------------------------------------------------------------------------- /misc/screenshot_firefox_permission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_firefox_permission.png -------------------------------------------------------------------------------- /misc/screenshot_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_options.png -------------------------------------------------------------------------------- /misc/screenshot_webstore_1_1280x800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_webstore_1_1280x800.png -------------------------------------------------------------------------------- /misc/screenshot_webstore_1_640x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_webstore_1_640x400.png -------------------------------------------------------------------------------- /misc/screenshot_webstore_2_1280x800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/screenshot_webstore_2_1280x800.png -------------------------------------------------------------------------------- /misc/sprite_notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/sprite_notes.txt -------------------------------------------------------------------------------- /misc/webstore_icon_128x128.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/webstore_icon_128x128.xcf.bz2 -------------------------------------------------------------------------------- /misc/webstore_promo_440x280.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/misc/webstore_promo_440x280.xcf.bz2 -------------------------------------------------------------------------------- /sprites/generate_icons.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/sprites/generate_icons.py -------------------------------------------------------------------------------- /sprites/sprites16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/sprites/sprites16.png -------------------------------------------------------------------------------- /sprites/sprites32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/sprites/sprites32.png -------------------------------------------------------------------------------- /src/1x1_808080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/1x1_808080.png -------------------------------------------------------------------------------- /src/background.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/background.js -------------------------------------------------------------------------------- /src/cached_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/cached_arrow.png -------------------------------------------------------------------------------- /src/common.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/common.js -------------------------------------------------------------------------------- /src/detectdarkmode.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/detectdarkmode.html -------------------------------------------------------------------------------- /src/detectdarkmode.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/detectdarkmode.js -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_4.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_44.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_446.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_446.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_46.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_6.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_64.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_646.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_66.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_q.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_q4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_q4.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_q46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_q46.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg16_q6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg16_q6.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_4.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_44.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_446.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_446.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_46.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_6.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_64.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_646.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_66.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_q.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_q4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_q4.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_q46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_q46.png -------------------------------------------------------------------------------- /src/generated_icons/darkfg32_q6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/darkfg32_q6.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_4.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_44.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_446.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_446.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_46.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_6.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_64.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_646.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_66.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_q.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_q4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_q4.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_q46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_q46.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg16_q6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg16_q6.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_4.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_44.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_446.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_446.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_46.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_6.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_64.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_646.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_66.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_q.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_q4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_q4.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_q46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_q46.png -------------------------------------------------------------------------------- /src/generated_icons/lightfg32_q6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/generated_icons/lightfg32_q6.png -------------------------------------------------------------------------------- /src/gray_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/gray_lock.png -------------------------------------------------------------------------------- /src/gray_schrodingers_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/gray_schrodingers_lock.png -------------------------------------------------------------------------------- /src/gray_unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/gray_unlock.png -------------------------------------------------------------------------------- /src/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/icon128.png -------------------------------------------------------------------------------- /src/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/icon16.png -------------------------------------------------------------------------------- /src/icon16_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/icon16_transparent.png -------------------------------------------------------------------------------- /src/iputil.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/iputil.js -------------------------------------------------------------------------------- /src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest.json -------------------------------------------------------------------------------- /src/manifest/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest/README.md -------------------------------------------------------------------------------- /src/manifest/chrome-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest/chrome-manifest.json -------------------------------------------------------------------------------- /src/manifest/firefox-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest/firefox-manifest.json -------------------------------------------------------------------------------- /src/manifest/use_chrome_manifest.sh.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest/use_chrome_manifest.sh.bat -------------------------------------------------------------------------------- /src/manifest/use_firefox_manifest.sh.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/manifest/use_firefox_manifest.sh.bat -------------------------------------------------------------------------------- /src/options.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/options.html -------------------------------------------------------------------------------- /src/options.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/options.js -------------------------------------------------------------------------------- /src/popup.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/popup.html -------------------------------------------------------------------------------- /src/popup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/popup.js -------------------------------------------------------------------------------- /src/prefetch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/prefetch.png -------------------------------------------------------------------------------- /src/serviceworker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/serviceworker.png -------------------------------------------------------------------------------- /src/snip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/snip.png -------------------------------------------------------------------------------- /src/websocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/src/websocket.png -------------------------------------------------------------------------------- /tests/iputil_test.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/tests/iputil_test.html -------------------------------------------------------------------------------- /tests/tinytest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pmarks-net/ipvfoo/HEAD/tests/tinytest.js --------------------------------------------------------------------------------