Giter Site home page Giter Site logo

fossbilling / fossbilling Goto Github PK

View Code? Open in Web Editor NEW
700.0 700.0 148.0 104.04 MB

Empower your hosting business with FOSSBilling, the free and open-source solution for efficient billing and client management.

Home Page: https://fossbilling.org

License: Apache License 2.0

Shell 0.01% JavaScript 1.33% PHP 69.78% CSS 0.03% HTML 0.27% Twig 28.45% SCSS 0.10% Dockerfile 0.02%
billing bootstrap community docker help-wanted hosting mysql open-source payments php self-hosted twig

fossbilling's Introduction

Download button

CI Download Latest Stand With Ukraine Discord License Contributor Covenant CodeFactor Financial Contributors Crowdin

Warning

FOSSBilling is under active development but is currently very much beta software. This means that there may be stability or security issues and it is not yet recommended for use in active production environments!

Important

Please be aware that we are not currently strictly following SemVer, and there may be breaking changes at any time. Be careful and make sure you read changelogs before updates!

FOSSBilling is a free open source, billing and client management solution. Whatever the size of your online services business, whether a startup or established, FOSSBilling can help you to automate your invoicing, incoming payments, and client management and communication.

If you run a web hosting business and are looking for an open-source alternative for billing and client management, then FOSSBilling is the answer. Although it is mostly used as a solution for hosting businesses, there is no reason why you can't use FOSSBilling for any other kind of online business, like digital downloads.

FOSSBilling is designed to be extensible and to integrate easily with your favorite server management software and payment gateways.

๐Ÿ“ฅ This is self-hosted software that is free for anyone to install โ€” All you need is a some basic knowledge, a web server, running PHP and a MySQL database. For more details, check the requirements section.

Contents

Requirements

To find the most up-to-date system requirements for FOSSBilling, please go to the system requirements on our website.

Installation

For instructions on installing FOSSBilling, check out our getting started guide.

Contributing

๐Ÿ–ฅ๏ธ Welcome, fellow developer! ๐Ÿ™‚

First of all, thank you for your interest, and for taking your time to contribute to FOSSBilling.

FOSSBilling is undergoing a revival and major code update. We are making steps forward day by day but there is still a lot of work to do, and we are happy to welcome new contributors.

We have a set of guidelines for those wishing to contribute to FOSSBilling, and we encourage you to take a look at them here: contributors' guidelines.

Your pull requests will be highly welcomed. If you're looking for something to start with, you can check the open issues on our GitHub repository.

Star History

Star History Chart

Got questions? Found a bug? Ideas for improvements?

Don't hesitate to create an issue, start a discussion in the FOSSBilling Forum, or join us on Discord to say hi.

โญ Not a developer? Feel free to help by starring the repository. It helps us catch the attention of new developers who'd like to contribute.

Licensing

FOSSBilling is open source software and is released under the Apache v2.0 license. See LICENSE for the full license terms.

This product includes the following third party work:

Links

fossbilling's People

Contributors

4giedrius avatar 4yx avatar admdly avatar andpavlenko avatar anuril avatar bellenottelling avatar bgokcol avatar bytevan avatar coo-ops avatar dependabot[bot] avatar evrifaessa avatar fordnox avatar fossbilling-bot avatar gatovuelta avatar grendel7 avatar hunternyan avatar jaapmarcus avatar john-s4 avatar mik317 avatar rdnuk avatar renovate[bot] avatar reynaldiarya avatar samapraku avatar shmshd avatar snake-4 avatar timothygwebb avatar tuxmay avatar vaidas-lungis avatar wyntonfranklin avatar zuazo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fossbilling's Issues

[Laravel] Database migration

Progress of the Database migrations for the lara branch
This will need to include the code to move the data out of existing tables into the new schema

Stage 1

  • setting
  • currency
  • pay_gateway
  • subscription
  • tax
  • Documentation

Stage 2

  • product_category
  • product_payment
  • product
  • Documentation

Stage 4

  • Users / Clients
  • User Groups
  • admin
  • admin_group
  • Documentation

Stage 5

  • promo
  • client_order
  • client_order_meta
  • client_order_status
  • client_balance
  • transaction
  • Documentation

