Suggestion - Panel redesign ideas

Hi @Admin,

Well, I grew up and am back with a couple new ideas. Before posting I looked back at our last thread where we discussed about SSH access and I remember you saying something like this…

Which gave me the idea while managing my website on your platform of, “why not use an existing, free and open source panel and hook it to iFastNet’s API. I mean, it can’t be that hard to find out how their API works.”

I then started looking into different alternative panels such as CloudPanel and Vesta Control Panel (Not to be confused with VistaPanel) that could be used as a replacement for the default VistaPanel that comes with iFastNet’s service.

This then gave me another idea…

Another route I was looking into is the idea of creating a custom Svelte frontend to VistaPanel and hooking iFastNet’s VistaPanel API to it. And honestly…I don’t think it’s unlawful to be reverse-engineering their API…since all that it’s going to be used for is doing the same tasks and computing the same data under a different coat of paint. The plus side about this one is that you get to have

  • Full control over the design of this.
  • You can even make it look just like the client area too and the resources it takes up is very minimal.
  • Charts n’ stoks now become a great way to show the data shown in the resource usage page (although it will only refresh daily)
  • And since it is a frontend, making things look pretty while giving the user the option to add themes as a JSON file is a nice idea

I’ve reverse-engineered a couple APIs before which is why I started to like this idea more than the first.
But I guess I kinda get it if you’re hesitant about this second idea.

So what do you think Admin? Do you think this could work? I’m really enthusiastic about any ideas you may have.

Let me know what you think :slight_smile:

The main thing is that the VistaPanel does not have an API, it’s 100% closed source.

To make this work, you would basically have to make a web scraper for every function you wish to complete. Not impossible, but not necessarily easy either.

Then as soon as iFastNet changes anything, Your software falls apart, and users are left stranded until you can figure out what iFastNet changed, and then update your code accordingly.

7 Likes

Yes, what you said is partially accurate and correct and is one of the things I considered before posting my second suggestion.

But, VistaPanel is a webapp, which means there’s an underlying “internal”, undocumented API running it. VistaPanel is slow, so it’s probably PHP running as the backend. I’m hoping there’s a REST API at least.

Also, as had been shown, the panel hasn’t been updated in years and it doesn’t seem like if either the API or panel will change anytime soon. What’s more is that if we could come up with a custom frontend for InfinityFree, there’s the ability to do away with some of the items on the panel that are either half-baked (such as VistaPanel’s CloudFlare functionality) or non-intuitive and replace them with InfinityFree’s own functionality instead (such as the SSL certificate functionality or the plan chooser).

This would be super great in my opinion.

True

Nope. I know Admin has looked, and I’ve dedicated a few days to finding it without results.

It has been, they have just been minor updates

Cloudflare does not work with free subdomains, so that would not work.

3 Likes

I’ve actually sort-of started walking this route. Did you try the Free SSL Certificates tool recently by any chance? If so, you’ll likely have seen the automatic CNAME and certificate installation options. Guess how those things work?

I’m planning to do more with this. But I don’t want to create a better looking control panel, I ultimately want a single interface with a clear, consistent and integrated experience, rather than the loosely coupled client area + control panel setup that’s so prevalent with web hosting.

iFastNet doesn’t expose APIs for this, and the control panel runs completely on server side generated content so there isn’t an “unofficial” API you can abuse. So the only way to build this is through web scraping. And web scraping is fragile because you’re hooking programmatically into things that are not intended to be hooked into programmatically, are a pain to work with and may change at any time. And that’s not to mention things like rate limits and security systems that may be designed to keep out bots.

Yes, there is an internal “API”. Problem is: it’s an internal API. It’s not accessible from the outside, and the protocol is entirely unknown. It might be REST, gRPC, some kind of message bus or just stuff hooking into a shared database. We don’t know this and maybe we’ll never know this. The only thing we do know is that it’s all irrelevant because we won’t be able to interact with it.

6 Likes

VistaPanel is based upon CPanel, so if CPanel has an API it makes sense that VistaPanel has one too. There was a banner displayed for their “new and premium CPanel feature” that lead to their demo

Note the URL

https://sv4.byethost4.org:2083/cpsess0645959419/frontend/paper_lantern/index.html

It immediately after started to make disk quota requests to an endpoint

