Update README.md #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Release | |
on: | |
push: | |
tags: | |
- "*" | |
branches: | |
- "main" | |
pull_request: | |
branches: | |
- "main" | |
jobs: | |
build-windows: | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Install Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
architecture: "x64" | |
- name: Setup Python and venv | |
run: | | |
python -m venv venv | |
.\venv\Scripts\activate | |
python -m pip install --upgrade pip | |
python -m pip install wheel pyinstaller | |
pip install -r requirements.txt | |
- name: Install frontend dependencies | |
working-directory: ./frontend | |
run: | | |
npm install | |
npm run build | |
- name: Create .env file | |
run: | | |
echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> backend/.env | |
echo "BOT_TOKEN=${{ secrets.BOT_TOKEN }}" >> backend/.env | |
echo "CLIENT_ID=${{ secrets.CLIENT_ID }}" >> backend/.env | |
echo "CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}" >> backend/.env | |
- name: Execute build script | |
run: | | |
chmod +x build.sh | |
./build.sh | |
- name: Build Windows Executable | |
run: | | |
.\venv\Scripts\activate | |
pyinstaller --noconfirm --onefile --uac-admin --icon "frontend/public/favicon.ico" ` | |
--paths "venv/Lib/site-packages" ` | |
--add-data "backend;." ` | |
--add-data "backend/.env;." ` | |
--add-data "frontend/out;static" ` | |
--add-data "venv/Lib/site-packages/fake_useragent/data;fake_useragent/data" ` | |
--add-data "venv/Lib/site-packages/fake_useragent;fake_useragent" ` | |
--add-data "venv/Lib/site-packages/streamlink;streamlink" ` | |
--add-data "venv/Lib/site-packages/websocket;websocket" ` | |
--add-data "venv/Lib/site-packages/cffi;cffi" ` | |
--add-data "venv/Lib/site-packages/Crypto;Crypto" ` | |
--add-data "venv/Lib/site-packages/psutil;psutil" ` | |
--collect-data fake_useragent ` | |
--collect-submodules streamlink ` | |
--collect-submodules websocket ` | |
--collect-submodules cffi ` | |
--collect-submodules Crypto ` | |
--hidden-import rich ` | |
--hidden-import dotenv ` | |
--hidden-import trio ` | |
"backend/main.py" ` | |
--name "KickViewerBOT.exe" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows-build | |
path: dist/KickViewerBOT.exe | |
build-macos: | |
runs-on: macos-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Install Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Setup Python and venv | |
run: | | |
python -m venv venv | |
source venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install pyinstaller | |
pip install -r requirements.txt | |
- name: Install frontend dependencies | |
working-directory: ./frontend | |
run: | | |
npm install | |
npm run build | |
- name: Create .env file | |
run: | | |
echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> backend/.env | |
echo "BOT_TOKEN=${{ secrets.BOT_TOKEN }}" >> backend/.env | |
echo "CLIENT_ID=${{ secrets.CLIENT_ID }}" >> backend/.env | |
echo "CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}" >> backend/.env | |
- name: Execute build script | |
run: | | |
chmod +x build.sh | |
./build.sh | |
- name: Build MacOS App | |
run: | | |
source venv/bin/activate | |
pyinstaller --noconfirm --onefile --uac-admin --icon "frontend/public/favicon.ico" \ | |
--paths "venv/lib/python3.11/site-packages" \ | |
--add-data "backend:." \ | |
--add-data "backend/.env:." \ | |
--add-data "frontend/out:static" \ | |
--add-data "venv/lib/python3.11/site-packages/fake_useragent/data:fake_useragent/data" \ | |
--add-data "venv/lib/python3.11/site-packages/fake_useragent:fake_useragent" \ | |
--add-data "venv/lib/python3.11/site-packages/streamlink:streamlink" \ | |
--add-data "venv/lib/python3.11/site-packages/websocket:websocket" \ | |
--add-data "venv/lib/python3.11/site-packages/cffi:cffi" \ | |
--add-data "venv/lib/python3.11/site-packages/Crypto:Crypto" \ | |
--add-data "venv/lib/python3.11/site-packages/psutil:psutil" \ | |
--collect-data fake_useragent \ | |
--collect-submodules streamlink \ | |
--collect-submodules websocket \ | |
--collect-submodules cffi \ | |
--collect-submodules Crypto \ | |
--hidden-import rich \ | |
--hidden-import dotenv \ | |
--hidden-import trio \ | |
--hidden-import resource \ | |
"backend/main.py" \ | |
--name "KickViewerBOT" | |
- name: zip the app | |
run: | | |
cd dist | |
zip -r KickViewerBOT-MacOS.zip KickViewerBOT | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macos-build | |
path: dist/KickViewerBOT-MacOS.zip | |
create-release: | |
needs: [build-windows, build-macos] | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
body: | | |
# 🚀 KickViewerBOT Release Notes V2.0 | |
## 🎯 Core Features | |
- **Multi-threading System**: Support for up to 10000 simultaneous threads | |
- **Proxy Support**: Compatible with HTTP, SOCKS4, SOCKS5 | |
- **Auto-update**: Automatic system updates | |
- **Cross-Platform**: Compatible with Windows, Linux, MacOS | |
## 🆕 New Features | |
### User Interface | |
- 🖥️ Modern and responsive React interface | |
- 📊 Real-time dashboard with statistics | |
- 🌙 Dark/Light mode | |
### Bot Features | |
- 📈 Advanced analytics | |
- 🔄 Automatic proxy rotation | |
- ⚡ Optimized performance mode | |
### Security | |
- 🔒 JWT Authentication | |
- 🛡️ Anti-detection protection | |
- 🔑 Secure credentials management | |
- 🌐 HTTPS/SSL Support | |
### Premium Features | |
- 📊 Detailed statistics | |
- 🔄 Auto-restart capability | |
- ⚡ High-performance mode | |
- 📈 Automatic scaling | |
## 🛠️ Technical Improvements | |
- Optimized Flask backend | |
- Asyncio support for better performance | |
- Improved memory management | |
- Detailed logging | |
- Documented RESTful API | |
## 🐛 Bug Fixes | |
- Memory leak fixes | |
- Connection stability improvements | |
- Random disconnection fixes | |
- CPU usage optimization | |
## 📚 Documentation | |
- Detailed installation guide | |
- API documentation | |
- Usage examples | |
- Troubleshooting guide | |
## 🔗 Links | |
- [Discord Support](https://discord.gg/2Sqvx25auv) | |
- [Patreon](https://www.patreon.com/hibo/membership) | |
## 💻 Installation | |
1. Download the executable | |
2. Launch the application | |
3. Login | |
4. Configure your settings | |
5. Start the bot | |
## ⚠️ Requirements | |
- Windows 10/11 64-bit or MacOS 10.15+ | |
- 4GB RAM minimum | |
- Stable internet connection | |
## 🆘 Support | |
For assistance, join our Discord or consult the documentation. | |
draft: false | |
prerelease: false | |
- name: Upload Windows Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/windows-build/KickViewerBOT.exe | |
asset_name: KickViewerBOT-Windows.exe | |
asset_content_type: application/octet-stream | |
- name: Upload MacOS Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/macos-build/KickViewerBOT-MacOS.zip | |
asset_name: KickViewerBOT-MacOS.zip | |
asset_content_type: application/zip |