Jump to content
[MUST READ] Forum Rules ×

InfinityFree

Senior Members
  • Posts

    151
  • Joined

  • Last visited

  • Days Won

    10

7 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

InfinityFree's Achievements

Newbie

Newbie (1/14)

  1. As for the PHP versions, I wouldn't mind if the old PHP versions were removed. However, it's important to note that there are still plenty of sites and scripts which don't work properly on new PHP versions. These are often crappy, unmaintained scripts, likely with plenty of security problems, but there are still people using it. As for MySQL, I don't agree with you. MariaDB is not a drop-in replacement from MySQL. I've had problems in the past with some software refusing to run on MariaDB, because of backward version compatibility checks (e.g. only supporting versions 5.5, 5.6 and 5.7, but not 10.x). Also, note that iFastNet doesn't use Oracle's MySQL, but Percona Server. Percona Server, unlike MariaDB, does intend to maintain full compatibility with MySQL. Also, I've seen issues in the past where MariaDB has bugs causing severe performance issues in certain use cases, which were fixed by both MySQL and Percona. So I personally think choosing Percona instead of MariaDB was a good choice. Or at least, good enough that it's not worth the effort to switch now.
  2. InfinityFree has offered MonstaFTP as an alternative to the net2ftp file manager offered by iFastNet for a long time. MonstaFTP was chosen because it's is one of the most solid FTP file managers I could find, having a modern looking and easy to use interface with a great code editor. A month or so ago, iFastNet replaced their own installation of net2ftp with MonstaFTP. That's a decision fully made by iFastNet, and not something I have control over. However, this file manager being "crappy" and "lots of people has been asking to change [it]" is completely new to me. I have only been able to find 1 topic where 1 person asked for a different file manager, which is this one: https://forum.infinityfree.net/t/change-file-manager/20620 Did I fail to notice any patterns with other people asking for other file managers as well? Since you say that lots of people have been asking for it, could you link to a few more topics or posts from people asking about this? There have been more people who had trouble using the file manager, but most of those issues were either caused by the FTP server, or doing things which no other file manager would realistically be able to do either (like downloading all the files in an account at once or uploading files outside htdocs directories). There has also been some confusion regarding the master passwords and upgrade notices, but those can simply be disabled and definitely do not require the file manager to be thrown away entirely.
  3. A quick Google search shows that it's possible to use cPanel's CGI interface to run C++. But then your application needs to support CGI as an operating mode, which is probably not the case if your application has it's own connection manager and HTTP component. So while it might be possible to run C++ on some web hosting services (but not free hosting!), it's very limited. If you want to run your own HTTP daemon, you'll need your own server to run it. Or maybe some kind of application container hosting service.
  4. If you use your own computer for only five minutes per day, is your computer 100 times as fast compared to when you use it for 8.5 hours per day? No, of course it isn't. Computers don't get faster if you use them less. And web hosting servers are also just computers, which also don't get faster if you don't use them continuously. Similarly, there is a limit to how many requests your account can execute concurrently. If you only have a traffic spike once per day, that doesn't mean you can execute more requests at the same time. The solution is simple: either you need to reduce the number of concurrent requests, or you need to switch to premium hosting.
  5. Why do you think the WM API is so poor? Or at least, why do you think a web scraper is better? Sure, the reseller panel has a few more options than the API, and the output of the API is not always very consistent. But a web scraper sounds like it would suffer from these same issues but worse. APIs are at least designed to have consistent output for programmatic access, a guarantee you don't get with a web interface. iFastNet has a habit of making major changes without any notice (before or after), which would break your client completely. As for your client itself, there are a few things which I would like to see or do differently: Make it possible to pass a cookie jar to the client. You currently require a login request for every time a client instance is created, which requires a round trip to the API, which adds a lot of overhead to the web transaction this client is used in. In a production workload where you have a large volume of API calls, persisting and reusing the cookies in some kind of cache (configurable by the developer, hence the cookie jar implementation) will helps prevent MANY unnecessary calls to the panel and speed up your website. For inspiration, check how cookies are done with Guzzle. Speaking of Guzzle: try it if you haven't already. It's great, much easier to use than curl_*. Which would be easy to use if combined with... Composer. The best way to manage dependencies and class loading in PHP. Learn it, add support for it, your life will never be the same. Another case of unnecessary HTTP calls: don't fetch the statistics every time after login. You don't need them every time, and now you're adding dozens of ms to every page load to get data which you may not need. This should be a separate API call. Generally messy management of internal state. A good class should not require that implementations calls methods on that class in a specific order. If they do, that's typically a sign that your class boundaries are wrong. A good example is the Client::set function. You must create the client object first and then you MUST call this method first before you can use any of the other methods. Changing that to a constructor makes the class more fool proof and reduces the need for checks to make sure the set method was called first. Speaking of internal state: most coding style guides demand that all object variables should be defined on the class, and not created on runtime. You set most values that way (except for a few booleans which determine whether these values were set - why not check the values themselves?). Many functions have weird specs or don't do what I would expect them to do. I would change "initialize" to "login" (because logging in to the panel is what it does). "changePassword" changes the reseller password, not the user password. If findUsers has as first argument a string which has to be one of three hard coded values, why not create separate methods?
  6. This option was probably removed because the server load of extracting archives in PHP is ridiculous. FTP does not have an option to extract files "on the server". If you need to upload a zip file, the most reliable way is to use a desktop FTP client like FileZilla, extract the archive on your own computer and upload the extracted folder to your account. It may take a while (depending on your connection to the FTP servers), but it is pretty much guaranteed to work.
  7. I understand what you are saying @JayAld. There are absolutely cases where access logs are useful to have. If I need to debug a resource limit on cPanel, I generally use a combination of the resource graphs, snapshots and access logs to figure out when the limit was hit and what was happening at the time. The thing is that it's sometimes better to give people no information than limited information, as people will draw incorrect conclusions based on the incomplete data. Like people saying the CPU limit is wrong when there aren't more hits, but dozens of plugins and themes have been updated. Or people saying the hits counter is not resetting properly, because why else would they be suspended while Google Analytics says there aren't many visitors (hint: visitors != hits). Having all data would be the best, of course, but I wouldn't say that any data is better than no data.
  8. Most of the resource limits on free hosting are not assigned specific numbers. There is a good reason for this. If the exact calculations and limits are explained, then abusers might try to game this and try to stress the servers as much as possible without getting suspended. This is bad for all other websites, which would be slowed or even brought down because of this. Also, keep in mind that while cPanel/CloudLinux also limit Entry Processes, CloudLinux restricts concurrent EP usage whereas VistaPanel restricts daily EP usage. CloudLinux can fairly easily take a snapshot the moment the limit is hit, but you can't do that with a daily limit. Unless you would snapshot everything or try to predict when there is a peak, but both require some really complex engineering, especially to make it work smoothly on a high load environment like free hosting. Having some logs would be useful, but access logs on their own don't tell any conclusive information about CPU/EP usage, because they only tell which pages are being requested and not how much resources those pages take to load. Even unfiltered access logs are too simple to be useful. I don't quite see what more "basic and simple" logs would look like, I don't see how they could be of any use and I don't see how aggregating logs would be any more performant than simply collecting and routing these logs.
  9. It would be nice to be able to provide one-click-login buttons for phpMyAdmin, or interact directly with databases. Unfortunately, while the SQL hostname was one of the pieces of data which was missing, it's still pretty pointless without being able to get a list of databases of the user.
  10. As far as I know, this is a new feature in the API callbacks. After an account is created, you'll get this new webhook which tell you the SQL hostname of the account which was just created, which you can show to the user if you want. Personally, I just store the data for now and don't do anything with it. And I can't say I'm a big fan of how this webhook was implemented, but it is the way it is. Whether unrecognized data is messing up your system is of course not something iFastNet can fix for you. Input validation of webhooks is your own responsibility.
  11. Just to let you know: AdSense does send a card with a confirmation code to the address when you first cross the payout threshold. So don't lie when submitting the address details, or you will not be able to get paid. And AdSense is definitely worth it in terms of revenue. Other ad networks with good revenue likely won't do business with minors either. And since you're 17, I would suggest you just wait a few months until you turn 18 and then join AdSense.
  12. I'm happy to help. Just don't use PMs for that please. Either create a topic on here, or use the Issues section on the GitHub repository.
  13. The more I think about this, the more I think it was a bad idea to say I would be willing to sell without having a clear strategy in mind. The Blesta company makes money by selling to a large number of hosters. I don't have that big of a market to appeal to. It's a specialty product, and specialty products always are more expensive because of this. Instead, it should be compared to what it would cost to commission a similar piece of software from a professional software development company. Which I guess would be in the higher 4 figure to lower 5 figure sums. No lower 3 figures, like with Blesta. Basically, if you expect it to be similar to a generic hosting billing system with some mods, don't buy my panel. That was pretty much my initial idea, yes. There is no built-in update checker in the software. I don't have a service which can serve the updates. Everything right now is managed through source control and complex deployment scripts. The software doesn't get any version numbers, I deploy whenever I change something with a highly variable deployment rate (from 10 times in one day to a month without changes). All of this can be changed, but would take a considerable effort to do so. So much so I would have to investigate exploitation strategies in the first place. Using the PM system of a forum from another company is a bad idea to submit feature requests, but people have long ago designed something called an "issue tracker" or "bug tracker" which is specifically designed for this. But submitting the ideas are the easy part. It's what happens next is the hard part. Right now, I can build, edit or remove whatever aspect of the software I want, whenever I want. When I have other people purchasing the software from me, do they get rights to features? Do I have to discuss or get permission to make changes? Can they demand demand X features to be implemented within Y time? Good point! By adopting my panel, I can pretty much expect to lose customers because of it. And while I don't know what number you figured out, I can guarantee that $250 is nowhere near enough to compensate for the risk in lost revenue because of competition. Sure, you say you won't share it, but I would just have to take your word for it. But right now, I can control exactly where the codebase is and how it's protected. As soon as I give it to anyone else, I risk other people leaking it, either through malice (purposely sharing it with others) or incompetence (failing to protect a server). I agree, this would all be a lot easier if I already had a clear business strategy on how to sell this software. Which I don't, and only casually said that it's not unthinkable that I would sell the software for others to use. I have put some thought into the matter in the past, but regardless of how I offer it, I would need to make substantial technical changes to make the system usable for others. These changes cost a lot of time and effort to implement, and add absolutely zero value for my direct customers. Yes, it's quite hard to operate. If you're not an experienced sysadmin (or me (I am also a professional sysadmin)), you're going to have a hard time running it yourself. And wow, the years of trial and error which went into it to get the workflows right. I must have redesigned and rebuilt the suspension handling code at least half a dozen times to send users the right message at the right time. The current system is maybe half a year old, which is probably a record.
  14. So, if I understand you correctly, you want me to take a look at the software and estimate it's worth, and give you an offer I believe is still reasonably fair to you? That sounds like a fair strategy (after all, I know more about the software than you). Unfortunately, I still cannot give it to you because: I don't know what is common for highly specialized software like this. I don't know what would be reasonable/possible for you. There are still many more questions to ask, like what to do for installation support (the software is NOT simple to run), updates, feature requests, etc. I didn't put much thought in the selling offer at all, really. So I still can't really make you an offer without having some sort of strategy for that as well.
×
×
  • Create New...