openziti / desktop-edge-win Goto Github PK
View Code? Open in Web Editor NEWProvides a Ziti client for Windows
License: Apache License 2.0
Provides a Ziti client for Windows
License: Apache License 2.0
move publishing of the resultant zip to publish to github releases
Hosted services support is coming soon in the tunneler-sdk-c. Make a branch and use the hosted-services branch for ziti-tunneler-sdk-c
Forget Identity from the UI will block forever waiting for the service to respond. Fix
right now all the logs are for the service only. we need UI logs too sometimes to understand why things go wrong
Two paths need to be converted to OpenZiti:
the csdk outputs a fair amount of log messaging. implement some form of log rolling for the cziti.log
The MTU currently is hardcoded and straight wrong. get the MTU from the interface
when the UI reconnects to the service, the service will send "the current list of identities". during testing i would remove an identity without using the UI but the removed identity would not be detected because it was done when the service is off.
The updater service should use only actual releases. There probably should be some form of 'dev' mode that would allow someone to get "the actual latest" or something wording like that
new devs/users are left reading Installer\build.ps1 and build.bat to 'figure out' how to build. help them by providing a building.md
after pressing the 'big off button' some state is corrupted and future presses of the smaller identity toggles don't work
With trace logging on - left the tunneler on all weekend with various activities ongoing. Closed the lid on the laptop, put it to sleep etc. Came back after a couple days to see that at some point this message began to log to the log over and over again without and apparent end.
failed to proxy DNS to &{{0xc000193b80}}
Right now getting the logs from the service via the UI works but there's no scroll bar. Also there's no option to 'save' the logs to some file. That'd be a nice option. Also the logs are marked "application logs" - probably want these to be named "service logs" and put the UI logs into "application logs"
Right now when the ziti-tunnel.log file rolls, it doesn't roll over with a .log ending making it 'annoying' to open in windows. add the .log
The metrics are provided on an exponentially weighted moving average (EWMA). This means that the actual bandwidth in use has a small lag period (5s) and has a tail that is detectable when looking at the raw numbers. If graphed with a properly scaling axis this information would be lost in the noise and undetectable to a human. When reported as raw numbers it appears as though data is being sent when it isn't due to how the EWMA algorithm works.
Displaying the data in graph format instead of raw numbers will present the data in the best way.
Hard to describe succinctly but here are the steps to reproduce:
Probably the best resolution is to fix the dialgbox. see #29
Only thing at this point is to stop/restart the tunneler manually (via task manager)
it's difficult to witness what sorts of changes happen in the UI when it's constantly disappearing. If the build is "debug" don't hide the UI
Identity Details Page falls off the bottom when there is not many identities defined
Make an identity - enroll using the UI.
Make a new identity for the same server with the same access - enroll using the UI
Notice the service logs state the conflict:
[ 561.045] ERROR : service mapping conflict: localhost.:7256 is already mapped for another context
[ 561.046] ERROR : service mapping conflict: zcat.ziti.:7256 is already mapped for another context
[ 561.047] ERROR : service mapping conflict: iperf3.ziti.:5201 is already mapped for another context
and the UI shows '0' for the services count:
If two different identities from the same network have access to a common service, it's only safe to remove that service when all identities matching that service have been removed. implement reference counting for how many services are shared between identities
Right now if two services were to use the same intercept - only one wins. That's fine as long as the intercepted services are meant to go to the same destination but if the services are mapped incorrectly and are meant for different destinations it's a major issue and possibly very difficult to figure out for the end user.
Make the UI and service detect a conflicting intercept and inform the user
Identities take a long time to turn on, need an indeterminate loading screen for long running operations like this.
the service/UI client use a rudimentary, line-delimited json protocol to exchange information. If this model changes appreciably both sides will need to be updated. establish a version field to accommodate any necessary logic surrounding changed API. This will help ensure the client's service gets updated properly when the UI fires up
If there are too many identities and services configured a channel for broadcast messages will back up. the channel is not drained and it needs to be. move the code to process the messages to before they are produced so the channel doesn't get backed upd
While debugging I've noticed that if the service is off when the UI starts - the UI will never enter 'reconnect' mode and it looks like the service is not running. Restarting the UI fixes this issue but should not be necessary
The MainUI_Deactivated method is hiding the dialog box popped up when forgetting an identity. Once trying to forget an identity you can never successfully click on 'yes' or 'no'
when the "big" on/off button is toggled currently nothing happens. change the UI so that it loops over all the identities and toggles them off
the combination of pieces make getting initial debugging somewhat complex. help a new developer by documenting 'how to debug'
Random Network crashes, also rebooted Windows after an "Add identity" when already in Error state
Somehow the word "Desktop" is missing from the service name. Couldn't find where that's set in 30s so making an issue to track
shutdown was causing a crash when no on the UV loop
right now if the upstream DNS change after ziti starts it might end up causing issues such as all 'non-ziti' traffic resulting in no resolution. also should some other app insert dns ahead of us it could also cause issues. test and document/address these issues
Today someone tried to use "mysshtest" as the intercept. nslookup resolved this but putty and windows' ssh client would not. appending a period to the end of the DNS query works around the issue but this should not be required.
looks like a concurrency issue when adding/updating/removing from services. panic just happened when renaming a service:
[ 137.642] DEBUG : dispatched remove service change event
panic: runtime error: slice bounds out of range [2:1]
goroutine 11 [running]:
github.com/openziti/desktop-edge-win/service/ziti-tunnel/service.acceptServices()
C:/Users/travis/gopath/src/github.com/openziti/desktop-edge-win/service/ziti-tunnel/service/ipc.go:845 +0xb17
created by github.com/openziti/desktop-edge-win/service/ziti-tunnel/service.SubMain
C:/Users/travis/gopath/src/github.com/openziti/desktop-edge-win/service/ziti-tunnel/service/ipc.go:91 +0x352
Service returns Invalid JSON after adding a new identity and does not load.
Exception thrown: 'Newtonsoft.Json.JsonReaderException' in Newtonsoft.Json.dll
Invalid character after parsing property name. Expected ':' but got: M. Path 'Status.Identities[0].Services[2]', line 1, position 443.
The MTU used to be read from the TUN properly but no longer seems to be. Investigate
Installed the latest installer into windows sandbox. No shortcut produced on desktop nor in start menu.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.