mirror of
				https://codeberg.org/crimeflare/cloudflare-tor
				synced 2025-10-26 22:26:45 +01:00 
			
		
		
		
	
		
			
	
	
		
			67 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | let irun = false; | ||
|  | document.addEventListener('DOMContentLoaded', () => { | ||
|  | 	browser.storage.local.get(['mul']).then(g => { | ||
|  | 		let ul = g.mul || 'eo'; | ||
|  | 		fetch('i18n/' + ul + '.json', { | ||
|  | 			method: 'GET' | ||
|  | 		}).then(j => j.json()).then(j => { | ||
|  | 			document.querySelectorAll('span[tek]').forEach(x => { | ||
|  | 				x.innerText = j[x.getAttribute('tek')]; | ||
|  | 			}); | ||
|  | 			document.body.style.display = 'block'; | ||
|  | 		}); | ||
|  | 	}); | ||
|  | }); | ||
|  | document.getElementById('f').addEventListener('change', e => { | ||
|  | 	let ff = e.target.files[0]; | ||
|  | 	if (ff) { | ||
|  | 		let r = new FileReader(); | ||
|  | 		r.addEventListener('load', e => { | ||
|  | 			if (ff.size > 4) { | ||
|  | 				let g = e.target.result.replace(/(?:\r\n|\r|\n)/g, "\n").split("\n"); | ||
|  | 				if (g.length > 0) { | ||
|  | 					browser.storage.local.get(['ldb']).then(gs => { | ||
|  | 						irun = true; | ||
|  | 						let cnt0, cnt1 = 0, | ||
|  | 							gc = 1, | ||
|  | 							db = JSON.parse(gs.ldb || '[]'); | ||
|  | 						cnt0 = db.length; | ||
|  | 						document.getElementById('pbr').max = g.length; | ||
|  | 						g.forEach(x => { | ||
|  | 							document.getElementById('pbr').value = gc; | ||
|  | 							gc++; | ||
|  | 							if (/^([0-9a-z.-]{4,400})\.([a-z]{2,40})$/.test(x) && !db.includes(x)) { | ||
|  | 								db.push(x); | ||
|  | 							} | ||
|  | 						}); | ||
|  | 						g = null; | ||
|  | 						cnt1 = db.length; | ||
|  | 						if (cnt1 != cnt0) { | ||
|  | 							browser.storage.local.set({ | ||
|  | 								'ldb': JSON.stringify(db) | ||
|  | 							}); | ||
|  | 						} | ||
|  | 						browser.runtime.sendMessage('dbmode,rl').then(() => { | ||
|  | 							alert(document.querySelector('span[tek=opxdone]').innerText + "\n\n" + cnt0 + " -> " + cnt1); | ||
|  | 							location.reload(); | ||
|  | 						}); | ||
|  | 					}); | ||
|  | 				} | ||
|  | 			} | ||
|  | 		}); | ||
|  | 		r.readAsText(ff); | ||
|  | 	} | ||
|  | }); | ||
|  | document.getElementById('ldb_i').addEventListener('click', () => { | ||
|  | 	if (!irun) { | ||
|  | 		document.getElementById('f').click(); | ||
|  | 	} | ||
|  | }); | ||
|  | document.getElementById('ldb_c').addEventListener('click', () => { | ||
|  | 	if (!irun) { | ||
|  | 		browser.runtime.sendMessage('dbmode,cl').then(() => { | ||
|  | 			alert(document.querySelector('span[tek=opxdone]').innerText); | ||
|  | 			location.reload(); | ||
|  | 		}); | ||
|  | 	} | ||
|  | }); |