PageSourceSearch

https://www.twingate.com/docs-assets/5f397c1/docs/component---src-…nt-server-index-mdx-ec1def1afb2b75e00e31.js

js twingate.com collected 2026-09-24 08:32:35 UTC 7,108 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunktwingate_homepage=self.webpackChunktwingate_homepage||[]).push([[3413],{42292:function(e,t,n){n.r(t),n.d(t,{Head:function(){return O},default:function(){return q}});var o=n(96540),a=n(28453);function r(e){const t=Object.assign({p:"p",a:"a"},(0,a.RP)(),e.components);return o.createElement(o.Fragment,null,o.createElement(t.p,null,"Developers commonly set up servers to create a personal development environment that supports their work. These servers are sometimes located in an office’s server room, or under the desks of developers (providing easy access in case of maintenance issues, and also for performance reasons). After the COVID-19 pandemic started, one of our customer’s offices became physically inaccessible, so some of their developers took their servers home."),"\n",o.createElement(t.p,null,"However, this raised an issue of sharing access to that development server with coworkers, since these servers were now sitting on home networks rather than the office network. Sharing access to development servers allows developers to collaborate - such as sharing in-progress work for testing or review, without requiring others to spin up their own servers."),"\n",o.createElement(t.p,null,"Two common workarounds - ",o.createElement(t.a,{href:"https://en.wikipedia.org/wiki/Port_forwarding"},"port forwarding")," and setting up a VPN - make developers uncomfortable. Each workaround makes elements of a user’s home network visible to the internet, creating an exposure to attackers and placing a heavier burden on the developer to secure their network."),"\n",o.createElement(t.p,null,"Twingate is a solution for a situation like this. With Twingate, not only can resources on private home networks be made accessible to specific coworkers, but access can also be narrowly restricted to individual resources on that network (in this case, just the development server)."),"\n",o.createElement(t.p,null,"Importantly, Twingate is architected in a way that does not require users to expose any element of their home network to the internet. No router ports need to be opened, and no VPN server needs to be deployed. In fact, nothing about the user’s existing home network needs to be reconfigured. This keeps the home network safe from third parties, and only the development server is made accessible to coworkers who have expressly been granted access."),"\n",o.createElement(t.p,null,"This use case can be implemented by the user ",o.createElement(t.a,{href:"/docs-assets/5f397c1/docs/connector-deployment"},"deploying a Connector")," on their development server, and adding the development server as a ",o.createElement(t.a,{href:"/docs-assets/5f397c1/docs/quick-start#define-a-resource"},"resource")," in Twingate."))}var s=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,a.RP)(),e.components);return t?o.createElement(t,e,o.createElement(r,e)):r(e)},i=n(35309),l=n(71623),c=n(84343),d=n(48291),p=n(17816),h=n(75131),m=n(22792),u=n(43611),g=n(63377),v=n(42452),f=n(1805),x=n(2976),w=n(64190),b=n(83900),k=n(43285),j=n(22009),y=n(28789),T=n(61540),C=n(21145),E=n(16204),S=n(35935),I=n(74848);function O(e){var t,n,o,a,r,s;const{data:i,location:c,pageContext:p}=e,{mdx:m,docsSocialImage:u}=i,g=null==m||null===(t=m.frontmatter)||void 0===t?void 0:t.title,v=(null==m||null===(n=m.frontmatter)||void 0===n?void 0:n.description)||(null==m||null===(o=m.frontmatter)||void 0===o?void 0:o.subtitle),f=null==m||null===(a=m.frontmatter)||void 0===a?void 0:a.keywords,{docsMetadata:x}=(0,E.M)(),w=v||(null==x?void 0:x.description),b=(0,S.f)((0,h.Z)(m),null!==(r=p.navigationTree)&&void 0!==r?r:[],g),j=b.length>1;return(0,I.jsxs)(k.k,{title:g,description:w,keywords:f,pathname:c.pathname,image:null==u||null===(s=u.childImageSharp)||void 0===s?void 0:s.original,children:[(0,I.jsx)(l.d,{mdx:m,pathname:c.pathname,description:w,hasBreadcrumb:j}),(0,I.jsx)(d.g,{path:b,pathname:c.pathname})]})}function P(e){var t,n,o;const{children:a,data:r,pageContext:s,location:l}=e,{mdx:d}=r,{navigationTree:k}=s,E=(0,j._)(),O=null==d?void 0:d.frontmatter,P="two-column"===(null==O||null===(t=O.docs)||void 0===t?void 0:t.layout),q=`https://www.twingate.com${l.pathname}`;let B=null!==(n=null==O||null===(o=O.docs)||void 0===o?void 0:o.aiPrompt)&&void 0!==n?n:`Take a look at this page: ${q} and walk me through it`;B.includes("{{url}}")&&(B=B.replace("{{url}}",q));const R=[{id:"open-chatgpt",icon:(0,I.jsx)(y.IconChatGPT,{}),label:"Open in ChatGPT",description:"Ask questions about this page",href:`https://chatgpt.com/?hints=search&q=${encodeURIComponent(B)}`},{id:"open-claude",icon:(0,I.jsx)(T.IconClaude,{}),label:"Open in Claude",description:"Ask questions about this page",href:`https://claude.ai/new?q=${encodeURIComponent(B)}`}],A=(0,h.Z)(d),W=null==O?void 0:O.title,G=(0,S.f)(A,k,W),{isVideoOverlayOpen:V}=E;return(0,I.jsx)(j.jx,{value:E,children:(0,I.jsxs)(g.P,{children:[(0,I.jsx)(C.R,{currentPath:G,navItems:k,pathname:l.pathname,visibility:["visible","visible","hidden"],height:["auto","auto",0]}),(0,I.jsx)(f.a,{as:"section",paddingTopSpacing:[3,4,6],paddingBottomSpacing:[4,0],boxSizing:"content-box",children:(0,I.jsx)(x.m,{maxWidth:"xl",disableGutters:!0,children:(0,I.jsxs)(w.x,{gridGap:["0","0","2rem","4rem","6rem","9rem"],gridTemplateColumns:["repeat(12, 1fr)","repeat(12, 1fr)","248px minmax(0, 1fr) 240px","248px minmax(0, 1fr) 240px","248px minmax(0, 1fr) 240px"],children:[(0,I.jsx)(f.a,{display:["none","none","block"],gridColumn:"1 / span 1",height:"calc(100vh - 5rem - 3rem)",overflow:"auto",position:"sticky",top:"7rem",children:(0,I.jsx)(m.S,{overflow:"hidden",pathname:l.pathname,items:k,paddingRightSpacing:[0,0],paddingBottomSpacing:2})}),(0,I.jsxs)(f.a,{gridColumn:["1 / span 12","1 / span 12","2 / span 2",P?"2 / span 2":"2 / span 1"],style:{maxWidth:"840px"},children:[(0,I.jsxs)(f.a,{display:"flex",flexDirection:["column-reverse","row","row","column"],justifyContent:["flex-start","space-between","space-between","flex-start"],marginBottomSpacing:[2,3,2,0],children:[(0,I.jsx)(f.a,{children:(0,I.jsx)(i.n,{mdx:d,path:G})}),!P&&(0,I.jsx)(f.a,{display:["block","block","block","none"],marginTopSpacing:[1,2,5],children:(0,I.jsx)(v.W,{items:R,triggerLabel:"Open with AI"})})]}),V&&(0,I.jsx)(f.a,{position:"absolute",width:"100%",height:"100%",left:"0",right:"0",top:"0",children:(0,I.jsx)(u.O,{})}),a&&(0,I.jsx)(f.a,{marginTopSpacing:4,marginBottomSpacing:7,children:(0,I.jsx)(b.b,{children:a})}),(0,I.jsx)(c.n,{mdx:d})]}),!P&&(0,I.jsx)(f.a,{display:["none","none","none","block"],gridColumn:"3 / span 1",children:(0,I.jsxs)(f.a,{position:"sticky",top:"7rem",children:[(0,I.jsx)(f.a,{marginBottomSpacing:3,marginTopSpacing:1,children:(0,I.jsx)(v.W,{items:R,triggerLabel:"Open with AI"})}),(0,I.jsx)(p.M,{mdx:d,locationHash:l.hash})]})})]})})})]})})}function q(e){return o.createElement(P,e,o.createElement(s,e))}}}]);
2//# sourceMappingURL=component---src-templates-docs-mdx-page-template-tsx-content-file-path-content-docs-0-general-guides-remotely-access-a-coworkers-development-server-index-mdx-ec1def1afb2b75e00e31.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.