https://sv4.byethost4.org:2083/cpsess0645959419/execute/ResourceUsage/get_usages

I then made a request to Epizy’s VistaPanel

https://cpanel.epizy.com/frontend/paper_lantern/index.html

It returned cPanel’s theming data:

[% SET CPANEL.current_style = execute("Styles", "current").data.name; %] [%- IF CPANEL.current_style == 'retro' -%] [% INCLUDE home/index_retro.tt %] [% ELSE %] [%- INCLUDE home/index.tt -%] [% END %]

I looked this up. It lead me to a forum on cPanel where they discussed the API v1 being deprecated. This got me curious.

This started to confirm to me that VistaPanel is in fact an older version of cPanel. So, for further confirmation I looked at cPanel API v1 Documentation

There are some cPanel-specific ports for their WHM API. These ports are 2086 and 2087. I pinged these ports on cpanel.epizy.com …and sure enough they work.

Both http://cpanel.epizy.com:2086 (INSECURE PORT) and https://cpanel.epizy.com:2087 (SECURE PORT) are working WHM API ports it seems. I haven’t completely gone through API v1 Documentation but it seems to me as if VistaPanel is just a highly customized integration of cPanel & WHM <=87

[EDIT]
From the internet:

To log in to the WHM interface, perform the following steps: Enter the IP address or domain and the 2087 service port in your preferred browser (for example, https://198.51.100.1:2087 ). Enter your WHM username in the Username text box.

https://cpanel.epizy.com:2087
(MOFH cPanel I’m guessing??)

https://documentation.cpanel.net/display/DD/Guide+to+UAPI

From the API authentication page linked above

Important:

API calls that use a method that includes a URL must use the correct port:
2082 — Unsecure calls to cPanel's APIs.
2083 — Secure calls to cPanel's APIs.
2086 — Unsecure calls to WHM's APIs, or to cPanel's APIs via the WHM API.
2087 — Secure calls to WHM's APIs, or to cPanel's APIs via the WHM API.
2095 — Unsecure calls to cPanel's APIs via a Webmail session.
2096 — Secure calls to cPanel's APIs via a Webmail session.
Otherwise-correct calls will return Permission denied or Function not found errors if they use an incorrect port number. 
This guide only includes cPanel & WHM authentication methods. For Manage2 authentication information, read our Guide to the Manage2 API documentation.

Hey @Admin , I think we just struck some luck :slight_smile:
All of these ports work on cpanel.epizy.com by the way.

[UPDATE]
InfinityFree’s WHM JSON API Endpoint is as follows:

https://cpanel.epizy.com:2087/json-api/

[EDIT #2]
VistaPanel is reportedly a skinned cPanel with less features

No, it’s not. VistaPanel was made to look like cPanel, but under the hood they are nothing alike.

The main page looks somewhat similar, but other pages like the MySQL Databases page look completely different from how cPanel has ever looked.

The design was done years ago which is why it may look like outdated cPanel. And it was done quite roughly, resulting in some dangling references.

VistaPanel has a partial implementation of the WHM API. The idea was to provide interoperability with systems like WHMCS. And because cPanel’s WHM API uses ports 2086 and 2087, iFastNet’s WHM style API was exposed on these ports as well.

But because cPanel and VistaPanel are setup in a completely different way, this interoperability never quite worked. cPanel for example uses 8 character usernames generated by the management system, whereas VistaPanel has the epiz_12345678 style usernames, which are generated by VistaPanel, and WHMCS doesn’t support.

But having APIs at all is what made InfinityFree possible, so it’s great they exist.

iFastNet’s reseller panel isn’t WHM, doesn’t look anything like WHM and doesn’t work anything like WHM. Just because two platforms expose a few similar API endpoints doesn’t mean they are the same.

Those “reports” are just rumors, which I can tell you with absolute certainty are false.


I’ve been using this platform every single day for a smidge under seven years. I’ve been using cPanel for over a decade. I have contacts at iFastNet with whom I’ve discussed technical aspects of the platform.

I have a lot of experience with cPanel and much more experience with VistaPanel.

So I can tell you with 100% absolutely certainty that VistaPanel is not based on cPanel/WHM.

The only place where cPanel is involved is to link Softaculous into free hosting. And no, this doesn’t provide integration opportunities (I know, I checked).

4 Likes

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.