Skip to content

Commit

Permalink
Merge pull request #8 from mysocketio/doc_updated_jan28
Browse files Browse the repository at this point in the history
Golang client updates
  • Loading branch information
atoonk committed Jan 28, 2021
2 parents fcc5958 + c4d41cd commit 20d6542
Show file tree
Hide file tree
Showing 4 changed files with 299 additions and 153 deletions.
46 changes: 37 additions & 9 deletions about/about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ fast and secure network connectivity whenever you need it, wherever you are.
About Mysocket
----------------------------------------
Mysocket.io is a service that provides public endpoints for services that are otherwise not publicly reachable. A typical example is a web service running on your laptop, which you’d like to make available to your client. Or ssh access to servers behind NAT or a firewall, like a raspberry pi on your home network. Mysocket.io is a fully managed cloud service, so nothing to run!
Mysocket also provides OpenIDConnect and Saml authentication options, allowing for zero trust deployments.



About this Documentation
Expand All @@ -26,15 +28,15 @@ The goal is for the documentation to be continuously updated and improved.
Quick start
=========================
More documentation can be found below; but if you're eager to get started, consider this a quick start.
Download the mysocketctl (MacOSx and Linux)
Download the mysocketctl client from our `download page <http://download.edge.mysocket.io/>`_
Create an account:
::

mysocketctl account create \
--name "your_name" \
--email "your_email_address" \
--password "a_secure_password" \
--sshkey "$(cat ~/.ssh/id_rsa.pub)"
--sshkey ~/.ssh/id_rsa.pub

After confirming your new account (check your email), login and retrieve an access token:
::
Expand All @@ -43,22 +45,31 @@ After confirming your new account (check your email), login and retrieve an acce
--email "your_email_address" \
--password "a_secure_password"

or just ``mysocketctl login``:
::

$ mysocketctl login
Email: atoonk@example.com
Password:
Login successful


Now you’re ready to use the “quick connect” feature to connect your local service listening on port 8000 to the Internet:
::
mysocketctl connect \
--port 8000 \
--name "my test service"

+--------------------------------------+---------------------------------+-----------------+
| socket_id | dns_name | name |
+--------------------------------------+---------------------------------+-----------------+
| 24cd3fa2-b56a-486f-a554-30924bae54d0 | long-hill-8399.edge.mysocket.io | my test service |
+--------------------------------------+---------------------------------+-----------------+
┌──────────────────────────────────────┬───────────────────────────────────┬─────────┬──────┬────────────┬─────────────────┐
│ SOCKET ID │ DNS NAME │ PORT(S) │ TYPE │ CLOUD AUTH │ NAME │
├──────────────────────────────────────┼───────────────────────────────────┼─────────┼──────┼────────────┼─────────────────┤
│ 6be8287f-cf55-4e29-a7c8-4960166ac609 │ green-voice-5562.edge.mysocket.io │ 80, 443 │ http │ false │ my test service
└──────────────────────────────────────┴───────────────────────────────────┴─────────┴──────┴────────────┴─────────────────┘

Connecting to Server: ssh.mysocket.io

Welcome to Mysocket.io!
my test service - https://long-hill-8399.edge.mysocket.io
my test service - https://green-voice-5562.edge.mysocket.io

=======================================================
Logs
Expand Down Expand Up @@ -86,6 +97,7 @@ Supports various socket types, including:

4. TLS

Zero trust: Support for OpenIDConnect authentication. protect your sockets with authentication. Login with your favorite idendity provider (Google, Facebook, Github)

Options for SSL/TLS Encryption for your sockets

Expand All @@ -99,12 +111,28 @@ Support for multiple origins per socket, ie. Load Balancing

Build on a global anycast network
================================
Mysocket.io is built on a global anycasted network of **91 Points of Presence in 80 cities across 42 countries.** This helps you improve the availability and performance of the applications that you offer to your global users.
Mysocket.io is built on a global anycasted network of **94 Points of Presence in 82 cities across 44 countries.** This helps you improve the availability and performance of the applications that you offer to your global users.
Mysocket.io application services connect to use anycast network using various servers in North America, Europe, and Asia. All this provides us with the best possible low latency user experience and Instant regional failover, which results in an incredible level of high availability.

Example use cases
=========================

Zero Trust
-----------------------------
With our `Identity Aware sockets <https://www.mysocket.io/post/introducing-identity-aware-sockets-enabling-zero-trust-access-for-your-private-services>`_ you can provide access to your private (on prem) services, without the need for a VPN.
Mysocket can act as a VPN alternative. No software is needed on the client, all the while authentication and authorization options are making sure your private resources are only available to those who should have access.

Kubernetes public load balancer
-----------------------------
Provide a load balancer service with a public anycasted IP for your Kubernetes workloads.
`As easy as installing the mysocket.io k8 controller. <https://www.mysocket.io/post/global-load-balancing-with-kubernetes-and-mysocket>`_

Easy Multi-region load balancing
-----------------------------
Spin up your origin services over multiple cloud providers and regions and have the mysocket edge network front and secure your traffic.
`Load balancing over multiple regions and cloud providers has never been easier. <https://www.mysocket.io/post/easy-multi-region-load-balancing-with-mysocket-as-a-load-balancer>`_


Make the local web service on your laptop available to your colleagues or client.
-----------------------------
You may prefer to do web development on your laptop, and, before publishing it to some public server, would like to share it quickly with your teammate or client. Using Mysocket.io you can make the web app running on localhost, publicly available to anyone on the Internet. Just share the mysocket.io generated URL with those with who you’d like to share it. If you’d like, you can even make it password protected.
Expand Down
16 changes: 16 additions & 0 deletions about/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,22 @@ What can I do with Mysocket?
====================
There are many examples, but in short you can extend reachability to TCP sockets that run within your network or just your laptop, to a global audiance.

What are identity aware sockets?
====================
These are sockets that are aware of the visitor's identity. If your socket is enabled for "cloud authentication," all visitors will be prompted to authenticate first. Authentication can be completed using the various social Identity providers (Google, Github, Facebook), as well as local accounts. As the owner of the socket, you can then specify authorization rules, allowing only authenticated users with certain email domains or specific email addresses.
For more information see this article `identity-aware sockets <https://www.mysocket.io/post/introducing-identity-aware-sockets-enabling-zero-trust-access-for-your-private-services>`_

what happened to the Python client?
====================
We changed out the python3 mysocketctl client in favor of the new Golang mysocketctl client.
The python code is still available and can be installed using ``pip3 install mysocketctl``
The python code can be found here:
https://github.com/mysocketio/mysocketctl

It's recommended, however, to use the Go client, which can be downloaded here: https://download.edge.mysocket.io/



What performance improvement does Mysocket provide?
====================
Because mysocket is an anycasted service, both the end-user and the tunnel connection is automatically terminated at the nearest mysocket server.
Expand Down
4 changes: 3 additions & 1 deletion index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
Welcome to MySocket's documentation!
====================================
Welcome to the documentation for Mysocket.io, a service that provides you with
fast and secure network connectivity whenever you need it, wherever you are.
fast and secure network connectivity whenever you need it, wherever you are.

Mysocket provides load balancing and secures application traffic at the edge.

.. note:: This documentation is an open source project.
We always appreciate your feedback and improvements.
Expand Down

0 comments on commit 20d6542

Please sign in to comment.