Commit Graph

  • 7d6437f4c5 squash refactor AJ ONeal 2020-05-01 01:06:14 -0600
  • e57917a252 squash refactor AJ ONeal 2020-05-01 00:12:16 -0600
  • e0330dbad9 squash ws AJ ONeal 2020-04-30 23:49:37 -0600
  • 052a3f276b move to packages AJ ONeal 2020-04-30 23:47:46 -0600
  • 789b9af66e update dependencies AJ ONeal 2020-04-30 05:11:16 -0600
  • 787b83b84a support .env, improve authorization hooks, other updates AJ ONeal 2020-04-30 05:11:03 -0600
  • e740d2ca0f heavier refactoring AJ ONeal 2020-04-30 04:43:36 -0600
  • 09d296df2a minor fs denesting AJ ONeal 2020-04-29 23:52:44 -0600
  • cf8defbe3d minor denesting AJ ONeal 2020-04-29 23:49:09 -0600
  • b8a7c9e481 make admin domain more configurable AJ ONeal 2020-04-28 01:16:16 -0600
  • 880da4d685 make Prettier AJ ONeal 2020-04-28 00:58:26 -0600
  • ef34fefc39 cleanup AJ ONeal 2020-04-28 00:47:31 -0600
  • eb04ba96c8 vendor deps AJ ONeal 2020-04-28 00:26:14 -0600
  • 3597ebff28 minor refactor AJ ONeal 2020-04-28 00:26:00 -0600
  • 01de157cfe Merge branch 'client' tigerbot 2017-04-17 15:15:22 -0600
  • 76b5e1b102 fixed some go formatting problems tigerbot 2017-04-17 14:59:45 -0600
  • 3e30137b36 fixed bug masked by changes I opted not to commit tigerbot 2017-04-17 14:57:32 -0600
  • c024c1b88f added cmd line arguments to the client tigerbot 2017-04-04 12:09:20 -0600
  • c1c18b71b0 added support for different port w/ different domains on same service tigerbot 2017-04-03 17:56:28 -0600
  • b44fe740af move SNI to separate package for both client and server tigerbot 2017-04-03 17:37:29 -0600
  • dcdc26068b Merge branch 'master' into client tigerbot 2017-04-03 17:01:23 -0600
  • 3848be53bd tweaked behavior after local connection read tigerbot 2017-04-03 15:51:44 -0600
  • e637277bb5 Merge branch 'load-balance' into 'master' Henry 2017-04-01 17:32:50 +0000
  • fb5937dbe7 Completed rename to server. Henry Camacho 2017-03-31 23:31:16 -0500
  • b956a160c9 Renamed generic listener to server Henry Camacho 2017-03-31 23:21:30 -0500
  • 320afc53d2 Renaming to server. Henry Camacho 2017-03-31 23:19:50 -0500
  • fbed26d94b changed client to retry after disconnect tigerbot 2017-03-30 18:13:27 -0600
  • c80c87c667 changed the routine structure of the client tigerbot 2017-03-30 18:04:28 -0600
  • 99676ef4bf made it easier to send multiple messages with the same header tigerbot 2017-03-30 13:28:00 -0600
  • 663caa5cc7 first commit of client tigerbot 2017-03-29 17:49:02 -0600
  • 119c9937d7 changed configuration read to work by default tigerbot 2017-03-29 18:28:28 -0600
  • 824a587eae Adding support for config path and config file Henry Camacho 2017-03-27 16:09:25 -0500
  • a528352e28 Added support for LumberJack logging and —log argument like caddy Henry Camacho 2017-03-26 17:33:40 -0500
  • 2623741ef2 Added Missing Domain Henry Camacho 2017-03-25 20:43:31 -0500
  • a72bbc63e4 Updated to support load balanced API Rest Henry Camacho 2017-03-25 20:33:09 -0500
  • 41adbfaef5 ServerName is now 1st domain in token. Awaiting new token structure for true ServerName. Henry Camacho 2017-03-25 17:22:28 -0500
  • f809794f22 Minor tweaks to documentation Henry Camacho 2017-03-25 15:53:43 -0500
  • ee54c3d721 Adjusted Documentation to include Load Balancer Test Henry Camacho 2017-03-25 15:39:44 -0500
  • 0e1f99c8da Round Robin Load Balancing feature enabled Henry Camacho 2017-03-25 15:01:57 -0500
  • 55e49fb966 Merge branch 'admin' of git.daplie.com:Daplie/go-rvpn-server into admin Henry Camacho 2017-03-24 17:50:55 -0500
  • 1701b1acb0 Back and running Henry Camacho 2017-03-24 17:45:54 -0500
  • 0a7ef4c601 fixed bug with peeking I introduced during the cleanup tigerbot 2017-03-23 17:57:43 -0600
  • 12c8275326 Admin Status Henry Camacho 2017-03-23 18:10:49 -0500
  • 2233e08ca1 Put the 1 char peek back in. With TLS byte awaiting aren’t valid, however they are valid with non-tis. Henry Camacho 2017-03-23 18:02:38 -0500
  • c7b6a4a000 changed GetState and State to State and SetState tigerbot 2017-03-22 17:45:47 -0600
  • 9acf50c2ff simplified mutex handling and defer statements tigerbot 2017-03-22 16:47:53 -0600
  • 92f951544b simplified some function inputs and returns tigerbot 2017-03-22 16:33:09 -0600
  • 87a1d9c0ae cleaned up a few import statements tigerbot 2017-03-22 15:43:36 -0600
  • f163b4ec7d rewrote how packing/unpacking is handled tigerbot 2017-03-22 15:03:58 -0600
  • 8fb732e3b8 cleaned up a few of the packer functions tigerbot 2017-03-22 12:30:56 -0600
  • ce512ece34 removed empty packages and files tigerbot 2017-03-22 16:48:23 -0600
  • ba67cebb29 Several Considerations for Load Balancing, Collection of Bulk ServerStatus Henry Camacho 2017-03-19 19:04:47 -0500
  • 057ec00f82 Connection Track Read/Write Map issue, implemented mutex around the map. Henry Camacho 2017-03-19 09:57:28 -0500
  • 4696ec4ec2 Added support for default load balancer method. Henry Camacho 2017-03-19 09:56:33 -0500
  • 5dae8b1f9e Updated to support domain counts Henry Camacho 2017-03-18 14:45:12 -0500
  • 860580c7c8 Updated to include selectable domain statistics. Henry Camacho 2017-03-18 14:28:54 -0500
  • 72b4c4598f Admin is functioning — Displays Servers that are connected with in/out bytes. Henry Camacho 2017-03-15 19:32:05 -0500
  • 129e7df710 Got admin SPA up and displaying basic structure, H5BP, Bootstrap, Angular Henry Camacho 2017-03-14 19:26:01 -0500
  • b85e7e3f24 Starting connections, we may not need this. Henry Camacho 2017-03-13 20:29:35 -0500
  • f2082baf74 Removed — replaced by api_collect_domains Henry Camacho 2017-03-13 20:29:05 -0500
  • 3d5d272736 Adding support for Domain and Domains Henry Camacho 2017-03-13 20:22:44 -0500
  • dd7d63baf6 API Rest Interface answers to servers and server/{id} - built envelope based on AJ spec, self standing package with transaction ID increment and unix time stamps - fixed servers end point - created server/{id} end point - created rest mappings for GET Henry Camacho 2017-03-13 16:46:11 -0500
  • b88817e4d1 Committing API code, and clean up. Henry Camacho 2017-03-13 11:43:28 -0500
  • 020df4301b Merge branch 'passing-traffic-sni' into 'master' Henry 2017-03-13 16:40:18 +0000
  • 74591fd150 Added support for YAML configuration file - implemented viper module in code. - removed all the older configuration, not sure if we want to use flags or just the configuration files. - added support for dwell, idle and cancelceck timers - generic binding is now an int passing to the generic manager. - passing dwell, and idle directly to connection table. - adjusted all dead time structures, the system supports a map(string)interface{} of various dead time counters - this version also supports variable sized buffers for each request by using the bufio.reader - we peek all, and then pass everything down the channel we have. - I am wondering if this will be a problem is someone just starts pouring data down never ending. - direct support now for terminating domains - there is a domain for admin, and wss. Each shared the external address listener (testing 9999) Henry Camacho 2017-03-11 14:28:49 -0600
  • 2fc5cf5e69 SNI Detection working, sets ‘HTTPS’ for packer for external connections Henry Camacho 2017-03-11 08:28:04 -0600
  • 5334649fba got non-terminating traffic identified, and used SNI to figure direction Henry Camacho 2017-03-10 23:36:42 -0600
  • f3bb9cb584 Implemented domain tracking for external connections - system now tracks both in and out bytes - various clean up. Henry Camacho 2017-03-09 21:38:23 -0600
  • d7e01e8b40 Adjusted to remove excessive packages. Henry Camacho 2017-03-07 19:34:16 -0600
  • b11f6c54bc Implemented Docker Container Testing. Henry Camacho 2017-03-04 12:18:08 -0600
  • 0eb136db75 Updated documentation Henry Camacho 2017-03-02 21:32:53 -0600
  • 8f2e4f58c0 Working version of RVPN Henry Camacho 2017-03-02 18:47:59 -0600
  • 5baa7a0601 Merge branch 'restructured-http' of git.daplie.com:Daplie/go-rvpn-server into restructured-http Henry Camacho 2017-03-02 18:43:33 -0600
  • 98da3d491c Debugging, return traffic is coming back, unpacker build - it does not look like the client is limiting the amount of traffic coming in, and it does not look like it is chunking. - need to know the max chunk. - increased to 64K - unpacker code v1 - fixed packer logging. Henry Camacho 2017-03-01 21:02:20 -0600
  • affbabc15e Update README.md Henry 2017-02-27 00:34:54 +0000
  • f16d666b5d Debug command Henry Camacho 2017-02-26 17:28:34 -0600
  • 493477179b Added support for a Listener Manager - I anticipated having to bring up new listeners as tunnel-clients connect allowing different port use for a single domain - completed the code, however did not see any port information coming back from WSS client. - opened an issue with AJ. - all listeners are now dynamically generated. The run method takes an initial port, once functioning, the runner send down the channel a registration for the initial port. Henry Camacho 2017-02-26 17:27:38 -0600
  • b122a6091b Fixed PeekAll - added to handleStream for protocol detection Henry Camacho 2017-02-26 12:40:10 -0600
  • 9e2a04c8a7 WSS Client now working with protocol detection - added support for PeekAll…still not working 100%. - passing important values inside the context, no longer on arguments - stream handler now detects wss_client, validates the token to make sure. - then passes to was handler which invokes http.Server with oneConnListener - removing listener wedge, going to stay with oneConnListener. It is working. Henry Camacho 2017-02-26 12:35:06 -0600
  • ebafa277df Generic Listener supporting unencrypted, encrypted, with TLS version detection before TLS Accept - added support for context passing between the various functions - support for withCancel, allowing administrative canceling, and a clean up of Go Routines. - generic listener now supports a single port for both encrypted and clear text protocols. - employee the buffered wedge connection for peaking into the protocol - implementation of the oneListener. - when TLS, leveraged the NewListener which uses oneListener as n inner lister. - once the stream is decrypted, or if it was already clear text it is passed to handleStream which performs application detection. Henry Camacho 2017-02-25 23:17:39 -0600
  • d611757b10 Support for generic listeners, with protocol detection - connectionWedge supports reading from a connection without consuming bytes (peeking) - allowing protocol detection - was still connections to 3502, it will support any port (443), admin follows this port. - matches RVPN.DAPLIE.INVALID and redirects to admin — AJ to provide authentication framework. - api/servers is also served by this path as we’ll. - listener_generic is the beginngins of protocol detections. - listener_wedge is an matches the net.Listener interface, and allows passing to other processes an already accepted connection - this does not work for HTTP for some reason. - spent a lot of time trying to figure out why. Posted to go-nuts Henry Camacho 2017-02-24 23:56:40 -0600
  • b179ecef0c Various fixes - removed some debugging information/prints - expanded the BIND for 3502 (the DAPLIE WSS listener) Henry Camacho 2017-02-20 20:41:32 -0600
  • 43bf242ffd fixed debugging - I was never able to get delve and visual studio code to work properly with this project. - not sure if it is too complex, however a simple application could be debugged just fine. - I’ve implemented godebug, and resolved the vendor dependancies - now able to debug in development, and build self-contained code into QA/STAGING. - this resolves the issues at this point. Henry Camacho 2017-02-19 15:51:54 -0600
  • dbfccc4a0c Added support for connection reaping. Henry Camacho 2017-02-19 14:32:03 -0600
  • ff3e63da8d Correcting Critical Bug - when testing streams to WSS client, I caused tunnel.js to abort in xfer. - this caused a panic in go. - found that connection was reaped and garbage collected during send routines. - placed synchronize around a connection states. - moved connection creation into connection table. - allowed connections to hang around while in a false state… - will have a go routine remove them after some idle time and connections being false. Henry Camacho 2017-02-19 14:05:06 -0600
  • c261b5d3a3 Merge branch 'restructured-admin' of git.daplie.com:Daplie/go-rvpn-server into restructured-admin Henry Camacho 2017-02-18 15:22:31 -0600
  • d7ef074ea2 Testing for AJ Henry Camacho 2017-02-18 15:21:36 -0600
  • 3f3b629f37 Update README.md AJ ONeal 2017-02-16 23:59:25 +0000
  • fc89682b9e updated to include domain stat traffic - add support for domain_api container for JSON encoding - separated server api containers out of the listener_admin - added domain track to connection - add extension to the send channel to identify domain associated to send bytes - helper function for adding tracked domain - implemented outbound byte counter for domain (inbound will come when we resolve the packer issues) Henry Camacho 2017-02-15 20:06:26 -0600
  • 3dbdd694df Admin interface — added api/servers - collects a list of WSS servers, and the connection structure - calculates a connection duration - collects the bytes in/out - encodes to JSON and sends response. Henry Camacho 2017-02-15 17:53:34 -0600
  • 2fdb033c55 Fixed minor bug…. Henry Camacho 2017-02-13 21:13:29 -0600
  • 938e950261 Updated documentation and more debugging information Henry Camacho 2017-02-13 20:53:27 -0600
  • 8a5ab4fe76 Data Written to the Channel - added support for ConnByDomain which looks up existing WSS and registered domain - passed connection table to External Listener - on request, obtained hostname and map to domain, split the remote address and port (will go into an table eventually) - look up the domain and find the WSS connection - packed up the frame. - sent down the channel. Henry Camacho 2017-02-13 20:36:01 -0600
  • 604f1d0b03 Added support for building a packer buffer. Henry Camacho 2017-02-13 18:47:16 -0600
  • 82b9e7be34 Updating documentation Henry Camacho 2017-02-13 16:00:36 -0600
  • 1df1e17c05 Completing commit for push. Henry Camacho 2017-02-13 15:59:10 -0600
  • 07380af871 lots of changes - debugging issues (not resolved) attempting to move the main executable into the base directory, this did not solve the issue, keeping it here. A main.go and the executable. listener_client — the WSS client - removed support for anything admin - injected the domains from the claim - domains are now included as initialDomains - registration performans as normal but includes adding the domains to a map of domains, and a collection of domains on the connection. - the system now supports look up fast in either direction, not sure if it will be needed. - reads a chan during registration before allowing traffic, making sure all is well. - registration returns a true on the channel if all is well. If it is not, false. Likely will add some text to pass back. Henry Camacho 2017-02-12 14:39:50 -0600
  • a5450dd205 Restructured project abstracting modules, using Caddy as a guide. Henry Camacho 2017-02-11 22:13:29 -0600
  • 6d172c2404 Continued restructuring isolating network interfaces - each listener has its own MUX and handlers that are separate from global. - the external handler will take a request from an external client destine for a WSS. - the request is output on stdio. Henry Camacho 2017-02-08 21:08:53 -0600
  • e98780fd21 Documentation to include creating 127.0.0.2 alias Henry Camacho 2017-02-05 21:23:24 -0600