Playground
💥 FastSitePHP Playground Server 💠
Install / Use
/learn @fastsitephp/PlaygroundREADME
🌟 FastSitePHP Playground
Thanks for visiting! 🌠👍
- Playground UI: https://www.fastsitephp.com/en/playground
- Playground Server: https://playground.fastsitephp.com
⚙️ How it works
<p align="center"> <img src="https://github.com/fastsitephp/static-files/blob/master/img/playground/How-it-Works.svg" alt="Playground - How it works"> </p>Update - December 30th, 2021
Originally this site was hosted on a separate server for several years but now the playground is hosted on the same server as the main site along with several other open source sites. This site and the other sites do not get enough traffic to justify the need for separate servers so now only 1 server is used. See detailed setup docs for more. Logic from the above graphic still applies except the separate server.
⚙️ Detailed Server Setup
https://github.com/fastsitephp/playground/blob/master/docs/playground-server-setup.sh
🖥️ Running Locally
Download this repository then run the install script. This will also generate a new app_data/.env file which is used for authentication.
cd {root-directory}
php ./scripts/install.php
Or to install using Composer: composer require fastsitephp/fastsitephp. Then copy app_data/.env.example to app_data/.env.
Then follow instructions in the root index.php page to run the site. You will also need to point the UI from the local build of the main site to the local playground server. Search for “urlRoot:” in the fastsitephp\website\public\js\playground.js file and make the change.
https://github.com/fastsitephp/fastsitephp/blob/master/website/public/js/playground.js
When you run locally on a standard build of PHP user sites will be insecure however this is acceptable for local development.
🤝 Contributing
- If you find a typo or grammar error please fix and submit.
- Additional language template translations are needed. Refer to the main project if you can help with translations.
- Any changes to the core code will likely not be accepted unless you first open an issue. A lot of security is needed in order to make this site work so every line of code must be carefully considered.
🔒 Security
- The actual site uses the following disclaimer
Please do not attack this site or use it for malicious purposes; however if you are a security researcher its understandable that you may want to test the security of this site. - Reasonable testing is acceptable however if the site ends up being compromised maliciously or attacks slow down the main sites on the server then the playground may be taken down so please keep that in mind.
- For manual testing and details on what would be a good starting point to attack the site see files:
- https://github.com/fastsitephp/playground/blob/master/scripts/app-error-testing.php
- https://github.com/fastsitephp/playground/blob/master/scripts/app-error-testing-2.php
- If you think you’ve found an issue with security or have additional security ideas, please open an issue on GitHub. This site has a niche audience, nothing secure on the server, and nothing financially depends on it other than the cost of the server ($5 USD a month). Because of this, opening a public issue is ok even if you have an exploit. If you feel the exploit is better to discuss privately you can get in touch at: https://www.fastsitephp.com/en/security-issue
- If you accidentally cause serious problems to the server or take it down the please get in contact with the author immediately; so that a new server can be setup. If someone takes the server down from the playground I would be more interested in how it was done and if it can be prevented rather than worried about the server itself.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
