A beautiful, fully open-source, tunneling service - written in pure PHP

Related tags

Configuration expose
Overview

Expose

Latest Version on Packagist Quality Score Total Downloads

A completely open-source ngrok alternative - written in pure PHP.

Documentation

For installation instructions, in-depth usage and deployment details, please take a look at the official documentation.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Issues
  • DNS error

    DNS error

    while running expose share

    this the error i am getting Could not connect to the server. Connection to sharedwithexpose.com:443 failed during DNS lookup: DNS error

    opened by ManojKiranA 42
  • Questions regarding Laravel and expose

    Questions regarding Laravel and expose

    I have a couple of questions regarding using Laravel with expose:

    • Laravel's route() and url() helpers both generate absolute URLs by default. This means all links in the site include the local URL, not the public "expose" URL. What's the best practice solution for resolving this situation when using expose?

    • should the .env value for APP_URL still contain the local URL, or the public "expose" URL?

    I've noticed a bunch of issues here already which relate to one of the above, but haven't really seen a definitive answer. I'm more than happy to create a PR adding some documentation around this, once I understand how things should be handled.

    opened by jeff-h 26
  • 504 Timeout when trying to open expose.mydomain.com/users

    504 Timeout when trying to open expose.mydomain.com/users

    server is running on Laravel Forge. php 7.3

    expose.mydomain.com, /sites and /settings is working, but when clicking the users tab, there is a 504 timeout and a generic nginx error page.

    opened by goellner 21
  • Allowed memory size of..

    Allowed memory size of..

    Hi,

    I whenever the pages loads images this error happen. I thought it was php memory limit or Homestead limit, but it it's not. I didn't find any info about this error, that's why I posted here. Any help is much appreciated.

    expose_error

    opened by filippesic 16
  • Exposed localhost stuck loading

    Exposed localhost stuck loading

    I'm exposing a .NET Core 3.14 project running on IIS express.

    expose share https://localhost:44332/ --subdomain=mySubDomain

    the registry is successful and calling the page results in an entry in the dashboard/console.

    However, there seems to be no actual response occurring, calling the site through the browser just results in a seemingly infinite loading icon in the browser tab.

    +--------+--------+----------+---------------------+----------+
    | Method | URI    | Response | Time                | Duration |
    +--------+--------+----------+---------------------+----------+
    | GET    | /files |          | 2020-11-20 09:43:56 | 4ms      |
    | GET    | /files |          | 2020-11-20 09:40:12 | 223503ms |
    | GET    | /      |          | 2020-11-20 09:38:49 | 307309ms |
    +--------+--------+----------+---------------------+----------+
    

    Not the absurd duration for the latter calls. The dashboard lacks a response as well.

    image

    Am I missing some configuration or something else? So far I tried:

    • running expose https://localhost:44332/ --subdomain=mySubDomain in different variations (no subdomain, leaving out share keyword)
    • running through regular http; I suspected the IIS SSL being the problem but it works completely fine with ngrok.
    opened by marwalsch 12
  • Custom domain on Expose Pro not working

    Custom domain on Expose Pro not working

    I've registered a custom domain on my account:

    image

    I've then ran the command to make this default:

    expose default-domain tim.aero.dev --server=eu-1
    

    However, when I run expose I get:

    image

    opened by timrspratt 12
  • PHP 8.0 Support

    PHP 8.0 Support

    This PR adds PHP 8.0 support for Expose

    It looks like the following also need to be updated to support PHP 8.

    • ~~https://github.com/laravel-zero/framework/pull/421~~
    • ~~https://github.com/laminas/laminas-http/pull/45~~
    • ~~https://github.com/laminas/laminas-validator/pull/75~~
    opened by octoper 11
  • expose command not found?

    expose command not found?

    composer --version
    Composer version 1.10.9 2020-07-16 12:57:00
    

    installation:

    composer global require beyondcode/expose

    Second time outpout:

    composer global require beyondcode/expose
    Changed current directory to /root/.composer
    Using version ^1.0 for beyondcode/expose
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Nothing to install or update
    Generating autoload files
    1 package you are using is looking for funding.
    Use the `composer fund` command to find out more!
    

    trying expose command:

    expose serve my-domain.com
    -bash: expose: command not found
    
    opened by scratchoo 11
  • Help to get this working

    Help to get this working

    It sounds like at least some of you have been able to get this working?

    I would like to create my own expose server to tunnel a TCP Port on a local computer just like nGrok can do. I created a DO Docker droplet. Installed expose Not sure what to do next?

    What app do I download to the client? With nGrok there's a Windows/Mac/Linux app for the local computer that's going to share it's port.

    What command(s) do I run on my server?

    I've gone through the documentation many times and I'm missing a few key steps...

    Thanks for taking pity on me, anyone kind enough to help! :-)

    opened by MeestorX 11
  • Issues using with Homestead

    Issues using with Homestead

    I've tried using this inside and outside of Laravel Homestead with issues. Expose does give me a expose-url and shows the initial connection (when I visit the expose-url) but it never ever loads, it just sits there loading a blank page forever until it times out.

    Any ideas what's going on?

    opened by Braunson 9
  • 504 Gateway Time-out on Redirect

    504 Gateway Time-out on Redirect

    Simple example:

    // index.php header("Location: http://localhost:8000/notfound");

    Run: php -S localhost:8000

    Run: expose share localhost:8000 --subdomain=example

    Then open example.mydomain.com and get 504 Gateway Time-out after 1 min of pending

    image

    image

    image

    opened by goszowski 0
  • Docker container: access linux host

    Docker container: access linux host

    This PR adds host.docker.internal:host-gateway to extra_hosts section in docker-compose.yml

    In docker for Mac and Windows hosts, we can connect to the host out of the box by using the special DNS name:host.docker.internal.

    When docker is running under linux host, this is not the case. Under linux we need the magic string host-gateway to map to the gateway inside the container. This allows the hostname host.docker.internal to access the host from inside a container.

    This fix is necessary for Linux users that use expose under docker and the webserver they want to expose is running as docker container too (ex. laravel sail).

    The issue is explained in depth in this this article: https://medium.com/@TimvanBaarsen/how-to-connect-to-the-docker-host-from-inside-a-docker-container-112b4c71bc66

    opened by Deyjandi 0
  • Always return '$this' in 'registerStatisticsCollector'

    Always return '$this' in 'registerStatisticsCollector'

    If you set config expose.admin.statistics.enable_statistics to false, the server will not start because "registerStatisticsCollector()" will not return it self ("Call to a member function bindConnectionManager() on null").

    opened by ttrig 0
  • Deprecation notices and service is not running

    Deprecation notices and service is not running

    Hello everybody,

    Using PHP 8.1, I am getting a lot of deprecation notices:

    expose                                                            
    
    Deprecated: Return type of HumbugBox3122\KevinGH\RequirementChecker\RequirementCollection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/.box/src/RequirementCollection.php on line 12
    
    Deprecated: Return type of HumbugBox3122\KevinGH\RequirementChecker\RequirementCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/.box/src/RequirementCollection.php on line 16
    
    Deprecated: getopt(): Passing null to parameter #1 ($short_options) of type string is deprecated in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/expose on line 22
    
    Deprecated: Return type of Illuminate\Container\Container::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/container/Container.php on line 1355
    
    Deprecated: Return type of Illuminate\Container\Container::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/container/Container.php on line 1366
    
    Deprecated: Return type of Illuminate\Container\Container::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/container/Container.php on line 1378
    
    Deprecated: Return type of Illuminate\Container\Container::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/container/Container.php on line 1391
    
    Deprecated: Return type of PhpOption\Some::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/phpoption/phpoption/src/PhpOption/Some.php on line 152
    
    Deprecated: Return type of PhpOption\None::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/phpoption/phpoption/src/PhpOption/None.php on line 118
    
    Deprecated: Return type of Illuminate\Config\Repository::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/config/Repository.php on line 141
    
    Deprecated: Return type of Illuminate\Config\Repository::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/config/Repository.php on line 152
    
    Deprecated: Return type of Illuminate\Config\Repository::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/config/Repository.php on line 164
    
    Deprecated: Return type of Illuminate\Config\Repository::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/illuminate/config/Repository.php on line 175
    
    Deprecated: Return type of Symfony\Component\Finder\Finder::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Finder.php on line 608
    
    Deprecated: Return type of Symfony\Component\Finder\Finder::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Finder.php on line 690
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\FileTypeFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php on line 42
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren() should either be compatible with RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 85
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 113
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current() should either be compatible with FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php on line 61
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\ExcludeDirectoryFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php on line 55
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\ExcludeDirectoryFilterIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php on line 74
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\ExcludeDirectoryFilterIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php on line 79
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/FilenameFilterIterator.php on line 28
    
    Deprecated: Return type of Symfony\Component\Finder\Iterator\PathFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///Users/ahoi/.composer/vendor/beyondcode/expose/builds/expose/vendor/symfony/finder/Iterator/PathFilterIterator.php on line 27
    

    Well - what I think is interesting: All those notices are deprecation notices, but nevertheless the service does not start up.

    opened by ahoiroman 6
  • failed during TLS handshake - SSL routines:ssl3_get_record:wrong version number

    failed during TLS handshake - SSL routines:ssl3_get_record:wrong version number

    Hi there, I am looking to get started sharing my Laravel 8 site using Expose. I normally do local development with Laravel Valet and view my site locally at http://employbl-core.test. After downloading the composer package globally and activating my token I went to share my site and got an error:

    $ expose share http://employbl-core.test/
    Trying to use custom domain: http
    
    Could not connect to the server.
    Connection to sharedwithexpose.com:443 failed during TLS handshake: Unable to complete TLS handshake: SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
    

    The error persists when trying different domains of just entering expose. Do I have some config that's off or any ideas what's not working here?

    opened by connor11528 2
  • UI feature requests: Section collapse  and tab bg color change

    UI feature requests: Section collapse and tab bg color change

    Been an avid ngrok user for a long time, and Expose is a breath of fresh air, thank you!

    Some UI feature ideas:

    1. The possibility to collapse the Headers section, most of the time I'm just interested in the Body, a little papercut pain to always having to scroll on a smaller laptop screen.
    2. In dark mode would it be possible to switch the active/inactive tab background colors around? Darker normally imply behind and lighter in front which is the active on normally.

    Real papercuts issues, a testament to how refined this package is!

    opened by lasseeee 0
  • Trying to use custom domain: http

    Trying to use custom domain: http

    I've just installed the newest version of expose using composer, registered on https://expose.dev/ and performed the 3 steps from the dashboard

    The third being

    expose share http://localhost
    

    And got this error message:

    $ expose share http://localhost
    Trying to use custom domain: http
    
    You are not allowed to specify custom subdomains. Please upgrade to Expose Pro. Assigning a random subdomain instead.
    

    The actual share seems to working though. But the above looks like a bug.

    2021-11-15_19-14-59

    opened by okneloper 0
  • log all incoming payloads to a file ?

    log all incoming payloads to a file ?

    Hello. I have purchased a yearly license for Expose Pro and I would really like a means, or an option, to log all incoming payloads to a log file.

    I currently have a local tunnel on my Mac and I want to log everything to a log file so I can examine the payloads at a later time.

    Is this currently possible? If not.. could you please consider adding this feature.

    Many thanks!

    opened by vesper8 0
  • Expose server not accessing /users endpoint

    Expose server not accessing /users endpoint

    I found that when starting up "expose serve" on an Ubuntu server (provisioned using laravel forge) that the service was starting as the forge user, but not creating and using the expose.db file, so no users could be created or edited and I would get a 503 "bad gateway" from the /users endpoint in the server.

    Adding this line to /etc/supervisor/conf.d/expose.conf resolves the issue.

    environment=HOME="/home/forge"

    Just thought I'd mention - Feel free to close this issue if you don't find it helpful.

    opened by rverrips 1
  • OpenSSL Error - Could not connect to remote server

    OpenSSL Error - Could not connect to remote server

    Using Mailgun's "Send a Sample POST" feature from their inbound email routing feature to test a local site for a webhook I'm building. When I attempt to use the shared (free version) HTTPS url, I get the following error (granted, this is Mailgun's error):

    Could not connect to remote server: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]>]

    I was able to work around it using HTTP but I wanted to report this with some detail in case it's something you needed to be aware of. Once I switched to HTTP, the post came through on http://127.0.0.1:4040.

    Screen Shot 2021-10-19 at 11 53 12 AM

    opened by jcargilo 2
