Support localhost

This commit is contained in:
Owen Schwartz 2025-01-04 22:33:25 -05:00
parent f7fe965fdf
commit d064d3c7b5
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
3 changed files with 4 additions and 7 deletions

View file

@ -23,7 +23,7 @@ const createTargetParamsSchema = z
const createTargetSchema = z
.object({
ip: z.string().ip(),
ip: z.string().ip().or(z.literal('localhost')),
method: z.string().min(1).max(10),
port: z.number().int().min(1).max(65535),
protocol: z.string().optional(),

View file

@ -19,7 +19,7 @@ const updateTargetParamsSchema = z
const updateTargetBodySchema = z
.object({
ip: z.string().ip().optional(), // for now we cant update the ip; you will have to delete
ip: z.string().ip().or(z.literal('localhost')).optional(), // for now we cant update the ip; you will have to delete
method: z.string().min(1).max(10).optional(),
port: z.number().int().min(1).max(65535).optional(),
enabled: z.boolean().optional()

View file

@ -59,20 +59,17 @@ import {
SettingsSectionTitle,
SettingsSectionDescription,
SettingsSectionBody,
SettingsSectionForm,
SettingsSectionFooter
} from "@app/components/Settings";
import { SwitchInput } from "@app/components/SwitchInput";
const addTargetSchema = z.object({
ip: z.string().ip(),
ip: z.string().ip().or(z.literal('localhost')),
method: z.string(),
port: z.coerce.number().int().positive()
// protocol: z.string(),
});
type AddTargetFormValues = z.infer<typeof addTargetSchema>;
type LocalTarget = Omit<
ArrayElement<ListTargetsResponse["targets"]> & {
new?: boolean;
@ -182,7 +179,7 @@ export default function ReverseProxyTargets(props: {
// make sure that the target IP is within the site subnet
const targetIp = data.ip;
const subnet = site.subnet;
if (!isIPInSubnet(targetIp, subnet)) {
if (targetIp === "localhost" || !isIPInSubnet(targetIp, subnet)) {
toast({
variant: "destructive",
title: "Invalid target IP",