Stage 6

  • cart
  • cart_product

[Bug] Broken Virtualmin Extension

boxbilling/boxbilling#1281

What happened?

Please note that the current Virtualmin extension has connection errors due to the following points:

$this->_config['port'] = 10000;

Using Fixed Port When You Could Use the One Already Configured in the Server Inclusion Form, that is:

if ($this->_config['secure']) {
return 'http://'.$this->_config['host'] . ':' . $this->_config['port'] . '/';

It uses Insecure Configuration when it identifies that it has been marked safe("Inverted Lines 40 and 42").

private function _getUrl()

Shows Error ("Could Be Just
$url = $this->getLoginUrl() . '/virtual-server/remote.cgi';")

private function _createReseller(Server_Account $a)

and

private function _createUser(Server_Account $a)

Get Email Error("Must Include $c = $a->getClient();
Below $p = $a->getPackage();
In Both Functions.
BoxBilling Version

v4.22-beta.1.5
What version of PHP are you running?

PHP 8.0
Additional Notes

Such corrections would adjust to the current Virtualmin and thus avoid having to reconfigure the script to meet a specific need, but would meet everyone's needs

[Feature Request] Direct Admin

boxbilling/boxbilling#1176

Hi! I want to integrate BB for hosting resale. I have separate marketing site with products. I realise that I have to make dubble my products in BB and understand how to connect it by make order link. But I cant understand how to make options for customers to put products in a cart before they will sign up and create customers account. Is It possible? Or customers clicking make order on the main site should be redirected firstly to sign up and create acount in BB? Also I cant uderstand how to integrate BB with Direct Admin panel for making hosting account for customer with chosen hosting plan. Can you help me with it?

[Feature Request] MFA

boxbilling/boxbilling#998

What is the idea?

2FA would really improve security the security of BoxBilling users. Maybe SMS based, maybe e-mail based, but I personally think these both will have their own disadvantages as sending SMS will cost money and it will require an external service to carry out the messages.

A third-party authenticator app enables two-factor authentication in a different way, usually by showing a randomly generated and constantly refreshing code which the user can use, rather than sending an SMS or using another method. A big benefit of these apps is that they usually continue to work even without an internet connection or cell coverage.
Why would this be beneficial

It would really strengthen the security of the users.

Folder structure

Let's decide about the folder structure. We will be a separate project and are free to decide on a new folder/file structure.

[Bug] Login bug

boxbilling/boxbilling#984

What happened?

After logging out of the BoxBilling site, I am unable to log into the site.

After reinstalling BoxBilling 4.22 I could never log back into the system using the admin account the first ime.
On another attempt, I created another admin user just after installation, and that user could not log in either from another device or browser.
On another occasion, I created a standard user after installation and was able to login in a different browser with the standard user, but not with the initial admin user created at installation.
a)I copied the password HASH from the working user account to the admin user "pass" field but that didn't work either.
b) So in looking at another Boxbilling issue about the trailing slash, I noticed that there is a SALT included in the bb-config.php file but not in the database in the "table:admin".

So to fix the problem, I copied the salt from the bb-config.php file and placed it in the salt field for each user, and this allowed all the users to log into the site.

My question is,

Is this by design to not include the "SALT" in the database for each user?
Did I miss something during the installation process that caused this to work this way?
Is this a BUG and the installation process is supposed to add the SALT to each user upon the user creation process?

BoxBilling Version

v4.22-beta.1
What version of PHP are you running?

7.4x
Additional Notes

Additional notes

[Feature Request] Track upstream and periodically update dependencies

boxbilling/boxbilling#1244

We have some dependencies other than the Composer packages we're using.

We should keep them updated and find a way to be notified whenever they release a new update.

Including but not limited to:

CKEditor 4 (see 

https://github.com/boxbilling/boxbilling/issues/1245 too)
RedBean
tfpdf
PdoSessionHandler
php-gettext
hardcoded libs inside some server managers
CSRF-Protector-PHP

also theme dependencies (also see boxbilling/boxbilling#978):

Bootstrap
jQuery

Font Awesome

We should also document the process for updating each of these so the new maintainers will have an easier time. Some of these can (and if possible, should) be replaced with automated package managers. We can even drop some of them entirely.

Front-end changes

To begin with, I think we should keep only one theme for the client-area and drop the others. Even better, we can create a new one from scratch instead.

[Bug] Can't change currency for client

boxbilling/boxbilling#1247

What happened?

I have error when I change Currency for Client from admin to edit currency from Client account, also Client have error when try choose other currency in new order ( order can not be complete with other currency must be same currency under client account )... must be currency same as first order time for client but in future client can't make order with other currency ?

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column testacp.client.client_group_id at row 1

Thank you..
Michael
BoxBilling Version

Current Master Branch
What version of PHP are you running?

PHP 7.4
Additional Notes

change Currency for Client

[Feature Request] SEO Module

boxbilling/boxbilling#963

  • Keep a track of the time that the engines were last pinged
  • Allow the administrator to manually ping a specific search engine
  • Check if there are any other engines you can integrate, and get rid of the old or broken ones
  • Enable SEO tools by default
  • Ask user if they want their sitemap to be pinged at the initial setup

[Feature Request] Latin American payment gateway

boxbilling/boxbilling#1177

Feature request hola abran un modulo de pago de boxbilling para latioamerica que sea mas comun y facil de usar como payu latam o mercando pago . epayco,, instapago

hello open a boxbilling payment module for Latin America that is more common and easy to use as :: payu latam.. mercando pago ... . epayco... instapago....
Why would this be beneficial

Benefits

Feature request hola abran un modulo de pago de boxbilling para latioamerica que sea mas comun y facil de usar como payu latam o mercando pago . epayco,, instapago

hello open a boxbilling payment module for Latin America that is more common and easy to use as :: payu latam.. mercando pago ... . epayco... instapago....

Funding ideas

  • Donations and sponsorships through Open Collective
  • Maybe advertisements in our main website (there seems to be great alternatives to Google Adsense. Such as EthicalAds by Read The Docs. The money would go to our Open Collective account, and we'd make sure to go with something that won't track our users, or don't place advertisements at all.

FOSSBilling is a free project, and will likely be free as long as it exists. We'll need a valid economical sustainibility plan. Let's discus this here, transparently.

Versioning

We don't have to continue from v4.22.x or v4.23.x. Let's decide if we want to do it or not.

[Feature Request] Opt-In Telemetry

We will need a mechanism to know what modules are actually being used and worth putting development time into.

Would also be interesting to know how many active installs are there, and what versions they are using (including PHP and MySQL).

Stick -> Carrot = If people don't opt in, their module may not be supported.

[Feature Request] BTCPay and/or BitpayCC

boxbilling/boxbilling#1250

What is the idea?

This tool is fine, but it's useless without cryptocurrency support, because even your WHMCS competitor that has a proprietary license will accept cryptocurrency payments.

There are decentralized payment processors in cryptocurrencies like BTCPay https://btcpayserver.org/ and BitcartCC https://bitcartcc.com/ that you can integrate with this BoxBiling.
Why would this be beneficial

Be aware that this is a more than elementary feature, it will guarantee anonymity to customers and also to the administrator. With cryptocurrency, censorship and unnecessary fees are avoided.

This is an important feature.

[Feature Request] Allow bunding of different order component (eg. Licenses, Domain Names, Email Accounts, Storage etc..)

boxbilling/boxbilling#1285

What is the idea?

When configuring a product or element, it has configurable options equal to the product and generates sub orders to manage them together with the parent order, thus being able to activate or deactivate complements according to the master product
Why would this be beneficial

It would help when configuring products, preventing the customer who does not want a by-product/add-on, that it could be managed, activated, deactivated, suspended, etc.

Domain Registrar Integrations

There are a few bugs/problems with the provided domain registrar integrations.

FIrst of all, the abstract adapter provides a "getTlds()" function which as far as I can see is never used, and in reality, should never be used in the way its provided in the modules (manually defined TLDs, these change too much now!).

Contrary to a few bug reports, domain availbility checking does work but has some limitations (in the Custom module, the whois servers are hardcoded in and there are a lot more TLDs now, either this module should have a more flexible config, make the user provide the WHOIS server(s) or (worst-case) even perhaps use a third-party module to hand off this burden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.