[tor-commits] [flashproxy/master] Move embed JavaScript into a separate file flashproxy.js.
dcf at torproject.org
dcf at torproject.org
Mon Apr 9 04:08:41 UTC 2012
commit f7b5cc69853aab33052608441ecba463f370ab24
Author: David Fifield <david at bamsoftware.com>
Date: Sun Mar 11 21:51:16 2012 -0700
Move embed JavaScript into a separate file flashproxy.js.
---
embed.html | 146 +--------------------------------------------------------
flashproxy.js | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 142 insertions(+), 145 deletions(-)
diff --git a/embed.html b/embed.html
index fde5ba8..ce3c1b4 100644
--- a/embed.html
+++ b/embed.html
@@ -2,148 +2,6 @@
<html>
<head>
<meta http-equiv="refresh" content="86400">
-<script type="text/javascript">
-/* Are circumstances such that we should self-disable and not be a
- proxy? We take a best-effort guess as to whether this device runs on
- a battery or the data transfer might be expensive.
-
- Matching mobile User-Agents is complex; but we only need to match
- those devices that can also run a recent version of Adobe Flash,
- which is a subset of this list:
- https://secure.wikimedia.org/wikipedia/en/wiki/Adobe_Flash_Player#Mobile_operating_systems
-
- Other resources:
- http://www.zytrax.com/tech/web/mobile_ids.html
- http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html
- http://search.cpan.org/~cmanley/Mobile-UserAgent-1.05/lib/Mobile/UserAgent.pm
-*/
-function flashproxy_should_disable()
-{
- var ua;
-
- ua = window.navigator.userAgent;
- if (ua != null) {
- var UA_LIST = [
- /\bmobile\b/i,
- /\bandroid\b/i,
- /\bopera mobi\b/i,
- ];
-
- for (var i = 0; i < UA_LIST.length; i++) {
- var re = UA_LIST[i];
-
- if (ua.match(re)) {
- return true;
- }
- }
- }
-
- return false;
-}
-
-/* Create and return a DOM fragment:
-<span id=BADGE_ID>
-<a href=FLASHPROXY_INFO_URL>
- child
-</a>
-</span>
-*/
-function flashproxy_make_container(child)
-{
- var BADGE_ID = "flashproxy-badge";
- var FLASHPROXY_INFO_URL = "https://crypto.stanford.edu/flashproxy/";
-
- var container;
- var a;
-
- container = document.createElement("span");
- container.setAttribute("id", "flashproxy-badge");
- a = document.createElement("a");
- a.setAttribute("href", FLASHPROXY_INFO_URL);
- a.appendChild(child)
- container.appendChild(a);
-
- return container;
-}
-
-/* Create and return a DOM fragment:
-<object width=WIDTH height=HEIGHT>
- <param name="movie" value=SWFCAT_URL>
- <param name="flashvars" value=FLASHVARS>
- <embed src=SWFCAT_URL width=WIDTH height=HEIGHT flashvars=FLASHVARS></embed>
-</object>
-*/
-function flashproxy_make_badge()
-{
- var WIDTH = 70;
- var HEIGHT = 23;
- var FLASHVARS = "";
- var SWFCAT_URL = "https://crypto.stanford.edu/flashproxy/swfcat.swf";
-
- var object;
- var param;
- var embed;
-
- object = document.createElement("object");
- object.setAttribute("width", WIDTH);
- object.setAttribute("height", HEIGHT);
-
- param = document.createElement("param");
- param.setAttribute("name", "movie");
- param.setAttribute("value", SWFCAT_URL);
- object.appendChild(param);
- param = document.createElement("param");
- param.setAttribute("name", "flashvars");
- param.setAttribute("value", FLASHVARS);
- object.appendChild(param);
-
- embed = document.createElement("embed");
- embed.setAttribute("src", SWFCAT_URL);
- embed.setAttribute("width", WIDTH);
- embed.setAttribute("height", HEIGHT);
- embed.setAttribute("flashvars", FLASHVARS);
- object.appendChild(embed);
-
- return object;
-}
-
-/* Create and return a non-functional placeholder badge DOM fragment:
-<img src=BADGE_IMAGE_URL border="0">
-*/
-function flashproxy_make_dummy_badge()
-{
- var BADGE_IMAGE_URL = "https://crypto.stanford.edu/flashproxy/badge.png";
-
- var img;
-
- img = document.createElement("img");
- img.setAttribute("src", BADGE_IMAGE_URL);
- img.setAttribute("border", 0);
-
- return img;
-}
-
-function flashproxy_badge_insert()
-{
- var badge;
- var e;
-
- if (flashproxy_should_disable()) {
- badge = flashproxy_make_dummy_badge();
- } else {
- badge = flashproxy_make_badge();
- }
-
- /* http://intertwingly.net/blog/2006/11/10/Thats-Not-Write for this trick to
- insert right after the <script> element in the DOM. */
- e = document;
- while (e.lastChild && e.lastChild.nodeType == 1) {
- e = e.lastChild;
- }
- e.parentNode.appendChild(flashproxy_make_container(badge));
-}
-</script>
-
<style type="text/css">
body {
margin: 0;
@@ -152,9 +10,7 @@ body {
</style>
</head>
<body>
-<script type="text/javascript">
-flashproxy_badge_insert();
-</script>
+<script type="text/javascript" src="flashproxy.js"></script>
<noscript>
<a href="https://crypto.stanford.edu/flashproxy/" target="_parent"><img src="badge.png" border="0" alt="I support Internet freedom"></a>
</noscript>
diff --git a/flashproxy.js b/flashproxy.js
new file mode 100644
index 0000000..30ad616
--- /dev/null
+++ b/flashproxy.js
@@ -0,0 +1,141 @@
+/* Are circumstances such that we should self-disable and not be a
+ proxy? We take a best-effort guess as to whether this device runs on
+ a battery or the data transfer might be expensive.
+
+ Matching mobile User-Agents is complex; but we only need to match
+ those devices that can also run a recent version of Adobe Flash,
+ which is a subset of this list:
+ https://secure.wikimedia.org/wikipedia/en/wiki/Adobe_Flash_Player#Mobile_operating_systems
+
+ Other resources:
+ http://www.zytrax.com/tech/web/mobile_ids.html
+ http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html
+ http://search.cpan.org/~cmanley/Mobile-UserAgent-1.05/lib/Mobile/UserAgent.pm
+*/
+function flashproxy_should_disable()
+{
+ var ua;
+
+ ua = window.navigator.userAgent;
+ if (ua != null) {
+ var UA_LIST = [
+ /\bmobile\b/i,
+ /\bandroid\b/i,
+ /\bopera mobi\b/i,
+ ];
+
+ for (var i = 0; i < UA_LIST.length; i++) {
+ var re = UA_LIST[i];
+
+ if (ua.match(re)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+/* Create and return a DOM fragment:
+<span id=BADGE_ID>
+<a href=FLASHPROXY_INFO_URL>
+ child
+</a>
+</span>
+*/
+function flashproxy_make_container(child)
+{
+ var BADGE_ID = "flashproxy-badge";
+ var FLASHPROXY_INFO_URL = "https://crypto.stanford.edu/flashproxy/";
+
+ var container;
+ var a;
+
+ container = document.createElement("span");
+ container.setAttribute("id", "flashproxy-badge");
+ a = document.createElement("a");
+ a.setAttribute("href", FLASHPROXY_INFO_URL);
+ a.appendChild(child)
+ container.appendChild(a);
+
+ return container;
+}
+
+/* Create and return a DOM fragment:
+<object width=WIDTH height=HEIGHT>
+ <param name="movie" value=SWFCAT_URL>
+ <param name="flashvars" value=FLASHVARS>
+ <embed src=SWFCAT_URL width=WIDTH height=HEIGHT flashvars=FLASHVARS></embed>
+</object>
+*/
+function flashproxy_make_badge()
+{
+ var WIDTH = 70;
+ var HEIGHT = 23;
+ var FLASHVARS = "";
+ var SWFCAT_URL = "https://crypto.stanford.edu/flashproxy/swfcat.swf";
+
+ var object;
+ var param;
+ var embed;
+
+ object = document.createElement("object");
+ object.setAttribute("width", WIDTH);
+ object.setAttribute("height", HEIGHT);
+
+ param = document.createElement("param");
+ param.setAttribute("name", "movie");
+ param.setAttribute("value", SWFCAT_URL);
+ object.appendChild(param);
+ param = document.createElement("param");
+ param.setAttribute("name", "flashvars");
+ param.setAttribute("value", FLASHVARS);
+ object.appendChild(param);
+
+ embed = document.createElement("embed");
+ embed.setAttribute("src", SWFCAT_URL);
+ embed.setAttribute("width", WIDTH);
+ embed.setAttribute("height", HEIGHT);
+ embed.setAttribute("flashvars", FLASHVARS);
+ object.appendChild(embed);
+
+ return object;
+}
+
+/* Create and return a non-functional placeholder badge DOM fragment:
+<img src=BADGE_IMAGE_URL border="0">
+*/
+function flashproxy_make_dummy_badge()
+{
+ var BADGE_IMAGE_URL = "https://crypto.stanford.edu/flashproxy/badge.png";
+
+ var img;
+
+ img = document.createElement("img");
+ img.setAttribute("src", BADGE_IMAGE_URL);
+ img.setAttribute("border", 0);
+
+ return img;
+}
+
+function flashproxy_badge_insert()
+{
+ var badge;
+ var e;
+
+ if (flashproxy_should_disable()) {
+ badge = flashproxy_make_dummy_badge();
+ } else {
+ badge = flashproxy_make_badge();
+ }
+
+ /* http://intertwingly.net/blog/2006/11/10/Thats-Not-Write for this trick to
+ insert right after the <script> element in the DOM. */
+ e = document;
+ while (e.lastChild && e.lastChild.nodeType == 1) {
+ e = e.lastChild;
+ }
+ e.parentNode.appendChild(flashproxy_make_container(badge));
+}
+
+flashproxy_badge_insert();
More information about the tor-commits
mailing list