Compare commits

..

2 commits

Author SHA1 Message Date
4a684295fd Finished up HRT Archive. 2026-05-13 02:11:41 -04:00
084acabae1 Started work on community DIY HRT Archive 2026-05-13 01:33:35 -04:00
5 changed files with 122 additions and 1 deletions

1
.gitignore vendored
View file

@ -10,3 +10,4 @@ server.cert
server.key
www/nonfree/*
migration/*
www/hrt.zip

View file

@ -0,0 +1,28 @@
/*Canopy - The next generation of stoner streaming software
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//Config
const config = require('../../config.json');
const package = require('../../package.json');
//Local Imports
const csrfUtils = require('../utils/csrfUtils');
//register page functions
module.exports.get = async function(req, res){
//Render page
return res.render('hrt', {instance: config.instanceName, user: req.session.user, csrfToken: csrfUtils.generateToken(req)});
}

34
src/routers/hrtRouter.js Normal file
View file

@ -0,0 +1,34 @@
/*Canopy - The next generation of stoner streaming software
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//npm imports
const { Router } = require('express');
//local imports
const hrtController = require("../controllers/hrtController");
const presenceUtils = require("../utils/presenceUtils");
//globals
const router = Router();
//Use presence middleware
router.use(presenceUtils.presenceMiddleware);
//routing functions
router.get('/', hrtController.get);
module.exports = router;

View file

@ -55,6 +55,7 @@ const fileNotFoundController = require('./controllers/404Controller');
//Humie-Friendly
const indexRouter = require('./routers/indexRouter');
const aboutRouter = require('./routers/aboutRouter');
const hrtRouter = require('./routers/hrtRouter');
const registerRouter = require('./routers/registerRouter');
const loginRouter = require('./routers/loginRouter');
const profileRouter = require('./routers/profileRouter');
@ -179,6 +180,7 @@ app.use(sessionUtils.rememberMeMiddleware);
//Humie-Friendly
app.use('/', indexRouter);
app.use('/about', aboutRouter);
app.use('/hrt', hrtRouter);
app.use('/register', registerRouter);
app.use('/login', loginRouter);
app.use('/profile', profileRouter);

56
src/views/hrt.ejs Normal file
View file

@ -0,0 +1,56 @@
<%# Canopy - The next generation of stoner streaming software
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. %>
<!DOCTYPE html>
<html>
<head>
<%- include('partial/styles', {instance, user}); %>
<%- include('partial/csrfToken', {csrfToken}); %>
<link rel="stylesheet" type="text/css" href="css/about.css">
<title><%= instance %> - DIY HRT Archive</title>
</head>
<body>
<%- include('partial/navbar', {user}); %>
<div id="about-div">
<h1>Bowie's DIY HRT Archive</h1>
<div class="dynamic-container" id="about-text">
<br>
This page is an attempt at putting together everything I know about DIY HRT.
<br><br>
So far I have used Homebrew Sublingual Oil from Open Gate Labs with great results, and have received a small batch of raw estradoil from Dragon Ordnance.
<br><br>
I am currently in the process of figuring out brewing my own sublingual oil.
<br><br>
<a href="/hrt.zip"><h3>This zip file contains everything I know.</h3></a>
<br>
<span>You should probably use <a href="https://www.torproject.org/">TOR</a> or a <a href="https://mullvad.net">decent VPN</a> in either an <a href="https://tails.net">amnesiac OS</a> or <a href="https://qubes-os.org">dispoable VM.</a> Everything paid w/ either <a href="https://www.getmonero.org/">XMR</a> or <a href="https://mullvad.net/en/blog/sending-cash-use-our-new-address">cash by mail</a>.</span>
<br><br>
<span class="critical-danger-text">
This page is not intended to be a replacement for professional medical advice, merely an attempt at harm reduction for my friends.
It should be used at most as a starting point for research. Everyone's HRT experience, and really transition, are unique and individual journeys.
Take the time to do the best research you can, to make sure you're starting and continuing yours correctly.
</span>
<br><br>
Much love, and remember to take your meds!
<br><br>
&nbsp;&nbsp;&nbsp;-rainbownapkin &lt;3
<br>&nbsp;
</div>
</div>
</body>
<footer>
<%- include('partial/scripts', {user}); %>
</footer>
</html>