Expose allows you to share any kind of HTTP/HTTPS traffic for websites that you can reach on your own computer, with anyone on the internet.
There are multiple different ways on how you can initiate the site sharing with Expose.
To share the current working directory with expose, all you need to do is go into the directory and call
This makes the assumption that you have access to the current working directory name as a domain with the
If you are using Laravel Valet, the configured Valet subdomain will automatically be detected.
If you are using a different domain for your local sites, you can change the default TLD that expose uses in the configuration file.
# Will share a local site "my-site.test" as "my-site.EXPOSE-SERVER" ~/Sites/my-site/ expose # Will share a local site "api.my-site.test" as "api-my-site.EXPOSE-SERVER" ~/Sites/api.my-site/ expose
If you want to explicitly share a local URL, without going into a specific folder first, you can do this by using the
expose share command.
By default, this command will generate a unique subdomain for the shared URL.
# Will share access to http://192.168.2.100 using a randomly generated subdomain expose share http://192.168.2.100 # Will share access to http://my-local-site.dev using a randomly generated subdomain expose share my-local-site.dev
You can also share one of your local sites explicitly and specify which exact subdomain you want Expose to use when sharing the site.
This works similar to the paid offerings of Ngrok - but you can use it with your own custom server.
To specify the subdomain, pass the
--subdomain option to expose:
expose share my-site.test --subdomain=my-site
If the chosen subdomain is already taken on the Expose server, you will see an error message and the connection to the Expose server gets closed.