mirror of
https://github.com/bitinflow/expose.git
synced 2026-03-13 13:35:54 +00:00
add docs
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Basic Authentication
|
||||
order: 2
|
||||
order: 4
|
||||
---
|
||||
|
||||
# Sharing sites with basic authentication
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configuration
|
||||
order: 3
|
||||
order: 6
|
||||
---
|
||||
|
||||
# Configuration
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Dashboard
|
||||
order: 5
|
||||
title: Local Dashboard
|
||||
order: 2
|
||||
---
|
||||
|
||||
# Dashboard
|
||||
|
||||
44
docs/client/global-server-infrastructure.md
Normal file
44
docs/client/global-server-infrastructure.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Global Server Infrastructure
|
||||
order: 4
|
||||
---
|
||||
|
||||
# Global Server Infrastructure ::pro
|
||||
|
||||
[Expose Pro](/get-pro) allows you to choose between multiple Expose servers around the world, so that you can use an endpoint closest to you.
|
||||
|
||||
To get a list of all the available Expose servers, you can run `expose servers`
|
||||
|
||||
```
|
||||
$ expose servers
|
||||
|
||||
+------+---------------------------+------+
|
||||
| Key | Region | Type |
|
||||
+------+---------------------------+------+
|
||||
| eu-1 | EU (Frankfurt) | Pro |
|
||||
| us-1 | US (New York) | Pro |
|
||||
| us-2 | US (San Francisco) | Pro |
|
||||
| ap-1 | Asia Pacific (Singapore) | Pro |
|
||||
| in-1 | India (Bangalore) | Pro |
|
||||
| sa-1 | South America (São Paulo) | Pro |
|
||||
| au-1 | Australia (Sydney) | Pro |
|
||||
+------+---------------------------+------+
|
||||
```
|
||||
|
||||
## Changing servers
|
||||
|
||||
When you share a local URL, or a local TCP port, you can specify the Expose server region, using the `--server` command line option. Pass the server key as the option to connect to this specific server.
|
||||
|
||||
```bash
|
||||
expose share my-local-site.test --server=eu-1
|
||||
```
|
||||
|
||||
## Setting a default server
|
||||
|
||||
Most of the time you will want to always use the server location that is closest to you for all of your Expose commands. You can define the default server that Expose should use, by calling the `expose default-server` command:
|
||||
|
||||
```bash
|
||||
expose default-server us-2
|
||||
```
|
||||
|
||||
Now the next time that you will share a local URL or port, Expose is automatically going to connect to the `us-2` server for your.
|
||||
18
docs/client/sharing-tcp-ports.md
Normal file
18
docs/client/sharing-tcp-ports.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Sharing TCP ports
|
||||
order: 3
|
||||
---
|
||||
|
||||
# Sharing TCP Ports ::pro
|
||||
|
||||
Expose not only allows you to share your local development URLs, but you can also use Expose to share any of your local TCP ports.
|
||||
|
||||
For example, you might want to share your local copy of [HELO](https://usehelo.com) so that your PHP application can send test emails right through your local SMTP server.
|
||||
|
||||
You can share a local TCP port by calling `share-port` followed by the local port number that you want to share:
|
||||
|
||||
```bash
|
||||
expose share-port 2525
|
||||
```
|
||||
|
||||
The Expose server will assign a random TCP port that you can then use on other servers and services to connect to the tunnel.
|
||||
@@ -38,17 +38,17 @@ If your local sites are not available at `foldername.test` you can explicitly sh
|
||||
This is required when sharing sites that have HTTPS locally or Expose can't map local directory names to URLs automatically.
|
||||
|
||||
```bash
|
||||
# Will share access to http://192.168.2.100 using a randomly generated subdomain
|
||||
# Will share access to http://192.168.2.100
|
||||
expose share http://192.168.2.100
|
||||
|
||||
# Will share access to http://my-local-site.dev using a randomly generated subdomain
|
||||
# Will share access to http://my-local-site.dev
|
||||
expose share my-local-site.dev
|
||||
|
||||
# Will share access to https://my-local-site.dev using a randomly generated subdomain (note the https)
|
||||
# Will share access to https://my-local-site.dev
|
||||
expose share https://my-local-site.dev
|
||||
```
|
||||
|
||||
## Share a local site with a given subdomain
|
||||
## Share a local site with a given subdomain ::pro
|
||||
|
||||
You can also share one of your local sites explicitly and specify the exact subdomain that you want to use when sharing the site. This is very useful if you are testing webhooks and want to use the same webhook configuration and don't update the webhook endpoints on every Expose connect. Custom subdomains require an own Expose server in your infrastructure or Expose Pro.
|
||||
|
||||
|
||||
13
docs/getting-started/getting-your-token.md
Normal file
13
docs/getting-started/getting-your-token.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Setup Your Token
|
||||
order: 2
|
||||
---
|
||||
|
||||
# Setup your authentication token
|
||||
|
||||
If you are using our managed Expose server infrastructure, you can obtain a free authentication token by [creating an account](https://expose.dev/register).
|
||||
|
||||
After logging in to Expose for the first time, you will see the installation steps for Expose, as well as your authentication token.
|
||||
Copy the command to your clipboard to setup your authentication token.
|
||||
|
||||

|
||||
@@ -4,14 +4,39 @@ order: 1
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
## PHP Archive (PHAR)
|
||||
We distribute Expose as a PHAR archive that contains everytrhing you need in order to use Expose. Simply download it from [here]() and make it executable:
|
||||
|
||||
```
|
||||
wget -O expose https://link-to-expose
|
||||
|
||||
chmod +x expose
|
||||
|
||||
./expose
|
||||
```
|
||||
|
||||
Most likely, you want to put the `expose.phar` into a directory on your `PATH`, so you can simply call expose from any directory. For example:
|
||||
|
||||
```
|
||||
sudo mv expose.phar /usr/local/bin/expose
|
||||
```
|
||||
|
||||
After that, you are ready to go and can [share your first site](/docs/expose/getting-started/sharing-your-first-site).
|
||||
|
||||
## Via Composer
|
||||
Expose is a PHP application and you can install the client for your local machine as a global composer dependency:
|
||||
|
||||
```bash
|
||||
composer global require beyondcode/expose
|
||||
```
|
||||
|
||||
After that, you are ready to go and can [share your first site](/docs/expose/getting-started/sharing-your-first-site).
|
||||
Make sure that your global composer directory is inside of your `PATH` environment variable.
|
||||
Simply add this directory to your `PATH` in your `~/.bash_profile` (or `~/.bashrc`) like this:
|
||||
|
||||
```
|
||||
export PATH=~/.composer/vendor/bin:$PATH
|
||||
```
|
||||
|
||||
## As a docker container
|
||||
|
||||
|
||||
@@ -5,34 +5,29 @@ order: 2
|
||||
|
||||
# Share your first site
|
||||
|
||||
If you are on macOS and use Laravel Valet as your local development environment, the easiest way to share your local sites is by going into the folder that you want to share and run the `expose` command from your command line:
|
||||
Once your authentication token is setup, you are ready to share your first site with Expose.
|
||||
Expose creates a tunnel between your local development URLs/HTTP server and a publicly available web server.
|
||||
|
||||
The easiest way to share your local URLs is by calling `expose share` followed by the local URL that you want to share:
|
||||
|
||||
```bash
|
||||
cd ~/Sites/my-awesome-project/
|
||||
# Will share access to http://192.168.2.100
|
||||
expose share http://localhost:3000
|
||||
|
||||
expose
|
||||
# Will share access to http://my-local-site.dev
|
||||
expose share my-local-site.dev
|
||||
```
|
||||
|
||||
The `expose` command assumes that your local site is available at `http://my-awesome-project.test`.
|
||||
|
||||
This command uses your Expose network token and connects to the Expose network server at sharedwithexpose.com and creates a tunnel. If you don't have an Expose token and don't want to host your own server, you can create a free account and get a token [here](https://beyondco.de/login).
|
||||
|
||||
If you run a different operating system or your local application runs in a virtual machine, Docker or uses a custom URL scheme, you can share the site by adding more parameters to the command. To learn more about sharing your local sites, check out the [sharing local sites](/docs/expose/client/sharing) documentation.
|
||||
|
||||
## Using the Expose network at sharedwithexpose.com
|
||||
|
||||
Expose is the only open source tunnel service that is written in PHP. This means that you can host your own server and this on its own makes it a fantastic alternative to ngrok.
|
||||
|
||||
Before you install your own server, you can try Expose with the free plan of the Expose network and see if your like the features for PHP developers. To access the Expose network, you need an Expose token.
|
||||
|
||||
You can obtain a token by signing in to your [Beyond Code account](https://beyondco.de/login). If you don't have an account, you can [sign up and create an account](https://beyondco.de/register) for free.
|
||||
|
||||
## Authenticating with sharedwithexpose.com
|
||||
|
||||
To register and use the given credentials, just run the following command:
|
||||
By default, Expose assumes that you want to share unenecrypted local traffic through HTTP. If you want to share a local HTTPS URL append the protocol to the url, like this:
|
||||
|
||||
```bash
|
||||
expose token [YOUR-AUTH-TOKEN]
|
||||
# Will share access to https://my-local-site.dev
|
||||
# Note the https for tunneling locally encrypted sites
|
||||
expose share https://my-local-site.dev
|
||||
```
|
||||
|
||||
This will register the token globally in your expose configuration file and all following Expose calls will automatically use the token to authenticate with the network. In case that you have access to a team on an Expose Pro plan, you can use this command to switch to the team and get access to the reserved subdomains or white label domains.
|
||||
## Custom Subdomains ::pro
|
||||
|
||||
To make your life easier, Expose tries to share your local URLs using custom subdomains. This allows you to share your local URL `my-local-site.dev` as `my-local-site.us-1.sharedwithexpose.com`.
|
||||
|
||||
By default, Expose uses a slugified version of the URL that you want to share, but you can also [choose your own custom subdomain](/docs/client/sharing#share-a-local-site-with-a-given-subdomain).
|
||||
@@ -7,13 +7,13 @@ order: 1
|
||||
|
||||
Expose is a tunnel application that allows you to share your local sites and applications with others on the internet. It is open source, written in PHP and the best alternative to ngrok for PHP developers.
|
||||
|
||||
You can host your own Expose server and customize the application to your own needs or create a [Beyond Code Account](https://beyondco.de/login) and use our managed infrastructure. The managed Expose network has a free plan that runs on the test infrastrcture in our data center in Germany – and a Pro plan that uses the global Expose network with access points all over the world.
|
||||
The easiest way to get started with Expose, is by creating a [free Expose token](https://expose.dev/register) and use our managed Expose server infrastructure, allowing you to register custom white-label domains, use custom subdomains, and invite additional team-members. The managed Expose network has a free plan that runs on the infrastructure in our data center in Germany – and a Pro plan that uses the global Expose network with access points all over the world.
|
||||
|
||||
If you decide to host your own server, you can extend Expose with additional features and middleware classes on the server and client side. This gives your the full flexibility of true customization but comes with some maintenance overhead.
|
||||
If you decide to host your own Expose server, you can extend Expose with additional features and middleware classes on the server and client side. This gives your the full flexibility of true customization but comes with maintenance and hosting overhead.
|
||||
|
||||
Expose has a powerful CLI and a web-based dashboard. Both show you incoming HTTP requests on the client.
|
||||
|
||||
If you work with PHP and use composer, [install Expose now](/docs/getting-started/installation).
|
||||
If you work with PHP, [install Expose now](/docs/getting-started/installation).
|
||||
|
||||

|
||||
|
||||
|
||||
41
docs/release-notes/2-0-0.md
Normal file
41
docs/release-notes/2-0-0.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Expose 2.0
|
||||
order: 999
|
||||
---
|
||||
|
||||
# Expose 2.0 🥳
|
||||
|
||||
Almost one year after the initial release of Expose 1.0.0, we are extremely excited about the release of version 2.0!
|
||||
In addition to the release of Expose 2.0 as open source software, we have also released Expose Pro - a commercial offering of all the latest and greatest Expose features on a global network of Expose servers.
|
||||
|
||||
We have put a ton of effort into this release, making sure that Expose stays the best tunneling solution out there - not only for PHP developers.
|
||||
|
||||
## New Features
|
||||
|
||||
### Dark Mode 🌚
|
||||
|
||||
The local Expose Dashboard now comes with a beautiful dark mode theme!
|
||||
|
||||

|
||||
|
||||
### Automatic Subdomain Generation
|
||||
|
||||
When sharing a local site explicitly via `expose share my-local-site.test`, Expose 2 now automatically assigns a static subdomain based on the provided hostname. In this case, Expose would try to use the subdomain `my-local-site`. This makes it even easier to always ensure that you use the same subdomain for your Expose URLs, even if you do not explicitly provide the custom subdomain yourself.
|
||||
|
||||
### TCP Port Sharing
|
||||
|
||||
Expose 2.0 finally adds the ability to share your local TCP ports with others. This is super useful when you want to give access to an application that is running on your local machine via an Expose server.
|
||||
|
||||
For exmaple, you can share your local [HELO](https://usehelo.com) instance with others, making it easy to send out emails from staging/production servers right into a desktop application running on your local computer.
|
||||
|
||||
### Reserved Subdomains
|
||||
|
||||
In Expose 1.0 you were already able to specify a custom subdomain that you want to use for your current tunnel. With Expose 2.0 you can now ensure that nobody else can use the subdomain besides you (and your team). You can reserve a custom subdomain on an Expose server and this subdomain will then be associated with your unique authentication token.
|
||||
|
||||
### Multiple-Server support
|
||||
|
||||
Expose 1.0 was limited to one server that it could connect to. In case of our free Expose server, this would mean that all traffic was going through one server sitting in Frankfurt, Germany. With Expose 2.0, you can now define an array of servers that are available for your Expose client and then easily switch between those servers using the `--server` command-line argument.
|
||||
|
||||
### White-Label Domain support
|
||||
|
||||
The 2.0 update of Expose finally allowsyou to register a custom white-label domain on the Expose servers, allowing you to use your own custom domain with the Expose service. This means that you no longer have to share `*.sharedwithexpose.com` URLs with your colleagues and clients, but you can now register your own domain and use that instead. All it takes is a simple CNAME DNS entry and you're ready to go!
|
||||
4
docs/release-notes/_index.md
Normal file
4
docs/release-notes/_index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Release Notes
|
||||
order: 999
|
||||
---
|
||||
24
docs/upgrade-from-v1.md
Normal file
24
docs/upgrade-from-v1.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Upgrade from Expose v1
|
||||
order: 2
|
||||
---
|
||||
|
||||
# Upgrade Guide
|
||||
|
||||
Expose 2 is now available and comes with a lot of new features and improvements! We worked very hard to make the transition from Expose 1.x to 2.x as smooth as possible.
|
||||
|
||||
The easiest way to update your existing Expose 1 installation to Expose 2, is by using composer.
|
||||
|
||||
```bash
|
||||
composer global require beyondcode/expose:2.0
|
||||
```
|
||||
|
||||
This will download and install the latest version of Expose. Your existing authentication token and configuration file will still be valid after updating to the latest version.
|
||||
|
||||
**Important:** Even though the Expose 1.x client is backwards compatible with the new Expose servers, please upgrade to the latest client as soon as possible, as we will fade out support for the Expose 1.x client in the future.
|
||||
|
||||
## Upgrading to Expose ::pro
|
||||
|
||||
Some of the Expose features are no longer available on our free server, such as custom subdomains, or the newly added TCP port sharing.
|
||||
|
||||
If you want to upgrade your existing authentication token to Expose Pro, please [create a new Expose account](/register) where you will receive a fresh authentication token and can then upgrade to Expose Pro.
|
||||
Reference in New Issue
Block a user