diff --git a/.gitignore b/.gitignore
index 74b7586..211d86a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,5 @@
 
 # vercel
 .vercel
+
+.direnv/
diff --git a/Components/Transcripts/Embed.js b/Components/Transcripts/Embed.js
index 43b1ac4..d793b98 100644
--- a/Components/Transcripts/Embed.js
+++ b/Components/Transcripts/Embed.js
@@ -36,7 +36,7 @@
             return <Image key={index} src={`https://cdn.discord.com/emojis/${item.replaceAll(/\D/g, '')}`} width={20} height={20} alt="" />
         }
         if (item.match(user)) {
-            const username = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/users/${item.replaceAll(/\D/g, '')}`)).data;
+            const username = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}users/${item.replaceAll(/\D/g, '')}`)).data;
             console.log(username)
             return <>{username}</>
 
diff --git a/next.config.js b/next.config.js
index 86c2e9d..4d67c66 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,3 +1,5 @@
+require('dotenv').config();
+
 module.exports = {
   reactStrictMode: true,
   webpack(config) {
@@ -37,5 +39,8 @@
   },
   images: {
     domains: ["picsum.photos", "cdn.discordapp.com"]
+  },
+  env: {
+    NUCLEUS_CALLBACK: process.env.NUCLEUS_CALLBACK,
   }
-};
\ No newline at end of file
+};
diff --git a/package.json b/package.json
index f85ee32..5f9eea4 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
     "@next/bundle-analyzer": "^12.1.6",
     "@svgr/webpack": "^5.5.0",
     "axios": "^0.21.1",
+    "dotenv": "^16.0.3",
     "fs": "^0.0.1-security",
     "human-date": "^1.4.0",
     "js-cookie": "^3.0.1",
diff --git a/pages/api/nucleus/verify/complete.js b/pages/api/nucleus/verify/complete.js
index 0183270..d8b6a0f 100644
--- a/pages/api/nucleus/verify/complete.js
+++ b/pages/api/nucleus/verify/complete.js
@@ -11,7 +11,7 @@
         return res.status(200).send({success: false})
     }
     try {
-        await Axios.post(`http://${process.env.NUCLEUS_CALLBACK}/verify/${req.body.code}`, {
+        await Axios.post(`${process.env.NUCLEUS_CALLBACK}verify/${req.body.code}`, {
             secret: process.env.VERIFY_SECRET
         });
     } catch (e) {
@@ -20,4 +20,4 @@
     return res.status(200).send({success: true});
 }
 
-export default Complete;
\ No newline at end of file
+export default Complete;
diff --git "a/pages/nucleus/transcript/\133code\135/human.js" "b/pages/nucleus/transcript/\133code\135/human.js"
index 89d2370..6af671e 100644
--- "a/pages/nucleus/transcript/\133code\135/human.js"
+++ "b/pages/nucleus/transcript/\133code\135/human.js"
@@ -13,7 +13,7 @@
     }
     let code;
     try {
-        code = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}`))
+        code = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}`))
     } catch (e) {
         return {
             redirect: {
@@ -24,7 +24,7 @@
     }
     return {
         redirect: {
-            destination: `http://${process.env.NUCLEUS_CALLBACK}/transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}/human`,
+            destination: `${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}/human`,
             permanent: true
         }
     }
diff --git "a/pages/nucleus/transcript/\133code\135/index.js" "b/pages/nucleus/transcript/\133code\135/index.js"
index a08bf0c..3fc2ed6 100644
--- "a/pages/nucleus/transcript/\133code\135/index.js"
+++ "b/pages/nucleus/transcript/\133code\135/index.js"
@@ -27,7 +27,7 @@
         for (let i = 0; i < users.length; i++) {
             const user = users[i];
             const userID = user.replaceAll(/\D/g, '');
-            const username = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/users/${userID}`)).data;
+            const username = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}users/${userID}`)).data;
             dict["users"][user.replaceAll(/<@|>/g, '')] = username;
         }
     }
@@ -36,7 +36,7 @@
         for (let i = 0; i < channels.length; i++) {
             const channel = channels[i];
             const channelID = channel.replaceAll(/\D/g, '');
-            const channelName = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/channels/${channelID}`)).data;
+            const channelName = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}channels/${channelID}`)).data;
             dict["channels"][channel] = channelName;
         }
     }
