@@ -32,28 +32,133 @@ <h3 class="settings-section-title">General</h3>
3232 </ div >
3333</ div >
3434
35- <!-- Referral Codes -->
35+ <!-- Earnings Collection Credentials -->
3636< div class ="card settings-section ">
37- < h3 class ="settings-section-title "> Referral Codes</ h3 >
38- < p class ="settings-section-desc "> Your referral codes for each service. New users who sign up through your links earn you bonuses.</ p >
37+ < h3 class ="settings-section-title "> Earnings Collection</ h3 >
38+ < p class ="settings-section-desc ">
39+ Enter credentials for services you want to track earnings from.
40+ You don't need to deploy containers through CashPilot — just add your credentials and earnings will be collected automatically.
41+ </ p >
3942
40- < div id ="settings-referrals ">
41- < p class ="form-hint "> No services configured yet. Deploy a service first.</ p >
43+ <!-- Honeygain -->
44+ < details class ="collector-section ">
45+ < summary class ="collector-header ">
46+ < span class ="collector-name "> Honeygain</ span >
47+ < span class ="badge badge-category " id ="status-honeygain "> Not configured</ span >
48+ </ summary >
49+ < div class ="collector-body ">
50+ < div class ="form-group ">
51+ < label class ="form-label "> Email</ label >
52+ < input class ="form-input collector-input " type ="text " data-config ="honeygain_email " placeholder ="Your Honeygain email ">
53+ </ div >
54+ < div class ="form-group ">
55+ < label class ="form-label "> Password</ label >
56+ < input class ="form-input collector-input " type ="password " data-config ="honeygain_password " placeholder ="Your Honeygain password ">
57+ </ div >
58+ </ div >
59+ </ details >
60+
61+ <!-- EarnApp -->
62+ < details class ="collector-section ">
63+ < summary class ="collector-header ">
64+ < span class ="collector-name "> EarnApp</ span >
65+ < span class ="badge badge-category " id ="status-earnapp "> Not configured</ span >
66+ </ summary >
67+ < div class ="collector-body ">
68+ < div class ="form-group ">
69+ < label class ="form-label "> OAuth Token</ label >
70+ < input class ="form-input collector-input " type ="password " data-config ="earnapp_oauth_token "
71+ placeholder ="From browser: F12 > Application > Cookies > oauth-refresh-token ">
72+ < div class ="form-hint "> Open earnapp.com, press F12, go to Application > Cookies, and copy the < code > oauth-refresh-token</ code > value.</ div >
73+ </ div >
74+ </ div >
75+ </ details >
76+
77+ <!-- IPRoyal Pawns -->
78+ < details class ="collector-section ">
79+ < summary class ="collector-header ">
80+ < span class ="collector-name "> IPRoyal Pawns</ span >
81+ < span class ="badge badge-category " id ="status-iproyal "> Not configured</ span >
82+ </ summary >
83+ < div class ="collector-body ">
84+ < div class ="form-group ">
85+ < label class ="form-label "> Email</ label >
86+ < input class ="form-input collector-input " type ="text " data-config ="iproyal_email " placeholder ="Your Pawns email ">
87+ </ div >
88+ < div class ="form-group ">
89+ < label class ="form-label "> Password</ label >
90+ < input class ="form-input collector-input " type ="password " data-config ="iproyal_password " placeholder ="Your Pawns password ">
91+ </ div >
92+ </ div >
93+ </ details >
94+
95+ <!-- Traffmonetizer -->
96+ < details class ="collector-section ">
97+ < summary class ="collector-header ">
98+ < span class ="collector-name "> Traffmonetizer</ span >
99+ < span class ="badge badge-category " id ="status-traffmonetizer "> Not configured</ span >
100+ </ summary >
101+ < div class ="collector-body ">
102+ < div class ="form-group ">
103+ < label class ="form-label "> API Token</ label >
104+ < input class ="form-input collector-input " type ="password " data-config ="traffmonetizer_token "
105+ placeholder ="From browser: F12 > Local Storage > token ">
106+ < div class ="form-hint "> Open app.traffmonetizer.com, press F12, go to Application > Local Storage, and copy the < code > token</ code > value.</ div >
107+ </ div >
108+ </ div >
109+ </ details >
110+
111+ <!-- MystNodes -->
112+ < details class ="collector-section ">
113+ < summary class ="collector-header ">
114+ < span class ="collector-name "> MystNodes (Mysterium)</ span >
115+ < span class ="badge badge-category " id ="status-mysterium "> Not configured</ span >
116+ </ summary >
117+ < div class ="collector-body ">
118+ < div class ="form-group ">
119+ < label class ="form-label "> Tequila API URL</ label >
120+ < input class ="form-input collector-input " type ="text " data-config ="mysterium_api_url "
121+ value ="http://localhost:4449 " placeholder ="http://localhost:4449 ">
122+ < div class ="form-hint "> The Mysterium node's local API. Default: < code > http://localhost:4449</ code > . Change if your node runs on another host.</ div >
123+ </ div >
124+ </ div >
125+ </ details >
126+
127+ <!-- Storj -->
128+ < details class ="collector-section ">
129+ < summary class ="collector-header ">
130+ < span class ="collector-name "> Storj</ span >
131+ < span class ="badge badge-category " id ="status-storj "> Not configured</ span >
132+ </ summary >
133+ < div class ="collector-body ">
134+ < div class ="form-group ">
135+ < label class ="form-label "> Storagenode API URL</ label >
136+ < input class ="form-input collector-input " type ="text " data-config ="storj_api_url "
137+ value ="http://localhost:14002 " placeholder ="http://localhost:14002 ">
138+ < div class ="form-hint "> Your storagenode's local dashboard API. Default: < code > http://localhost:14002</ code > .</ div >
139+ </ div >
140+ </ div >
141+ </ details >
142+
143+ < div style ="margin-top: 16px; display: flex; gap: 8px; align-items: center; ">
144+ < button class ="btn btn-primary " onclick ="CP.saveCollectorCredentials() "> Save Credentials</ button >
145+ < button class ="btn btn-secondary " onclick ="CP.testCollectors() "> Test Collection Now</ button >
146+ < span id ="collector-save-status " style ="font-size: 0.85rem; color: var(--text-muted); "> </ span >
42147 </ div >
43148</ div >
44149
45- <!-- Credentials -->
150+ <!-- Referral Codes -->
46151< div class ="card settings-section ">
47- < h3 class ="settings-section-title "> Saved Credentials </ h3 >
48- < p class ="settings-section-desc "> Credentials for deployed services. Passwords are stored encrypted .</ p >
152+ < h3 class ="settings-section-title "> Referral Codes </ h3 >
153+ < p class ="settings-section-desc "> Your referral codes for each service. New users who sign up through your links earn you bonuses .</ p >
49154
50- < div id ="settings-credentials ">
51- < p class ="form-hint "> No saved credentials yet. Deploy a service to add credentials .</ p >
155+ < div id ="settings-referrals ">
156+ < p class ="form-hint "> No services configured yet. Deploy a service first .</ p >
52157 </ div >
53158</ div >
54159
55- <!-- Save -->
160+ <!-- Save General -->
56161< div style ="display: flex; justify-content: flex-end; margin-top: 8px; ">
57- < button class ="btn btn-primary btn-lg " onclick ="CP.saveSettings() "> Save Settings</ button >
162+ < button class ="btn btn-primary btn-lg " onclick ="CP.saveSettings() "> Save General Settings</ button >
58163</ div >
59164{% endblock %}
0 commit comments