Releases(2.0.2)
  • 2.0.2(Jun 23, 2021)

  • 2.0.1(Jun 21, 2021)

  • 2.0.0(Jun 21, 2021)

    Expose 2.0 🥳

    Almost one year after the initial release of Expose 1.0.0, we are extremely excited about the release of version 2.0! In addition to the release of Expose 2.0 as open-source software, we have also released Expose Pro - a commercial offering of all the latest and greatest Expose features on a global network of Expose servers.

    We have put a ton of effort into this release, making sure that Expose stays the best tunneling solution out there - not only for PHP developers.

    New Features

    Dark Mode 🌚

    The local Expose Dashboard now comes with a beautiful dark mode theme!

    Automatic Subdomain Generation

    When sharing a local site explicitly via expose share my-local-site.test, Expose 2 now automatically assigns a static subdomain based on the provided hostname. In this case, Expose would try to use the subdomain my-local-site. This makes it even easier to always ensure that you use the same subdomain for your Expose URLs, even if you do not explicitly provide the custom subdomain yourself.

    TCP Port Sharing

    Expose 2.0 finally adds the ability to share your local TCP ports with others. This is super useful when you want to give access to an application that is running on your local machine via an Expose server.

    For example, you can share your local HELO instance with others, making it easy to send out emails from staging/production servers right into a desktop application running on your local computer.

    Reserved Subdomains

    In Expose 1.0 you were already able to specify a custom subdomain that you want to use for your current tunnel. With Expose 2.0 you can now ensure that nobody else can use the subdomain besides you (and your team). You can reserve a custom subdomain on an Expose server and this subdomain will then be associated with your unique authentication token.

    Multiple-Server support

    Expose 1.0 was limited to one server that it could connect to. In case of our free Expose server, this would mean that all traffic was going through one server sitting in Frankfurt, Germany. With Expose 2.0, you can now define an array of servers that are available for your Expose client and then easily switch between those servers using the --server command-line argument.

    White-Label Domain support

    The 2.0 update of Expose finally allows you to register a custom white-label domain on the Expose servers, allowing you to use your own custom domain with the Expose service. This means that you no longer have to share *.sharedwithexpose.com URLs with your colleagues and clients, but you can now register your own domain and use that instead. All it takes is a simple CNAME DNS entry and you're ready to go!

    White label domains get TLS/SSL certificates on the first connect to a URL automatically. This process takes a few seconds so that first page load can take a moment or even fail – try again after a few seconds and all additional requests will be fast until the certificate expires. Re-using the same (sub-)domain makes sure that your certificate stays available.

    Source code(tar.gz)
    Source code(zip)
  • 1.5.1(Mar 2, 2021)

  • 1.5.0(Jan 14, 2021)

  • 1.4.1(Dec 7, 2020)

  • 1.3.4(Jul 28, 2020)

  • 1.3.3(Jul 28, 2020)

  • 1.3.2(Jul 28, 2020)

  • 1.3.1(Jul 28, 2020)

  • 1.3.0(Jul 1, 2020)

    1.3.0 (2020-07-01)

    • Feature: Add pagination to admin user interface
    • Feature: Add request time to CLI output
    • Feature: Add X-Forwarded-Host header
    • Fix: Fix remaining time calculation
    • Fix: Don't use underscores for automatic subdomain generation
    Source code(tar.gz)
    Source code(zip)
  • 1.2.2(Jun 22, 2020)

  • 1.2.1(Jun 22, 2020)

    • Register chrome-extension as a valid uri scheme. Fixes #50
    • Use toArray representation of sites for the server. Fixes #44
    • Automatically detect valet secured sites when sharing
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Jun 18, 2020)

    • Feature: Allow overriding the subdomain when using expose without specifying expose share explicitly
    • Show badges in the local dashboard for 3xx response statuses
    • Fix: Updated minimum PHP dependency
    • Fix: Added support for detecting the Windows user home path
    • Fix: Use minified VueJS versions
    • Various spelling fixes
    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Jun 17, 2020)

  • 1.0.0(Jun 17, 2020)

