allow custom domain support to be toggled and IP to be configured
continuous-integration/drone/push Build is passing Detalles

Este commit está contenido en:
Joe 2020-09-05 08:33:30 -05:00
padre 0a6a35e216
commit f6b19251aa
Firmado por: joe
ID de clave GPG: 8595A3F8F2CE1B74
Se han modificado 4 ficheros con 52 adiciones y 22 borrados

Ver fichero

@ -39,8 +39,12 @@ NON_USER_COOLDOWN=0
# Max number of visits for each link to have detailed stats
DEFAULT_MAX_STATS_PER_LINK=5000
# Enable support for custom domains
CUSTOM_DOMAIN_ENABLED=false
# Use HTTPS for links with custom domain
CUSTOM_DOMAIN_USE_HTTPS=false
# IP address to direct custom domains to
CUSTOM_DOMAIN_IP=
# A passphrase to encrypt JWT. Use a long and secure key.
JWT_SECRET=securekey

Ver fichero

@ -75,7 +75,7 @@ const SettingsDomain: FC = () => {
<b>example.com/shorturl.</b>
</Text>
<Text mb={4}>
Point your domain A record to <b>192.64.116.170</b> then add the domain
Point your domain A record to <b>{process.env.CUSTOM_DOMAIN_IP}</b> then add the domain
via form below:
</Text>
{domains.length ? (

Ver fichero

@ -14,29 +14,53 @@ import { useStoreState } from "../store";
const SettingsPage: NextPage = () => {
const email = useStoreState(s => s.auth.email);
const domain = process.env.CUSTOM_DOMAIN_ENABLED;
if (!domain) {
return (
<AppWrapper>
<Col width={600} maxWidth="90%" alignItems="flex-start" pb={80} mt={4}>
<H1 alignItems="center" fontSize={[24, 28]} light>
Welcome,{" "}
<Span pb="2px" style={{ borderBottom: "2px dotted #999" }}>
{email}
</Span>
.
</H1>
<Divider mt={4} mb={48} />
<SettingsPassword />
<Divider mt={4} mb={48} />
<SettingsApi />
<Divider mt={4} mb={48} />
<SettingsDeleteAccount />
</Col>
<Footer />
</AppWrapper>
);
} else {
return (
<AppWrapper>
<Col width={600} maxWidth="90%" alignItems="flex-start" pb={80} mt={4}>
<H1 alignItems="center" fontSize={[24, 28]} light>
Welcome,{" "}
<Span pb="2px" style={{ borderBottom: "2px dotted #999" }}>
{email}
</Span>
.
</H1>
<Divider mt={4} mb={48} />
<SettingsDomain />
<Divider mt={4} mb={48} />
<SettingsPassword />
<Divider mt={4} mb={48} />
<SettingsApi />
<Divider mt={4} mb={48} />
<SettingsDeleteAccount />
</Col>
<Footer />
</AppWrapper>
);
<AppWrapper>
<Col width={600} maxWidth="90%" alignItems="flex-start" pb={80} mt={4}>
<H1 alignItems="center" fontSize={[24, 28]} light>
Welcome,{" "}
<Span pb="2px" style={{ borderBottom: "2px dotted #999" }}>
{email}
</Span>
.
</H1>
<Divider mt={4} mb={48} />
<SettingsDomain />
<Divider mt={4} mb={48} />
<SettingsPassword />
<Divider mt={4} mb={48} />
<SettingsApi />
<Divider mt={4} mb={48} />
<SettingsDeleteAccount />
</Col>
<Footer />
</AppWrapper>
);
};
};
export default SettingsPage;

Ver fichero

@ -22,7 +22,9 @@ const env = cleanEnv(process.env, {
USER_LIMIT_PER_DAY: num({ default: 50 }),
NON_USER_COOLDOWN: num({ default: 10 }),
DEFAULT_MAX_STATS_PER_LINK: num({ default: 5000 }),
CUSTOM_DOMAIN_ENABLED: bool({ default: false }),
CUSTOM_DOMAIN_USE_HTTPS: bool({ default: false }),
CUSTOM_DOMAIN_IP: str({ default: "" }),
JWT_SECRET: str(),
ADMIN_EMAILS: str({ default: "" }),
GOOGLE_SAFE_BROWSING_KEY: str({ default: "" }),