@@ -132,32 +132,35 @@
             }
         }
     }
-    return {
+    /*return {
         redirect: {
             destination: `/nucleus/transcript/${ctx.params.code}/human?key=${ctx.query.key}&iv=${ctx.query.iv}`,
             permanent: true
         }
+    }*/
+    let code;
+    console.log("getting props")
+    try {
+        code = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}`));
+    } catch (e) {
+	console.log(e)
+	console.log(`${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}?key=${ctx.query.key}&iv=${ctx.query.iv}`)
+        return {
+            redirect: {
+                destination: '/nucleus/transcript/invalid',
+                permanent: true
+            }
+        }
     }
-    // let code;
-    // try {
-    //     code = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/transcript/${ctx.params.code}?key=${ctx.query.key&iv=${ctx.query.iv}`))
-    // } catch (e) {
-    //     return {
-    //         redirect: {
-    //             destination: '/nucleus/transcript/invalid',
-    //             permanent: true
-    //         }
-    //     }
-    // }
-    // const linkedData = await parse(code.data.messages)
+    const linkedData = await parse(code.data.messages)
 
-    // const channelName = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/channels/${code.data.channel}`)).data;
+    const channelName = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}channels/${code.data.channel}`)).data;
 
-    // return {
-    //     props: {
-    //         data: code.data,
-    //         linkedData,
-    //         channelName
-    //     }
-    // }
+    return {
+        props: {
+            data: code.data,
+            linkedData,
+            channelName
+        }
+    }
 }
diff --git "a/pages/nucleus/transcript/\133code\135/raw.js" "b/pages/nucleus/transcript/\133code\135/raw.js"
index da6ac40..f06c64f 100644
--- "a/pages/nucleus/transcript/\133code\135/raw.js"
+++ "b/pages/nucleus/transcript/\133code\135/raw.js"
@@ -14,7 +14,7 @@
     }
     let code;
     try {
-        code = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/transcript/${ctx.params.code}`))
+        code = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}`))
     } catch (e) {
         return {
             redirect: {
@@ -25,8 +25,8 @@
     }
     return {
         redirect: {
-            destination: `http://${process.env.NUCLEUS_CALLBACK}/transcript/${ctx.params.code}`,
+            destination: `${process.env.NUCLEUS_CALLBACK}transcript/${ctx.params.code}`,
             permanent: true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/pages/nucleus/verify/index.js b/pages/nucleus/verify/index.js
index 9c84b84..24a0a90 100644
--- a/pages/nucleus/verify/index.js
+++ b/pages/nucleus/verify/index.js
@@ -87,7 +87,7 @@
     }
     let code;
     try {
-        code = await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/verify/${ctx.query.code}`);
+        code = await Axios.get(`${process.env.NUCLEUS_CALLBACK}verify/${ctx.query.code}`);
     } catch (e) {
         return {
             redirect: {
@@ -109,4 +109,4 @@
             code: ctx.query.code
         }
     }
-}
\ No newline at end of file
+}
diff --git a/todo/rolemenu/index.js b/todo/rolemenu/index.js
index ca7e493..b233a45 100644
--- a/todo/rolemenu/index.js
+++ b/todo/rolemenu/index.js
@@ -107,7 +107,7 @@
     }
     let code;
     try {
-        code = (await Axios.get(`http://${process.env.NUCLEUS_CALLBACK}/rolemenu/${ctx.query.code}`)).data;
+        code = (await Axios.get(`${process.env.NUCLEUS_CALLBACK}rolemenu/${ctx.query.code}`)).data;
     } catch (e) {
         return {
             redirect: {
@@ -128,4 +128,4 @@
             headers: headers
         }
     }
-}
\ No newline at end of file
+}
diff --git a/yarn.lock b/yarn.lock
index dbf855d..9186f3d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3130,6 +3130,11 @@
     domelementtype "^2.2.0"
     domhandler "^4.2.0"
 
+dotenv@^16.0.3:
+  version "16.0.3"
+  resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
+  integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
+
 duplexer@^0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