All PHP functions, rewritten to throw exceptions instead of returning false

Safe PHP This project is deprecated Because of how this project needs to be in sync with the official PHP documentation, maintaining a set of function

TheCodingMachine 1.9k Jan 19, 2022
PHP client library for the Square Connect APIs

Square Connect PHP SDK - RETIRED replaced by square/square-php-sdk NOTICE: Square Connect PHP SDK retired The Square Connect PHP SDK is retired (EOL)

Square 114 Jan 10, 2022
A PHP parser for TOML

TOML parser for PHP A PHP parser for TOML compatible with TOML v0.4.0. Support: Installation Requires PHP >= 7.1. Use Composer to install this package

Yo! Symfony 161 Dec 25, 2021
Simple yet expressive schema-based configuration library for PHP apps

league/config helps you define nested configuration arrays with strict schemas and access configuration values with dot notation.

The League of Extraordinary Packages 152 Jan 11, 2022
This library can parse a TypeSchema specification either from a JSON file, or from PHP classes using reflection and annotations.

This library can parse a TypeSchema specification either from a JSON file, or from PHP classes using reflection and annotations. Based on this schema it can generate source code and transform raw JSON data into DTO objects. Through this you can work with fully typed objects in your API for incoming and outgoing data.

Apioo 51 Jan 10, 2022
LOAD is a PHP library for configuration loading to APCu

