Skip to content

Commit 35f2370

Browse files
committed
standalone 1.0.0
1 parent 478935a commit 35f2370

File tree

11 files changed

+391
-216
lines changed

11 files changed

+391
-216
lines changed

README.md

Lines changed: 162 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,162 +1,243 @@
11
# KickDropMiner — Web UI Edition
22

3-
KickDropMiner automatically watches Kick livestreams and claims Drops. This fork(fully refactored) provides a single, local Web UI that lets you run, control, and monitor the farming process in the background.
3+
KickDropMiner automatically watches Kick livestreams and claims Drops. This fully refactored miner provides a single, local Web UI that lets you run, control, and monitor the farming process in your browser.
4+
5+
---
6+
7+
## 🚀 Simplest Usage (Windows Package)
8+
9+
**Just want to run KickDropMiner on Windows? Here’s the easiest possible way:**
10+
11+
1. **Download the pre-built Windows package** from [Releases](https://github.com/Abolfazl74/kickdropminer/releases) (`KickDropMiner.exe`).
12+
2. **Export your Kick cookies** as `cookies.txt` (see [cookie export instructions below](#exporting-cookies)).
13+
3. **Put `cookies.txt` in the same folder** as `KickDropMiner.exe`.
14+
4. **Double-click `KickDropMiner.exe` to start**.
15+
5. **Open [http://localhost:8080](http://localhost:8080) in your browser to use the Web UI!**
16+
17+
No Python or installing required.
18+
_If you want to customize settings, find `config.ini` in the same folder and edit as needed._
19+
20+
---
421

522
## Features
623

7-
- Web UI built with Flask: one dashboard to start/stop farming, view campaign progress, see logs, and claim rewards.
8-
- All UI text is localization-ready (`locales/en.json` and multi-language support).
9-
- Simple install: just Python, no external services required.
24+
- Modern Web UI: Control farming, view campaign progress, logs, and claim rewards—all in one dashboard.
25+
- Full internationalization: Easy language switching via `locales/en.json` and `config.ini`.
26+
- Simple setup: Just Python, your Kick cookies, and you're ready.
1027

1128
## Table of Contents
1229

30+
- [🚀 Simplest Usage (Windows Package)](#simplest-usage-windows-package)
1331
- [Requirements](#requirements)
1432
- [Quick Setup](#quick-setup)
1533
- [Running the Web UI](#running-the-web-ui)
1634
- [Exporting Cookies](#exporting-cookies)
35+
- [Recommended Addons](#recommended-addons)
1736
- [Method A: cookies.txt extension](#method-a---cookiestxt-extension-recommended)
18-
- [Method B: browser export](#method-b---browser-extension--manual-export)
19-
- [Manual alternative: DevTools](#manual-alternative-devtools)
37+
- [Method B: browser export](#method-b-browser-extension--manual-export)
38+
- [Manual export: Developer Tools](#manual-export-developer-tools)
2039
- [Configuration](#configuration)
21-
- [Editing UI Text](#editing-ui-text)
40+
- [Localization / UI Text](#localization--ui-text)
41+
- [Professional Build Guide](#professional-build-guide)
42+
- [Windows](#windows-build)
43+
- [Linux](#linux-build)
44+
- [Packaging Executables With Example Config](#packaging-executables-with-example-config)
45+
- [Adding Executables to a GitHub Release](#adding-executables-to-a-github-release)
2246
- [Troubleshooting](#troubleshooting)
2347
- [Security Notes](#security-notes)
2448
- [Credits & License](#credits--license)
49+
- [Original Project Mention](#original-project-mention)
50+
51+
---
2552

2653
## Requirements
2754

28-
- Python 3.10 or newer (3.11+ recommended)
29-
- Optional: Git
30-
- A Kick account with an active session (`session_token`)
31-
- (Recommended) Python virtual environment
55+
- Python **3.10+** (3.11+ highly recommended)
56+
- Git (optional, recommended for updates)
57+
- A valid Kick account/session (`session_token`)
58+
- (Recommended): Python virtual environment
59+
60+
---
3261

3362
## Quick Setup
3463

3564
1. **Clone or download the repository:**
3665

37-
```sh
38-
git clone https://github.com/Abolfazl74/kickdropminer.git
39-
cd kickdropminer
40-
```
66+
```sh
67+
git clone https://github.com/Abolfazl74/kickdropminer.git
68+
cd kickdropminer
69+
```
4170

4271
2. **Create & activate your virtual environment:**
4372

44-
```sh
45-
python -m venv .venv
46-
# On macOS/Linux:
47-
source .venv/bin/activate
48-
# On Windows PowerShell:
49-
.venv\Scripts\Activate.ps1
50-
```
73+
```sh
74+
python -m venv .venv
75+
# On macOS/Linux:
76+
source .venv/bin/activate
77+
# On Windows PowerShell:
78+
.venv\Scripts\Activate.ps1
79+
```
5180

5281
3. **Install dependencies:**
5382

54-
```sh
55-
pip install -r requirements.txt
56-
```
83+
```sh
84+
pip install -r requirements.txt
85+
```
5786

5887
4. **Export and place your Kick cookies:**
5988

60-
- Use one of the guides below to export cookies and save as `cookies.txt` in the project root (same folder as `index.py` and `app.py`).
61-
- The expected format is Netscape `cookies.txt` (see next section).
89+
- Export all your cookies in Netscape `cookies.txt` format and place in the project directory.
6290

6391
5. **Start the Web UI:**
6492

65-
```sh
66-
python webui/app.py
67-
# or
68-
python -m webui.app
69-
```
93+
```sh
94+
python webui/app.py
95+
# or
96+
python -m webui.app
97+
```
7098

71-
Open your browser at [http://localhost:8080](http://localhost:8080)
99+
Then open [http://localhost:8080](http://localhost:8080) in your browser.
72100

73101
---
74102

75103
## Exporting Cookies
76104

77-
The farmer needs your `session_token` to authenticate to Kick's API. It's safest to export ALL cookies in Netscape format (`cookies.txt`).
105+
You need Kick cookies (including `session_token`) in Netscape `cookies.txt` format.
78106

79-
### Method A — cookies.txt Extension (Recommended)
107+
### Recommended Addons
80108

81-
1. **Chrome (and Chromium-based browsers):**
82-
- Install the "cookies.txt" extension in the Chrome Web Store.
83-
- Log into Kick.com.
84-
- Click the extension icon and export cookies for the current site.
85-
- Save as `cookies.txt` and move to the repo root.
109+
To export your Kick cookies in the proper format, use one of these official browser extensions:
86110

87-
2. **Firefox:**
88-
- Install the "cookies.txt" extension from Firefox Add-ons.
89-
- Log into Kick.com, export cookies, save as `cookies.txt`, move it to the project root.
111+
- **Firefox:** [Get cookies.txt LOCALLY](https://addons.mozilla.org/en-US/firefox/addon/get-cookies-txt-locally/)
112+
- **Chrome/Chromium:** [Get cookies.txt LOCALLY](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
90113

91-
### Method B — Browser Extension + Manual Export
114+
Use these to easily export all cookies as the required `cookies.txt` file for use with KickDropMiner.
92115

93-
- Use a cookie manager browser extension to export cookies in plain text.
94-
- Copy/export ALL cookies, save as `cookies.txt`.
116+
### Method A — cookies.txt Extension (Recommended)
95117

96-
### Manual Alternative — Using DevTools
118+
**Chrome & Chromium-based browsers:**
119+
- Install the "cookies.txt" extension.
120+
- Log into Kick.com.
121+
- Click the extension icon and export cookies for the site.
122+
- Save as `cookies.txt` in your repo directory.
97123

98-
If you only need the `session_token` cookie:
124+
**Firefox:**
125+
- Use the above "cookies.txt" extension or similar. Export, save, place as above.
99126

100-
1. Open DevTools (F12), go to Application/Storage tab.
101-
2. Find cookies for `https://kick.com` and locate the `session_token`.
102-
3. Copy its value.
103-
4. Create a `cookies.txt` file with the following (replace VALUE):
127+
### Method B — Manual Export (Advanced)
104128

105-
```
106-
kick.com TRUE / FALSE 0 session_token VALUE
107-
```
129+
- Use a cookie manager extension or browser developer tools.
130+
- Copy your `session_token` and format as shown:
108131

109-
_Note: The cookies.txt extension is safest—manual edits can break the format._
132+
```
133+
kick.com TRUE / FALSE 0 session_token VALUE
134+
```
135+
136+
_Note: Exporting ALL cookies in the correct format is safest._
110137

111138
---
112139

113140
## Configuration
114141

115-
- Default Web UI port: **8080**
116-
- Default password will be saved in `config.ini` file
117-
118-
- On first run, `config.ini` is created from `example_config.ini`. Edit it to change proxy settings or default language.
142+
- Edit settings in `config.ini` (created from `example_config.ini` on first run): change password, proxy, language, etc.
143+
- Web UI runs on port **8080** by default.
119144

120145
---
121146

122-
## Editing UI Text
147+
## Localization / UI Text
123148

124-
- All UI strings are in `locales/en.json`.
125-
- Change labels, messages, etc. by editing `locales/en.json` (keep key names).
126-
- Templates use `tl.c[...]` or the `t` variable, so translations update automatically.
149+
- All interface messages are in `locales/en.json`.
150+
- To translate or edit UI text, simply edit this file and/or add new locale files.
151+
- Set default language in `config.ini`.
127152

128153
---
129154

130-
## Troubleshooting
155+
## Professional Build Guide
156+
157+
Want to make a portable executable for Windows or Linux? Here’s how:
158+
159+
### Windows Build
160+
161+
1. **Install PyInstaller:**
162+
```sh
163+
pip install pyinstaller
164+
```
165+
166+
2. **Build executable:**
167+
```sh
168+
pyinstaller --onefile --console --name KickDropMiner.exe --clean ^
169+
--add-data "webui/templates;templates" ^
170+
--add-data "webui/static;static" ^
171+
--add-data "webui/logpipe.py;webui" ^
172+
--add-data "locales;locales" ^
173+
--add-data "core;core" ^
174+
--add-data "farmer.py;." ^
175+
--add-data "worker.py;." ^
176+
--add-data "example_config.ini;." ^
177+
--collect-all curl_cffi ^
178+
webui/app.py
179+
```
180+
181+
3. **Result:**
182+
Find your executable in the `dist/` folder (`KickDropMiner.exe`).
183+
Copy your `cookies.txt` and `config.ini` into the same directory for a ready-to-run miner.
184+
185+
### Linux Build
186+
187+
1. **Install PyInstaller:**
188+
```sh
189+
pip install pyinstaller
190+
```
191+
192+
2. **Build executable (bash syntax):**
193+
```sh
194+
pyinstaller --onefile --console --name KickDropMiner --clean \
195+
--add-data "webui/templates:templates" \
196+
--add-data "webui/static:static" \
197+
--add-data "webui/logpipe.py:webui" \
198+
--add-data "locales:locales" \
199+
--add-data "core:core" \
200+
--add-data "farmer.py:." \
201+
--add-data "worker.py:." \
202+
--add-data "example_config.ini:." \
203+
--collect-all curl_cffi \
204+
webui/app.py
205+
```
206+
207+
3. **Result:**
208+
Your binary will appear in `dist/`.
209+
Copy necessary config/cookies and launch just like the Python version.
131210

132-
- **No campaigns detected / missing progress:**
133-
- Ensure `cookies.txt` is present and correct.
134-
- Check logs (shown in Web UI).
211+
---
135212

136-
- **Database locked / SQLite errors:**
137-
- This fork defaults to in-memory reservations. If using SQLite, shut down all processes before restarting.
213+
## Troubleshooting
138214

139-
- **Missing/thumbnails images:**
140-
- Kick's API may omit campaign images. Placeholder or best effort will be used.
215+
- **No campaigns detected / missing progress:**
216+
Check that `cookies.txt` is present and correct. View logs in the Web UI for details.
217+
- **SQLite errors:**
218+
Use the default memory database, or ensure only one instance is running.
219+
- **Missing campaign images:**
220+
Kick API sometimes omits images; placeholders may be used.
141221

142222
---
143223

144224
## Security Notes
145225

146-
- Treat your `cookies.txt` like a password. Keep it private and secure!
147-
- Do **not** expose the Web UI to the internet unless you add authentication and TLS.
148-
- Change the default password for any non-localhost deployment.
226+
- Treat your `cookies.txt` file as a password—keep it safe!
227+
- Never expose the Web UI to the public internet without authentication and HTTPS.
228+
- Change default password before deploying on any non-localhost environment.
149229

150230
---
151231

152-
## Development Notes
232+
## Credits & License
153233

154-
- The Web UI is in the `webui/` directory and manages background farmer processes (`index.py`) with live logs.
155-
- All UI strings load from `locales/en.json`. For other locales, add files like `locales/es.json` and select language in `config.ini`.
156-
- For advanced multi-worker setups, consider Redis or a coordination service.
234+
Made with ♥ by StuXan and contributors
235+
See LICENSE file for details.
157236

158237
---
159238

160-
## Credits & License
239+
## Original Project Mention
161240

162-
Made with ♥ by StuXan
241+
This project is fully refactored and independent.
242+
A special thanks to the KickDropMiner repository for inspiration and reference:
243+
https://github.com/PBA4EVSKY/kickautodrops

core/cookies_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
def _msg(key: str, **kwargs) -> str:
77
fallback_templates = {
88
"file_empty": "Cookie file {file_path} is empty",
9-
"cookies_loaded": "Cookies loaded from {file_path}",
9+
"cookies_loaded": "",
1010
"cookies_file_notfound": "Cookie file {file_path} not found",
1111
"cookies_error_load": "Error loading cookies: {e}"
1212
}

0 commit comments

Comments
 (0)