Comments (6)
A few ultra quick table responsive mockups
from zoraxy.
@Cerothen Love your idea!
This changed how Zoraxy works from a reverse proxy design for serving one site to a system that serve multiple sites.
However a few design I might need your elaboration, as here are a few items that confuses me on how they are suppose to work
- Can you explain what are the two locks are on each of the domain entry?
- For a UI this complex, do you have any ideas on the RWD interface on mobile devices? I kind of worry about if this design is used, mobile users (like me who always outside and need to manage dozens of servers) will have difficulties managing their sites
- Do you have a mockup on the edit interface? I think the way on how entries is edited might need to change from in-place-edit to something else to make the UI less complex, but before making this decision, I want to hear your view on this.
- For a single entry that contains two destination, is it fallback or load-balancer?
- I guess there is no way (after these change) we still keep the legacy reverse proxy function in places (as the required architecture change will make it impossible to keep backward compatibility), maybe we need to set a larger goal for next major release just for this change.
from zoraxy.
I can certainly explain the intent for your questions. I tried to deploy zoraxy recently but hit few roadblocks in replicating my existing nginx proxy manager setup around customised virtual directories and some other small things. So I thought I'd I could find the time I would try to contribute to growing this project since I like the idea of a single binary reverse proxy.
- This is my bad I started with image logos initially that were more descriptive but decided to fall back to the CSS themes included icons for visual consistency. Left to right we have enabled (if the proxy is enabled), SSL/TLS (if that domain has a valid SSL certificate and SSL is enabled), authentication (if that domain is using authentication eg none/basic/mod_auth).
- I didn't tackle any responsive items in this example, but the first three columns serve some quick controls and info and aren't all that important, they could be hidden on narrow screens. I wasn't able to get the table to be sortable properly without breaking but I'm not sure that's critical, the sorting could always be done before the row render.
- I didn't tackle the edit modals since I didn't want to put the effort in if it wasn't a direction you were interested in going for this project. I didn't envision in place edits just the row at the bottom to add new domains to the proxy even on a narrow display it would only show the domain, destination and add action. Once a proxy is added then the user can hit the edit button for the currently future popup modal which would let them do the more complex operations or basic edits.
- I didn't really have to many plans for the multiple item destinations, I just was planning for it in case it was useful in the future I think 95% of people would only ever have one, it would be for loadbalancing/failover though.
- I didn't think the legacy ones would stay at all after these changes took place, it was more just so I could flip around in the views arbitrarily.
All in all it does suggest some significant changes which I can appreciate could be a lot of work. I'm not all that familiar with golang but I have always been interested in learning (I have plenty of JavaScript experience since I mostly tackle web applications though nodejs or PHP). The intent was that the edit dialogs would be somewhat more descriptive and friendly while also expanding what the proxy is able to accomplish overall and get it to general feature parity with NPM.
Again it's not a requirement, I thought it would be interesting to try and contribute so that a competitor to NPM exists that's a single binary and doesn't need docker.
from zoraxy.
@Cerothen I really like your idea. However as I am working on my Master thesis right now, I don't really have much free-time to work on big changes like this at the moment.
I will keep this enhancement here and once I got the time, I will start working on this.
Again, thanks so much for your great ideas!
from zoraxy.
No problem at all. I have just been exploring the GoLang tooling around reverse proxies, that I can can better understand their structure.
from zoraxy.
I decided to move virtual directory under each of the host (instead of a global one) as suggested by multiple issues.
For host, wildcard is also added so domains like *.foo.example.com can be used to provide shared router with multiple hosts. I still figuring out how to find which matching rule is best match, but currently I use longer-rule-first logic to handle scope overlap issues.
A lot of stuffs are still work-in progress, if anyone wanna take a look or help with the dev, please see the v3.0.0 branch (not backward compatible)
from zoraxy.
Related Issues (20)
- Option to Choose Custom Certificate Selection for HTTP Proxy Hosts [ENHANCEMENTS] HOT 4
- [HELP] Connexion timeout HOT 9
- [HELP] How do I proxy a single location? HOT 3
- Reverse Proxy internal domain to another external port HOT 8
- Getting TLS Handshake Error When Accessing the Proxy Host [HELP] HOT 2
- [ENHANCEMENTS] Add Strato dns challenge HOT 1
- [ENHANCEMENTS] Cluster capability? HOT 3
- [ENHANCEMENTS] Add Rate Limits and Bandwidth Limits to Zoraxy HOT 13
- Reverse proxy appears 404[HELP] HOT 6
- [BUG] Headscale does not seem to work with Zoraxy HOT 2
- [BUG] letsencrypt too many registrations for this ip HOT 7
- [ENHANCEMENTS] ACL add multi range ip one step
- [BUG] Unable to keep activation state for Redirect - Regular Expression HOT 2
- Network Status Graphs don't render [HELP] HOT 4
- [ENHANCEMENTS] Statistic how often each proxy host/site has been requested HOT 2
- [HELP] Proxy destination does not seem to change when edited HOT 2
- [HELP] Stream proxy HOT 7
- [HELP] certificat ssl on stream proxy HOT 1
- [BUG] ACL on standalone installation (no docker) HOT 1
- [ENHANCEMENTS] Disable X-Real-IP HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zoraxy.