LOAD LOAD is a PHP library for configuration loading to APCu Sources Available sources for configuration loading are: PHP file Consul Environment vari

Beat Labs 4 Dec 21, 2021
An object-oriented option parser library for PHP, which supports type constraints, flag, multiple flag, multiple values, required value checking

GetOptionKit Code Quality Versions & Stats A powerful option parser toolkit for PHP, supporting type constraints, flag, multiple flag, multiple values

Yo-An Lin 138 Dec 6, 2021
A beautiful, fully open-source, tunneling service - written in pure PHP

Expose A completely open-source ngrok alternative - written in pure PHP. Documentation For installation instructions, in-depth usage and deployment de

Beyond Code 3.6k Jan 18, 2022
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 7 Jan 11, 2022
PrestaShop is a fully scalable open source e-commerce solution.

PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers.

PrestaShop 6.2k Jan 12, 2022
A set of tools for lexical and syntactical analysis written in pure PHP.

Welcome to Dissect! master - this branch always contains the last stable version. develop - the unstable development branch. Dissect is a set of tools

Jakub Lédl 219 Dec 1, 2021
A MySQL engine written in pure PHP

PHP MySQL Engine PHP MySQL Engine is a library for PHP that allows you to test database-driven applications with an in-memory simulation of MySQL 5.6.

