From 4cc167244486325052e7043603b652d4bb480e51 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:44:25 -0700 Subject: [PATCH 1/6] Omit protocol to preserve scheme of current page --- assets/css/common.less | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/css/common.less b/assets/css/common.less index 0227084..5c3cb0c 100644 --- a/assets/css/common.less +++ b/assets/css/common.less @@ -10,13 +10,13 @@ font-family: 'Droid Sans'; font-style: normal; font-weight: 400; - src: local('Droid Sans'), local('DroidSans'), url(http://themes.googleusercontent.com/static/fonts/droidsans/v3/s-BiyweUPV0v-yRb-cjciBsxEYwM7FgeyaSgU71cLG0.woff) format('woff'); + src: local('Droid Sans'), local('DroidSans'), url(//themes.googleusercontent.com/static/fonts/droidsans/v3/s-BiyweUPV0v-yRb-cjciBsxEYwM7FgeyaSgU71cLG0.woff) format('woff'); } @font-face { font-family: 'Droid Sans'; font-style: normal; font-weight: 700; - src: local('Droid Sans Bold'), local('DroidSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/droidsans/v3/EFpQQyG9GqCrobXxL-KRMQFhaRv2pGgT5Kf0An0s4MM.woff) format('woff'); + src: local('Droid Sans Bold'), local('DroidSans-Bold'), url(//themes.googleusercontent.com/static/fonts/droidsans/v3/EFpQQyG9GqCrobXxL-KRMQFhaRv2pGgT5Kf0An0s4MM.woff) format('woff'); } * { @@ -455,4 +455,4 @@ footer { opacity: 0.5; } 66% {} -} \ No newline at end of file +} From ebc25ac61e1964aea81c4eb005b5309304d12442 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:50:54 -0700 Subject: [PATCH 2/6] Specify websocket protocol based on window.location protocol --- assets/js/modules/socketconnection.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/js/modules/socketconnection.coffee b/assets/js/modules/socketconnection.coffee index 1e26df5..8fbe352 100644 --- a/assets/js/modules/socketconnection.coffee +++ b/assets/js/modules/socketconnection.coffee @@ -10,7 +10,8 @@ socketConnection = (pasteboard) -> getID: () -> return ID init: () -> return unless @isSupported() - connection = new WebSocket("ws://#{window.location.hostname}:#{SOCKET_PORT}") + protocol = if window.location.protocol == "http:" then "ws:" else "wss:" + connection = new WebSocket(protocol + "//#{window.location.hostname}:#{SOCKET_PORT}") connection.onmessage = (e) -> try data = JSON.parse(e.data) From 173df5a58715eafcbeb8cad2a483fa13963550aa Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:51:02 -0700 Subject: [PATCH 3/6] Set domain using env variable ORIGIN The internal variable should probably be renamed to origin as well --- config/environments.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments.coffee b/config/environments.coffee index 458065b..04b321e 100644 --- a/config/environments.coffee +++ b/config/environments.coffee @@ -19,7 +19,7 @@ exports.init = (app, express) -> # Set app.set "localrun", process.env.LOCAL or false app.set "port", process.env.PORT or 3000 - app.set "domain", "http://pasteboard.co" + app.set "domain", process.env.ORIGIN or "http://pasteboard.co" # Amazon S3 connection settings (using knox) if auth.amazon From 67d757aa8faefbe337a9e3e23db6581ad8c70f02 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:51:10 -0700 Subject: [PATCH 4/6] Generate image urls based on domain config --- helpers/common.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/common.coffee b/helpers/common.coffee index 6a70db9..e627d53 100644 --- a/helpers/common.coffee +++ b/helpers/common.coffee @@ -40,7 +40,7 @@ exports.imageURL = (req, image) -> base = auth.amazon.CDN_URL or "http://#{auth.amazon.S3_BUCKET}.s3.amazonaws.com" return "#{base}#{req.app.get "amazonFilePath"}#{image}" else - "http://#{req.headers.host}#{req.app.get "localStorageURL"}#{image}" + return "#{req.app.get "domain"}#{req.app.get "localStorageURL"}#{image}" # Generate the image owner key imageOwnerKey = (image) -> From 51cb07350bf4ddc037d4c159189a00b8de3dacbb Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:51:21 -0700 Subject: [PATCH 5/6] Derive value of external port from ORIGIN This will make the port value be set correctly should pasteboard be behind a reverse proxy --- config/environments.coffee | 10 +++++++++- controllers/main.coffee | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config/environments.coffee b/config/environments.coffee index 04b321e..cf466a1 100644 --- a/config/environments.coffee +++ b/config/environments.coffee @@ -2,6 +2,7 @@ # Environment Configuration ### auth = require "../auth" +url = require "url" exports.init = (app, express) -> # General @@ -18,8 +19,15 @@ exports.init = (app, express) -> # Set app.set "localrun", process.env.LOCAL or false + # The port where the server listens app.set "port", process.env.PORT or 3000 - app.set "domain", process.env.ORIGIN or "http://pasteboard.co" + + if process.env.ORIGIN + app.set "domain", process.env.ORIGIN + app.set "externalPort", url.parse(process.env.ORIGIN).port or 443 + else + app.set "domain", "http://pasteboard.co" + app.set "externalPort", app.get "port" # Amazon S3 connection settings (using knox) if auth.amazon diff --git a/controllers/main.coffee b/controllers/main.coffee index 219da31..4bb1ab7 100644 --- a/controllers/main.coffee +++ b/controllers/main.coffee @@ -17,7 +17,7 @@ post = {} # The index page get.index = (req, res) -> viewData = - port: req.app.get "port" + port: req.app.get "externalPort" redirected: false useAnalytics: false trackingCode: "" From 4f83c74e03edb1c98a76b8ee51a82caca992d753 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 23 Mar 2016 18:51:29 -0700 Subject: [PATCH 6/6] use dynamic image urls for twitter and facebook integration --- views/image.ejs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/image.ejs b/views/image.ejs index 285a8c1..690efd9 100644 --- a/views/image.ejs +++ b/views/image.ejs @@ -6,7 +6,7 @@ - + @@ -46,8 +46,8 @@ Embed URL: - - + + Download image <% if (isImageOwner) { %>