Vimeo 493 Jan 14, 2022
Cachet is a beautiful and powerful open source status page system.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 12.5k Dec 5, 2021
A fully featured full text search engine written in PHP

TNTSearch TNTSearch is a full-text search (FTS) engine written entirely in PHP. A simple configuration allows you to add an amazing search experience

TNT Studio 2.7k Jan 17, 2022
Backend repository of libreoupas project, fully written in PHP, using the datas provided by the University.

libreoupas-engine/fst-nancy Description libreoupas est un site Internet permettant aux étudiant de la Faculté des Strasbourg illkirsh d'avoir accès au

Clément Colné 5 Jan 6, 2022
phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

null 101 Jan 15, 2022
An open source image hosting service powered by Laravel

Limg An open source image hosting service powered by Laravel Features Upload your image via file, url or ShareX ! Manage your image (custom title, pub

Thomas 39 Dec 7, 2021
PictShare is an open source image, mp4, pastebin hosting service with a simple resizing and upload API that you can host yourself.

PictShare is an open source image, mp4, pastebin hosting service with a simple resizing and upload API that you can host yourself.

Haschek Solutions 630 Jan 11, 2022
NotrinosERP is an open source, web-based enterprise management system that written in PHP and MySql.

NotrinosERP is an open source, web-based enterprise management system that written in PHP and MySql. NotrinosERP contains all the required modules for running any small to medium size businesses. It supports multi users, multi currencies, multi languages

Phương 30 Jan 15, 2022
Mibew Messenger - open-source live support application written in PHP and MySQL

Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.

Mibew Messenger 437 Jan 12, 2022
Kaiju is an open source verification bot based on Discord's OAuth written in C# and PHP, with the functionality of being able to integrate the user to a new server in case yours is suspended.

What is Kaiju? Kaiju is an open source verification bot for Discord servers, based on OAuth and with permission for the server owner, to be able to mi

in the space 8 Jan 9, 2022
Cypht: Lightweight Open Source webmail written in PHP and JavaScript

All your E-mail, from all your accounts, in one place. Cypht is not your father's webmail. Unless you are one of my daughters, in which case it is your father's webmail. Cypht is like a news reader, but for E-mail. Cypht does not replace your existing accounts - it combines them into one. And it's also a news reader.

Jason Munro 688 Jan 20, 2022
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

opensourcepos 2.4k Jan 17, 2022
An open-source Minecraft: Java Edition server implementation, written in PHP.

PHPCraft An open-source Minecraft: Java Edition server implementation, written in PHP. What is PHPCraft? PHPCraft is an open-source Minecraft: Java Ed

Karen/あけみ 11 Dec 29, 2021
Open Source Social Network (OSSN) is a social networking software written in PHP.

Open Source Social Network (OSSN) is a social networking software written in PHP. It allows you to make a social networking website and helps your members build social relationships, with people who share similar professional or personal interests. It is available in 17 international languages.

Open Source Social Network 835 Jan 18, 2022
A laravel service provider for the netsuite-php library service

netsuite-laravel A PHP supplemental package to the ryanwinchester/netsuite-php package to add the NetSuite service client to the service container of

NetsuitePHP 3 Apr 23, 2021
Damn Vulnerable Web Services is an insecure web application with multiple vulnerable web service components that can be used to learn real world web service vulnerabilities.

Damn Vulnerable Web Services is an insecure web application with multiple vulnerable web service components that can be used to learn real world web service vulnerabilities.

Sam Sanoop 386 Jan 2, 2022
Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.

TARS - A Linux Foundation Project TARS Foundation Official Website TARS Project Official Website WeChat Group: TARS01 WeChat Offical Account: TarsClou

THE TARS FOUNDATION PROJECTS 9.3k Jan 13, 2022
Ariama Victor (A.K.A. OVAC4U) 87 Jan 13, 2022