metalalchemistspex commited on
Commit
074317d
·
unverified ·
1 Parent(s): 73b87ae

Add files via upload

Browse files
Files changed (5) hide show
  1. app.py +940 -0
  2. phishing_domains.csv +647 -0
  3. requirements.txt +5 -0
  4. sms_dataset_lc.csv +408 -0
  5. typosquatting_domains.csv +422 -0
app.py ADDED
@@ -0,0 +1,940 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Ne Nasedaj — SMS Phishing Detector
3
+ Bilingual version (EN/SR) with language toggle
4
+ Ensemble: TF-IDF/LogReg + fine-tuned BERTić classifier
5
+ """
6
+ import gradio as gr
7
+ import pandas as pd
8
+ import re
9
+ import torch
10
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
11
+ from sklearn.feature_extraction.text import TfidfVectorizer
12
+ from sklearn.linear_model import LogisticRegression
13
+ from sklearn.pipeline import Pipeline
14
+
15
+ # =========================
16
+ # LOAD DATASETS & DOMAINS
17
+ # =========================
18
+ try:
19
+ df = pd.read_csv("sms_dataset_lc.csv")
20
+ except FileNotFoundError:
21
+ df = pd.DataFrame({"text": [], "label": []})
22
+
23
+ try:
24
+ phishing_domains_df = pd.read_csv("phishing_domains.csv")
25
+ typosquatting_domains_df = pd.read_csv("typosquatting_domains.csv")
26
+ PHISHING_DOMAINS = set(phishing_domains_df['domain'].str.lower().tolist())
27
+ TYPOSQUATTING_DOMAINS = set(typosquatting_domains_df['domain'].str.lower().tolist())
28
+ ALL_SUSPICIOUS_DOMAINS = PHISHING_DOMAINS.union(TYPOSQUATTING_DOMAINS)
29
+ except Exception:
30
+ ALL_SUSPICIOUS_DOMAINS = set()
31
+
32
+ # =========================
33
+ # TF-IDF / LOGREG MODEL (Model A)
34
+ # =========================
35
+ if len(df) > 0:
36
+ tfidf_model = Pipeline([
37
+ ("tfidf", TfidfVectorizer(
38
+ analyzer='char_wb',
39
+ ngram_range=(3, 5),
40
+ lowercase=True,
41
+ max_features=10000
42
+ )),
43
+ ("clf", LogisticRegression(
44
+ class_weight='balanced',
45
+ max_iter=1000,
46
+ random_state=42
47
+ ))
48
+ ])
49
+ tfidf_model.fit(df["text"], df["label"])
50
+ else:
51
+ tfidf_model = None
52
+
53
+ # =========================
54
+ # BERTIĆ MODEL (Model B)
55
+ # =========================
56
+ class SMSPhishingDetectorWrapper:
57
+ def __init__(self, model_id="ravi2505/ne-nasedaj-sms-phishing", device=None):
58
+ self.model_id = model_id
59
+ self.device = device or torch.device("cuda" if torch.cuda.is_available() else "cpu")
60
+ self.tokenizer = AutoTokenizer.from_pretrained(model_id)
61
+ self.model = AutoModelForSequenceClassification.from_pretrained(model_id)
62
+ self.model.to(self.device)
63
+ self.model.eval()
64
+ self.id2label = {0: "Legitimate", 1: "Phishing"}
65
+
66
+ def _prepare_input(self, text):
67
+ if text and len(text) > 4 and text[0] == '[' and text[3] == ']':
68
+ return text
69
+ return f"[sr] {text}"
70
+
71
+ def predict(self, text):
72
+ processed = self._prepare_input(text)
73
+ inputs = self.tokenizer(processed, return_tensors="pt", truncation=True,
74
+ padding=True, max_length=512)
75
+ inputs = {k: v.to(self.device) for k, v in inputs.items()}
76
+ with torch.no_grad():
77
+ logits = self.model(**inputs).logits
78
+ probs = torch.softmax(logits, dim=1)
79
+ pred_id = torch.argmax(probs, dim=1).item()
80
+ return {
81
+ "label": self.id2label[pred_id],
82
+ "confidence": probs[0][pred_id].item(),
83
+ "phishing_score": probs[0][1].item(),
84
+ }
85
+
86
+ try:
87
+ bertic_model = SMSPhishingDetectorWrapper()
88
+ BERTIC_AVAILABLE = True
89
+ except Exception as e:
90
+ print(f"BERTić model unavailable: {e}")
91
+ bertic_model = None
92
+ BERTIC_AVAILABLE = False
93
+
94
+ # =========================
95
+ # TRANSLATION DICTIONARIES
96
+ # =========================
97
+ TRANSLATIONS = {
98
+ "en": {
99
+ "title": "# 🛡️ NE NASEDAJ — SMS PHISHING DETECTOR",
100
+ "subtitle": "### Ensemble AI analysis for SR/HR/BIH/CG",
101
+ "sms_input_label": "✉️ Enter SMS message",
102
+ "sms_placeholder": "Paste SMS message here...",
103
+ "human_check": "I am not a robot",
104
+ "privacy_check": "I accept the terms of use",
105
+ "terms_link": "📄 Read terms of use",
106
+ "analyze_btn": "🔍 Analyze",
107
+ "output_label": "🔎 Result",
108
+ "quick_tests": "💡 Quick tests",
109
+ "phishing_title": "🚨 Phishing examples",
110
+ "legit_title": "✅ Legitimate examples",
111
+ "batch_title": "🧪 Batch testing — upload CSV",
112
+ "batch_desc": "Upload `smishi_test_cases.csv` (columns: `text`, `label`, optional `technique`)",
113
+ "upload_csv": "📂 Upload CSV",
114
+ "run_batch": "▶️ Run batch test",
115
+ "batch_output": "📊 Batch results",
116
+ "footer": "Ne Nasedaj — protect yourself from scams 🛡️",
117
+ "lang_toggle": "🌐 Language / Jezik",
118
+ "threat_vectors": {
119
+ "IBAN_PHISHING": {"label": "💳 IBAN Phishing", "desc": "Message asks for payment to an IBAN account."},
120
+ "URGENCY": {"label": "⏰ Urgency", "desc": "Message uses time pressure or threat."},
121
+ "CREDENTIAL_HARVEST": {"label": "🔑 Credential Harvest", "desc": "Message asks for personal or login details."},
122
+ "FAKE_DELIVERY": {"label": "📦 Fake Delivery", "desc": "Impersonates package or customs notification."},
123
+ "VISHING": {"label": "📞 Vishing", "desc": "Calls to contact a fake institution by phone."},
124
+ "PRIZE_SCAM": {"label": "🎁 Prize Scam", "desc": "Fake notification about a prize or win."},
125
+ "FINANCIAL_BAIT": {"label": "💰 Financial Bait", "desc": "Promises refund or financial gain."},
126
+ "TYPOSQUATTING": {"label": "🌐 Typosquatting domain", "desc": "Link leads to fake site imitating a real institution."},
127
+ },
128
+ "len_too_short": "⚠️ Too short",
129
+ "len_suspicious": "⚠️ Suspiciously short",
130
+ "len_std": "✅ Standard length",
131
+ "len_too_long": "⚠️ Too long",
132
+ "len_too_short_desc": "Message is too short to be a real notification.",
133
+ "len_suspicious_desc": "Real notifications are usually longer.",
134
+ "len_std_desc": "Length corresponds to standard SMS.",
135
+ "len_too_long_desc": "Standard SMS is {max_len} characters.",
136
+ "status_phishing_high": "🚨 PHISHING — Do not fall for it!",
137
+ "status_models_disagree": "⚠️ MODELS DISAGREE — Be cautious",
138
+ "status_not_sure": "⚠️ NOT SURE — Be cautious",
139
+ "status_possible_fraud": "⚠️ POSSIBLE FRAUD — Verify sender",
140
+ "status_legit": "✅ LEGITIMATE — Looks safe",
141
+ "why_both_phishing": "Both models indicate phishing.",
142
+ "why_model_detected": "Model detected phishing attack patterns.",
143
+ "why_disagree_tfidf": "TF-IDF model says <strong>{pred_a}</strong>, BERTić model says <strong>{pred_b}</strong>.",
144
+ "why_low_confidence": "Models are not confident enough to make a clear decision.",
145
+ "why_suspicious_features": "Message has suspicious features, but confidence is not high.",
146
+ "why_legit": "Both models agree the message does not contain typical phishing patterns.",
147
+ "why_red_flags": "<strong>Suspicious words:</strong> {red_flags}",
148
+ "why_typosquatting": "<strong>Typosquatting domain:</strong> {domains}",
149
+ "why_note_red_flags": "<strong>⚠️ Note:</strong> there are suspicious words ({red_flags}).",
150
+ "action_phishing_high": "Do not click on links. Report the message to your operator.",
151
+ "action_disagree": "Check with the sender directly before clicking or replying.",
152
+ "action_not_sure": "Check with the sender directly before clicking or replying.",
153
+ "action_possible_fraud": "Contact the institution directly via their official number.",
154
+ "action_legit": "Verify the sender before clicking.",
155
+ "copy_btn": "📋 Copy message",
156
+ "copy_success": "✅ Copied!",
157
+ "copy_error": "❌",
158
+ "report_cert_btn": "🚨 Report to {name}",
159
+ "report_police_btn": "👮 Report to {name}",
160
+ "warn_contact_btn": "⚠️ Warn contact",
161
+ "what_to_do": "🚀 What to do:",
162
+ "why_label": "🔍 Why?",
163
+ "advice_label": "💡 Advice:",
164
+ "detected_vectors": "🏷️ Detected attack vectors:",
165
+ "ensemble_confidence": "📊 Ensemble confidence",
166
+ "model_tfidf": "🤖 TF-IDF:",
167
+ "model_bertic": "🧠 BERTić:",
168
+ "model_unavailable": "unavailable",
169
+ "length_label": "📏 Length: {length} chars",
170
+ "batch_technique": "Technique",
171
+ "batch_message": "Message",
172
+ "batch_expected": "Expected",
173
+ "batch_verdict": "Verdict",
174
+ "batch_models": "A/B models",
175
+ "batch_vectors": "Vectors",
176
+ "batch_ok": "OK?",
177
+ "batch_summary": "📊 Batch test results (ensemble)",
178
+ "batch_total": "Total:",
179
+ "batch_correct": "Correct:",
180
+ "batch_wrong": "Wrong:",
181
+ "batch_uncertain": "Uncertain:",
182
+ "batch_accuracy": "Accuracy:",
183
+ "batch_uncertain_label": "⚠️ Models disagree / Not sure",
184
+ "batch_phishing_label": "🚨 Phishing",
185
+ "batch_possible_label": "⚠️ Possible fraud",
186
+ "batch_legit_label": "✅ Legitimate",
187
+ "terms_title": "📄 Terms of Use — Ne Nasedaj",
188
+ "terms_p1": "<strong>1. Purpose</strong><br>Ne Nasedaj is a free SMS phishing detection tool for users in Serbia, Croatia, Bosnia and Herzegovina, and Montenegro.",
189
+ "terms_p2": "<strong>2. Data Processing</strong><br>The message text you enter is analyzed only locally within the application. Messages are not stored, logged, or sent to external servers.",
190
+ "terms_p3": "<strong>3. Limitation of Liability</strong><br>Analysis results are for informational purposes only and do not constitute a guarantee. The tool may make mistakes — always use common sense and verify the sender directly.",
191
+ "terms_p4": "<strong>4. Prohibition of Misuse</strong><br>Using this tool for attack testing, generating phishing content, or any other malicious activity is prohibited.",
192
+ "terms_p5": "<strong>5. Contact</strong><br>For questions and bug reports, contact us via the Hugging Face repository.",
193
+ "terms_accept": "I understand and accept ✓",
194
+ "ex_phishing_1": "Posta Serbia: Your package awaits customs. Pay 450 RSD: https://rs-posta.net",
195
+ "ex_phishing_2": "Raiffeisen: Card blocked. Verify: https://raiffeisen-sigurno.com",
196
+ "ex_legit_1": "Yettel: Subscription renewed. Balance: 0.00 RSD.",
197
+ "ex_legit_2": "AIK Banka: E-token code 847392. Valid 60s.",
198
+ "warning_text": "WARNING: This SMS has been identified as a potential phishing attack. Do not click links or enter personal information.",
199
+ },
200
+ "sr": {
201
+ "title": "# 🛡️ NE NASEDAJ — SMS PHISHING DETECTOR",
202
+ "subtitle": "### Ensemble AI analiza za SR/HR/BIH/CG",
203
+ "sms_input_label": "✉️ Ukucaj SMS poruku",
204
+ "sms_placeholder": "Nalepite tekst SMS poruke ovde...",
205
+ "human_check": "Nisam robot",
206
+ "privacy_check": "Prihvatam uslove korišćenja",
207
+ "terms_link": "📄 Pročitaj uslove korišćenja",
208
+ "analyze_btn": "🔍 Analiziraj",
209
+ "output_label": "🔎 Rezultat",
210
+ "quick_tests": "💡 Brzi testovi",
211
+ "phishing_title": "🚨 Phishing primeri",
212
+ "legit_title": "✅ Legitimni primeri",
213
+ "batch_title": "🧪 Batch testiranje — učitaj CSV",
214
+ "batch_desc": "Upload `smishi_test_cases.csv` (kolone: `text`, `label`, opciono `technique`)",
215
+ "upload_csv": "📂 Učitaj CSV",
216
+ "run_batch": "▶️ Pokreni batch test",
217
+ "batch_output": "📊 Batch rezultati",
218
+ "footer": "Ne Nasedaj — zaštitite se od prevara 🛡️",
219
+ "lang_toggle": "🌐 Jezik / Language",
220
+ "threat_vectors": {
221
+ "IBAN_PHISHING": {"label": "💳 IBAN Phishing", "desc": "Poruka traži uplatu na IBAN račun."},
222
+ "URGENCY": {"label": "⏰ Urgentnost", "desc": "Poruka koristi pritisak vremena ili prijetnju."},
223
+ "CREDENTIAL_HARVEST": {"label": "🔑 Krađa podataka", "desc": "Poruka traži unos ličnih ili pristupnih podataka."},
224
+ "FAKE_DELIVERY": {"label": "📦 Lažna dostava", "desc": "Imitacija obaveštenja o paketu ili carini."},
225
+ "VISHING": {"label": "📞 Vishing", "desc": "Poziva na telefonski kontakt sa lažnom institucijom."},
226
+ "PRIZE_SCAM": {"label": "🎁 Nagradna prevara", "desc": "Lažno obaveštenje o nagradi ili dobitku."},
227
+ "FINANCIAL_BAIT": {"label": "💰 Finansijski mamac", "desc": "Obećava povrat novca ili finansijsku korist."},
228
+ "TYPOSQUATTING": {"label": "🌐 Typosquatting domen", "desc": "Link vodi na lažni sajt koji imitira pravu instituciju."},
229
+ },
230
+ "len_too_short": "⚠️ Prekratko",
231
+ "len_suspicious": "⚠️ Sumnjivo kratko",
232
+ "len_std": "✅ Standardna dužina",
233
+ "len_too_long": "⚠️ Predugo",
234
+ "len_too_short_desc": "Poruka je prekratka da bi bila realno obaveštenje.",
235
+ "len_suspicious_desc": "Realna obaveštenja su obično duža.",
236
+ "len_std_desc": "Dužina odgovara standardnom SMS-u.",
237
+ "len_too_long_desc": "Standardni SMS je {max_len} karaktera.",
238
+ "status_phishing_high": "🚨 PHISHING — Ne nasedajte!",
239
+ "status_models_disagree": "⚠️ MODELI SE NE SLAŽU — Budite oprezni",
240
+ "status_not_sure": "⚠️ NISAM SIGURAN — Budite oprezni",
241
+ "status_possible_fraud": "⚠️ MOGUĆA PREVARA — Proverite pošiljaoca",
242
+ "status_legit": "✅ LEGITIMNO — Izgleda bezbedno",
243
+ "why_both_phishing": "Oba modela ukazuju na phishing.",
244
+ "why_model_detected": "Model je detektovao obrasce phishing napada.",
245
+ "why_disagree_tfidf": "TF-IDF model kaže <strong>{pred_a}</strong>, BERTić model kaže <strong>{pred_b}</strong>.",
246
+ "why_low_confidence": "Modeli nisu dovoljno sigurni da donesu jasnu odluku.",
247
+ "why_suspicious_features": "Poruka ima sumnjive karakteristike, ali pouzdanost nije visoka.",
248
+ "why_legit": "Oba modela se slažu da poruka ne sadrži tipične phishing obrasce.",
249
+ "why_red_flags": "<strong>Sumnjive reči:</strong> {red_flags}",
250
+ "why_typosquatting": "<strong>Typosquatting domen:</strong> {domains}",
251
+ "why_note_red_flags": "<strong>⚠️ Napomena:</strong> postoje sumnjive reči ({red_flags}).",
252
+ "action_phishing_high": "Ne klikajte na linkove. Prijavite poruku operateru.",
253
+ "action_disagree": "Proverite pošiljaoca direktno pre nego što kliknete ili odgovorite.",
254
+ "action_not_sure": "Proverite pošiljaoca direktno pre nego što kliknete ili odgovorite.",
255
+ "action_possible_fraud": "Kontaktirajte instituciju direktno putem zvaničnog broja.",
256
+ "action_legit": "Proverite pošiljaoca pre klika.",
257
+ "copy_btn": "📋 Kopiraj poruku",
258
+ "copy_success": "✅ Kopirano!",
259
+ "copy_error": "❌",
260
+ "report_cert_btn": "🚨 Prijavi {name}",
261
+ "report_police_btn": "👮 Prijavi {name}",
262
+ "warn_contact_btn": "⚠️ Upozori kontakt",
263
+ "what_to_do": "🚀 Šta da radite:",
264
+ "why_label": "🔍 Zašto?",
265
+ "advice_label": "💡 Savet:",
266
+ "detected_vectors": "🏷️ Detektovani vektori napada:",
267
+ "ensemble_confidence": "📊 Pouzdanost ansambla",
268
+ "model_tfidf": "🤖 TF-IDF:",
269
+ "model_bertic": "🧠 BERTić:",
270
+ "model_unavailable": "nedostupan",
271
+ "length_label": "📏 Dužina: {length} kar.",
272
+ "batch_technique": "Tehnika",
273
+ "batch_message": "Poruka",
274
+ "batch_expected": "Očekivano",
275
+ "batch_verdict": "Verdikt",
276
+ "batch_models": "A/B modeli",
277
+ "batch_vectors": "Vektori",
278
+ "batch_ok": "OK?",
279
+ "batch_summary": "📊 Rezultati batch testa (ensemble)",
280
+ "batch_total": "Ukupno:",
281
+ "batch_correct": "Tačno:",
282
+ "batch_wrong": "Pogrešno:",
283
+ "batch_uncertain": "Nesigurno:",
284
+ "batch_accuracy": "Tačnost:",
285
+ "batch_uncertain_label": "⚠️ Modeli se ne slažu / Nisam siguran",
286
+ "batch_phishing_label": "🚨 Phishing",
287
+ "batch_possible_label": "⚠️ Moguća prevara",
288
+ "batch_legit_label": "✅ Legitimno",
289
+ "terms_title": "📄 Uslovi korišćenja — Ne Nasedaj",
290
+ "terms_p1": "<strong>1. Svrha alata</strong><br>Ne Nasedaj je besplatni alat za detekciju SMS phishing poruka namenjen korisnicima u Srbiji, Hrvatskoj, Bosni i Hercegovini i Crnoj Gori.",
291
+ "terms_p2": "<strong>2. Obrada podataka</strong><br>Tekst poruke koji unesete analizira se isključivo lokalno unutar aplikacije. Poruke se ne čuvaju, ne beleže i ne šalju na eksterne servere.",
292
+ "terms_p3": "<strong>3. Ograničenje odgovornosti</strong><br>Rezultati analize su informativnog karaktera i ne predstavljaju garanciju. Alat može pogrešiti — uvek koristite zdrav razum i proverite pošiljaoca direktno.",
293
+ "terms_p4": "<strong>4. Zabrana zloupotrebe</strong><br>Zabranjeno je korišćenje ovog alata u svrhe testiranja napada, generisanja phishing sadržaja ili bilo koje druge zlonamerne aktivnosti.",
294
+ "terms_p5": "<strong>5. Kontakt</strong><br>Za pitanja i prijavu grešaka kontaktirajte nas putem Hugging Face repozitorijuma.",
295
+ "terms_accept": "Razumem i prihvatam ✓",
296
+ "ex_phishing_1": "Pošta Srbije: Vaš paket čeka na carini. Platite carinu od 450 RSD: https://rs-posta.net",
297
+ "ex_phishing_2": "Raiffeisen: Kartica blokirana. Potvrdite: https://raiffeisen-sigurno.com",
298
+ "ex_legit_1": "Yettel: Pretplata obnovljena. Stanje: 0,00 RSD.",
299
+ "ex_legit_2": "AIK Banka: E-token kod 847392. Važi 60s.",
300
+ "warning_text": "UPOZORENJE: Ova SMS poruka je identifikovana kao potencijalni phishing napad. Ne klikajte na linkove i ne unosite lične podatke.",
301
+ }
302
+ }
303
+
304
+ # =========================
305
+ # LOCALIZED THREAT VECTORS
306
+ # =========================
307
+ def get_localized_threat_vectors(lang):
308
+ tv = TRANSLATIONS[lang]["threat_vectors"]
309
+ localized = {}
310
+ for key, info in tv.items():
311
+ localized[key] = {
312
+ "label": info["label"],
313
+ "desc": info["desc"],
314
+ "color": THREAT_VECTORS_BASE[key]["color"],
315
+ "bg": THREAT_VECTORS_BASE[key]["bg"],
316
+ "keywords": THREAT_VECTORS_BASE[key]["keywords"],
317
+ }
318
+ return localized
319
+
320
+ THREAT_VECTORS_BASE = {
321
+ "IBAN_PHISHING": {"color": "#dc2626", "bg": "#fef2f2",
322
+ "keywords": ["iban", "broj računa", "prenos", "uplata na račun"]},
323
+ "URGENCY": {"color": "#d97706", "bg": "#fffbeb",
324
+ "keywords": ["hitno", "rok", "odmah", "danas", "blokiran", "isteklo", "kazna", "blokirajte"]},
325
+ "CREDENTIAL_HARVEST": {"color": "#7c3aed", "bg": "#f5f3ff",
326
+ "keywords": ["pin", "lozinka", "jmbg", "sms kod", "verifikujte", "potvrdite", "unesite"]},
327
+ "FAKE_DELIVERY": {"color": "#0891b2", "bg": "#ecfeff",
328
+ "keywords": ["paket", "carinu", "doplata", "pošta", "dostava", "pošiljalac", "preuzmite"]},
329
+ "VISHING": {"color": "#be185d", "bg": "#fdf2f8",
330
+ "keywords": ["0800", "pozovite", "nazovite", "besplatan poziv", "call center"]},
331
+ "PRIZE_SCAM": {"color": "#15803d", "bg": "#f0fdf4",
332
+ "keywords": ["nagrada", "osvojili", "besplatno", "poklon", "izabrani ste", "dobitnik"]},
333
+ "FINANCIAL_BAIT": {"color": "#b45309", "bg": "#fffbeb",
334
+ "keywords": ["refundacija", "povrat", "rata", "naknadu", "kredit", "zajam"]},
335
+ "TYPOSQUATTING": {"color": "#991b1b", "bg": "#fef2f2", "keywords": []},
336
+ }
337
+
338
+ PHISHING_KEYWORDS = [
339
+ "platite", "plati", "plaćanje", "unesite", "potvrdite", "verifikujte",
340
+ "blokirajte", "hitno", "rok", "ažurirajte", "preuzmite", "aktivirajte",
341
+ "bit.ly", ".net", ".info", ".help", ".xyz", "nagrada", "osvojili",
342
+ "besplatno", "kazna", "carinu", "doplata", "jmbg", "pin", "sms kod",
343
+ "iban", "0800", "pozovite", "nazovite", "naknadu", "refundaciju", "rata",
344
+ ]
345
+
346
+ REPORT_CONTACTS = {
347
+ "sr": {"cert_name": "CERT Srbije", "cert_url": "https://www.cert.rs/rs/prijava.html",
348
+ "police_name": "MUP / OVTK", "police_url": "https://www.mup.gov.rs/wps/portal/sr/kontakt"},
349
+ "hr": {"cert_name": "CERT.hr", "cert_url": "https://www.cert.hr/oincprijavi/",
350
+ "police_name": "MUP RH", "police_url": "https://www.gov.hr/mup"},
351
+ "bs": {"cert_name": "CERT.ba", "cert_url": "https://cert.ba/bs/contact",
352
+ "police_name": "MUP BiH", "police_url": "https://www.mup.gov.ba"},
353
+ "me": {"cert_name": "CERT.me", "cert_url": "https://www.cert.me/kontakt",
354
+ "police_name": "MUP CG", "police_url": "https://www.gov.me/mpb"},
355
+ }
356
+
357
+ # =========================
358
+ # HELPER FUNCTIONS
359
+ # =========================
360
+ def get_red_flags(text):
361
+ text_lower = text.lower()
362
+ return [kw for kw in PHISHING_KEYWORDS if kw in text_lower]
363
+
364
+ def get_threat_vectors(text, lang):
365
+ text_lower = text.lower()
366
+ tv = get_localized_threat_vectors(lang)
367
+ detected = []
368
+ for key, info in tv.items():
369
+ if key == "TYPOSQUATTING":
370
+ continue
371
+ if any(kw in text_lower for kw in info["keywords"]):
372
+ detected.append(key)
373
+ return detected
374
+
375
+ def extract_domains(text):
376
+ url_pattern = r'https?://[^\s<>"{}|^`\[\]]+|www\.[^\s<>"{}|\\^`\[\]]+'
377
+ urls = re.findall(url_pattern, text.lower())
378
+ domains = []
379
+ for url in urls:
380
+ domain = url.replace('http://', '').replace('https://', '').replace('www.', '')
381
+ domain = domain.split('/')[0].split('?')[0]
382
+ domains.append(domain)
383
+ return domains
384
+
385
+ def check_typosquatting(text):
386
+ domains = extract_domains(text)
387
+ return [d for d in domains if d in ALL_SUSPICIOUS_DOMAINS]
388
+
389
+ def analyze_sms_length(text, lang):
390
+ length = len(text)
391
+ gsm_chars = set('@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !"#¤%&\'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà')
392
+ is_gsm = all(c in gsm_chars for c in text)
393
+ max_length = 160 if is_gsm else 70
394
+ t = TRANSLATIONS[lang]
395
+ if length < 20:
396
+ return length, t["len_too_short"], "#ef4444", t["len_too_short_desc"]
397
+ elif length < 60:
398
+ return length, t["len_suspicious"], "#f59e0b", t["len_suspicious_desc"]
399
+ elif length > max_length * 2:
400
+ return length, t["len_too_long"], "#f59e0b", t["len_too_long_desc"].format(max_len=max_length)
401
+ return length, t["len_std"], "#10b981", t["len_std_desc"]
402
+
403
+ def infer_language(t):
404
+ t_lower = t.lower()
405
+ if any(w in t_lower for w in ["hrvatska", "hpb", "fina", "pošta hrvatska"]):
406
+ return "hr"
407
+ if any(w in t_lower for w in ["bosna", "fbih", "bih", "bosanski", "pošta bih"]):
408
+ return "bs"
409
+ if any(w in t_lower for w in ["crna gora", "podgorica", "telekom cg"]):
410
+ return "me"
411
+ if re.search(r'[\u0400-\u04FF]', t):
412
+ return "sr"
413
+ return "sr"
414
+
415
+ # =========================
416
+ # RENDER HELPERS
417
+ # =========================
418
+ def render_confidence_bar(confidence, status_color, lang):
419
+ t = TRANSLATIONS[lang]
420
+ bar_width = max(0, min(100, confidence)) * 2.4
421
+ return f"""
422
+ <div style="margin:8px 0;">
423
+ <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;">
424
+ <span style="font-size:11px;color:#64748b;font-weight:600;">📊 {t['ensemble_confidence']}</span>
425
+ <span style="font-size:13px;font-weight:700;color:{status_color};">{confidence}%</span>
426
+ </div>
427
+ <div style="background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden;">
428
+ <div style="width:{bar_width}px;max-width:100%;height:100%;background:linear-gradient(90deg,{status_color}99,{status_color});border-radius:999px;"></div>
429
+ </div>
430
+ </div>
431
+ """
432
+
433
+ def render_flag_chips(threat_keys, typosquat_domains, lang):
434
+ if not threat_keys and not typosquat_domains:
435
+ return ""
436
+ tv = get_localized_threat_vectors(lang)
437
+ chips = []
438
+ for key in threat_keys:
439
+ v = tv[key]
440
+ chips.append(
441
+ f'<span title="{v["desc"]}" style="display:inline-flex;align-items:center;gap:4px;background:{v["bg"]};color:{v["color"]};border:1px solid {v["color"]}33;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;cursor:help;white-space:nowrap;">{v["label"]}</span>'
442
+ )
443
+ if typosquat_domains:
444
+ v = tv["TYPOSQUATTING"]
445
+ for d in typosquat_domains:
446
+ chips.append(
447
+ f'<span title="{v["desc"]}: {d}" style="display:inline-flex;align-items:center;gap:4px;background:{v["bg"]};color:{v["color"]};border:1px solid {v["color"]}33;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;cursor:help;white-space:nowrap;">{v["label"]}: {d}</span>'
448
+ )
449
+ return '<div style="display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;">' + " ".join(chips) + '</div>'
450
+
451
+ def render_ensemble_row(pred_a, conf_a, pred_b, conf_b, b_available, lang):
452
+ t = TRANSLATIONS[lang]
453
+ if not b_available:
454
+ return f"""
455
+ <div style="font-size:11px;color:#64748b;margin:4px 0;padding:6px 10px;background:#f8fafc;border-radius:8px;">
456
+ {t['model_tfidf']} <strong>{pred_a}</strong> ({conf_a}%) |
457
+ {t['model_bertic']} <span style="color:#94a3b8;">{t['model_unavailable']}</span>
458
+ </div>
459
+ """
460
+ return f"""
461
+ <div style="display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:11px;color:#64748b;margin:4px 0;padding:6px 10px;background:#f8fafc;border-radius:8px;">
462
+ <span>{t['model_tfidf']} <strong>{pred_a}</strong> {conf_a}%</span>
463
+ <span>{t['model_bertic']} <strong>{pred_b}</strong> {conf_b}%</span>
464
+ </div>
465
+ """
466
+
467
+ # =========================
468
+ # MAIN DETECTION FUNCTION
469
+ # =========================
470
+ def detect_sms(text, is_human, agrees_privacy, lang):
471
+ t = TRANSLATIONS[lang]
472
+ if not is_human:
473
+ return f"<div style='background:#fef3c7;padding:8px 12px;border-radius:8px;border-left:3px solid #f59e0b;color:#92400e;font-size:13px;'>️ Please confirm you are not a robot</div>" if lang == "en" else "<div style='background:#fef3c7;padding:8px 12px;border-radius:8px;border-left:3px solid #f59e0b;color:#92400e;font-size:13px;'>️ Molimo potvrdite da niste robot</div>"
474
+ if agrees_privacy is False or agrees_privacy is None or agrees_privacy == 0:
475
+ return f"<div style='background:#fef3c7;padding:8px 12px;border-radius:8px;border-left:3px solid #f59e0b;color:#92400e;font-size:13px;'> You must accept the terms of use</div>" if lang == "en" else "<div style='background:#fef3c7;padding:8px 12px;border-radius:8px;border-left:3px solid #f59e0b;color:#92400e;font-size:13px;'> Morate se složiti sa uslovima korišćenja</div>"
476
+
477
+ text = text.strip()
478
+ if not text:
479
+ return f"<div style='background:#f8fafc;padding:8px 12px;border-radius:8px;border-left:3px solid #64748b;color:#475569;font-size:13px;'>⬅️ Enter an SMS message</div>" if lang == "en" else "<div style='background:#f8fafc;padding:8px 12px;border-radius:8px;border-left:3px solid #64748b;color:#475569;font-size:13px;'>⬅️ Unesite SMS poruku</div>"
480
+
481
+ length, len_status, len_color, len_desc = analyze_sms_length(text, lang)
482
+ red_flags = get_red_flags(text)
483
+ typosquat_domains = check_typosquatting(text)
484
+ threat_keys = get_threat_vectors(text, lang)
485
+ lang_key = infer_language(text)
486
+
487
+ if tfidf_model is not None:
488
+ pred_a = tfidf_model.predict([text])[0]
489
+ conf_a = round(max(tfidf_model.predict_proba([text])[0]) * 100, 2)
490
+ else:
491
+ pred_a = "legitimate"
492
+ conf_a = 50.0
493
+
494
+ if BERTIC_AVAILABLE:
495
+ bertic_result = bertic_model.predict(f"[{lang_key}] {text}")
496
+ pred_b = bertic_result["label"].lower()
497
+ conf_b = round(bertic_result["confidence"] * 100, 2)
498
+ else:
499
+ pred_b = conf_b = None
500
+
501
+ votes = [pred_a]
502
+ if pred_b is not None:
503
+ votes.append(pred_b)
504
+
505
+ if typosquat_domains:
506
+ prediction = "phishing"
507
+ confidence = 95.0
508
+ elif votes.count("phishing") >= 1 and len(votes) > 1 and votes.count("phishing") < len(votes):
509
+ prediction = "phishing"
510
+ confidence = round(sum(c for c in [conf_a, conf_b] if c is not None) / len(votes), 2)
511
+ else:
512
+ prediction = "phishing" if votes.count("phishing") >= 1 else "legitimate"
513
+ confidences = [c for c in [conf_a, conf_b] if c is not None]
514
+ confidence = round(sum(confidences) / len(confidences), 2)
515
+
516
+ models_agree = (pred_b is None) or (pred_a == pred_b)
517
+ THRESHOLD_HIGH, THRESHOLD_LOW = 80, 60
518
+
519
+ if typosquat_domains or (prediction == "phishing" and models_agree and confidence >= THRESHOLD_HIGH):
520
+ status_line = t["status_phishing_high"]
521
+ status_color = "#dc2626"
522
+ status_bg = "#fef2f2"
523
+ why_parts = [t["why_both_phishing"] if (BERTIC_AVAILABLE and models_agree) else t["why_model_detected"]]
524
+ if red_flags:
525
+ why_parts.append(t["why_red_flags"].format(red_flags=", ".join(red_flags)))
526
+ if typosquat_domains:
527
+ why_parts.append(t["why_typosquatting"].format(domains=", ".join(typosquat_domains)))
528
+ action = t["action_phishing_high"]
529
+ elif not models_agree:
530
+ status_line = t["status_models_disagree"]
531
+ status_color = "#d97706"
532
+ status_bg = "#fffbeb"
533
+ why_parts = [t["why_disagree_tfidf"].format(pred_a=pred_a, pred_b=pred_b)]
534
+ if red_flags:
535
+ why_parts.append(t["why_red_flags"].format(red_flags=", ".join(red_flags)))
536
+ action = t["action_disagree"]
537
+ elif THRESHOLD_LOW <= confidence < THRESHOLD_HIGH:
538
+ status_line = t["status_not_sure"]
539
+ status_color = "#d97706"
540
+ status_bg = "#fffbeb"
541
+ why_parts = [t["why_low_confidence"]]
542
+ if red_flags:
543
+ why_parts.append(t["why_red_flags"].format(red_flags=", ".join(red_flags)))
544
+ action = t["action_not_sure"]
545
+ elif prediction == "phishing":
546
+ status_line = t["status_possible_fraud"]
547
+ status_color = "#d97706"
548
+ status_bg = "#fffbeb"
549
+ why_parts = [t["why_suspicious_features"]]
550
+ if red_flags:
551
+ why_parts.append(t["why_red_flags"].format(red_flags=", ".join(red_flags)))
552
+ action = t["action_possible_fraud"]
553
+ else:
554
+ status_line = t["status_legit"]
555
+ status_color = "#059669"
556
+ status_bg = "#f0fdf4"
557
+ why_parts = [t["why_legit"]]
558
+ if red_flags:
559
+ why_parts.append(t["why_note_red_flags"].format(red_flags=", ".join(red_flags)))
560
+ action = t["action_legit"]
561
+
562
+ contacts = REPORT_CONTACTS.get(lang_key, REPORT_CONTACTS["sr"])
563
+ is_danger = (prediction == "phishing") or (not models_agree) or (THRESHOLD_LOW <= confidence < THRESHOLD_HIGH)
564
+
565
+ action_buttons = ""
566
+ if is_danger:
567
+ warning_msg = TRANSLATIONS[lang]["warning_text"]
568
+ escaped_text = text.replace('"', "'").replace("\n", " ")
569
+ action_buttons = f"""
570
+ <div style="margin-top:10px;padding-top:8px;border-top:1px solid #e2e8f0;">
571
+ <p style="margin:0 0 6px 0;font-weight:bold;color:#334155;font-size:12px;">{t['what_to_do']}</p>
572
+ <div style="display:flex;gap:6px;flex-wrap:wrap;">
573
+ <button onclick="navigator.clipboard.writeText(this.dataset.txt).then(() => this.textContent='{t['copy_success']}').catch(() => this.textContent='{t['copy_error']}')" data-txt="{escaped_text}"
574
+ style="background:#64748b;color:white;border:none;border-radius:6px;padding:5px 10px;font-size:11px;cursor:pointer;font-weight:bold;">{t['copy_btn']}</button>
575
+ <a href="{contacts['cert_url']}" target="_blank" style="background:#b91c1c;color:white;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:bold;text-decoration:none;display:inline-block;">{t['report_cert_btn'].format(name=contacts['cert_name'])}</a>
576
+ <a href="{contacts['police_url']}" target="_blank" style="background:#2563eb;color:white;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:bold;text-decoration:none;display:inline-block;">{t['report_police_btn'].format(name=contacts['police_name'])}</a>
577
+ <a href="sms:?body={warning_msg}" style="background:#059669;color:white;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:bold;text-decoration:none;display:inline-block;">{t['warn_contact_btn']}</a>
578
+ </div>
579
+ </div>
580
+ """
581
+
582
+ flag_chips = render_flag_chips(threat_keys, typosquat_domains, lang)
583
+ confidence_bar = render_confidence_bar(confidence, status_color, lang)
584
+ ensemble_row = render_ensemble_row(pred_a, conf_a, pred_b, conf_b, BERTIC_AVAILABLE, lang)
585
+ length_label = t["length_label"].format(length=length)
586
+
587
+ result_html = f"""
588
+ <div style="font-family:'Segoe UI',sans-serif;font-size:13px;background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,0.06);">
589
+ <div style="background:{status_bg};border:1.5px solid {status_color}33;border-radius:10px;padding:10px 14px;margin-bottom:12px;text-align:center;">
590
+ <p style="font-size:17px;font-weight:800;margin:0 0 2px 0;color:{status_color};">{status_line}</p>
591
+ </div>
592
+ {confidence_bar}
593
+ {ensemble_row}
594
+ {f'<div style="margin:8px 0;"><p style="font-size:11px;font-weight:600;color:#64748b;margin:0 0 4px 0;">{t["detected_vectors"]}</p>{flag_chips}</div>' if flag_chips else ''}
595
+ <div style="background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:7px 12px;margin-bottom:10px;">
596
+ <div style="display:flex;justify-content:space-between;align-items:center;">
597
+ <span style="color:#64748b;font-size:11px;">{length_label}</span>
598
+ <span style="background:{len_color};color:white;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;">{len_status}</span>
599
+ </div>
600
+ <p style="margin:2px 0 0 0;font-size:10px;color:#94a3b8;">{len_desc}</p>
601
+ </div>
602
+ <div style="border-left:3px solid {status_color};padding:8px 12px;border-radius:0 8px 8px 0;background:#fafafa;">
603
+ <p style="margin:0 0 4px 0;font-weight:700;color:#1e293b;font-size:12px;">{t['why_label']}</p>
604
+ <p style="margin:0 0 8px 0;color:#475569;font-size:12px;line-height:1.5;">{"<br>".join(why_parts)}</p>
605
+ <p style="margin:0 0 2px 0;font-weight:700;color:#1e293b;font-size:12px;">{t['advice_label']}</p>
606
+ <p style="margin:0;color:#475569;font-size:12px;line-height:1.5;">{action}</p>
607
+ {action_buttons}
608
+ </div>
609
+ </div>
610
+ """
611
+ return result_html
612
+
613
+ # =========================
614
+ # BATCH TEST
615
+ # =========================
616
+ def run_batch(file, lang):
617
+ t = TRANSLATIONS[lang]
618
+ if file is None:
619
+ return f"<p style='color:#94a3b8;'>Upload a CSV file.</p>" if lang == "en" else "<p style='color:#94a3b8;'>Učitajte CSV fajl.</p>"
620
+ try:
621
+ df_test = pd.read_csv(file.name)
622
+ except Exception as e:
623
+ return f"<p style='color:#dc2626;'>Error: {e}</p>"
624
+
625
+ if not {'text', 'label'}.issubset(set(df_test.columns)):
626
+ return f"<p style='color:#dc2626;'>CSV must have columns: <strong>text</strong> and <strong>label</strong></p>" if lang == "en" else "<p style='color:#dc2626;'>CSV mora imati kolone: <strong>text</strong> i <strong>label</strong></p>"
627
+
628
+ THRESHOLD_HIGH, THRESHOLD_LOW = 80, 60
629
+ results, correct, uncertain, total = [], 0, 0, len(df_test)
630
+
631
+ for _, row in df_test.iterrows():
632
+ text = str(row.get('text', '')).strip()
633
+ expected = str(row.get('label', '')).strip().lower()
634
+ technique = str(row.get('technique', '—'))
635
+ if not text:
636
+ continue
637
+
638
+ lang_key = infer_language(text)
639
+ if tfidf_model is not None:
640
+ pred_a = tfidf_model.predict([text])[0]
641
+ conf_a = round(max(tfidf_model.predict_proba([text])[0]) * 100, 2)
642
+ else:
643
+ pred_a, conf_a = "legitimate", 50.0
644
+ if BERTIC_AVAILABLE:
645
+ bertic_result = bertic_model.predict(f"[{lang_key}] {text}")
646
+ pred_b, conf_b = bertic_result["label"].lower(), round(bertic_result["confidence"] * 100, 2)
647
+ else:
648
+ pred_b, conf_b = None, None
649
+
650
+ typosquat = check_typosquatting(text)
651
+ votes = [pred_a] + ([pred_b] if pred_b is not None else [])
652
+ models_agree = (pred_b is None) or (pred_a == pred_b)
653
+ if typosquat:
654
+ prediction, confidence = "phishing", 95.0
655
+ else:
656
+ prediction = "phishing" if votes.count("phishing") >= 1 else "legitimate"
657
+ confidences = [c for c in [conf_a, conf_b] if c is not None]
658
+ confidence = round(sum(confidences) / len(confidences), 2)
659
+
660
+ threat_keys = get_threat_vectors(text, lang)
661
+ tv_local = get_localized_threat_vectors(lang)
662
+ flag_mini = " ".join(
663
+ f'<span style="background:{tv_local[k]["bg"]};color:{tv_local[k]["color"]};border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600;white-space:nowrap;margin-right:4px;">{tv_local[k]["label"]}</span>'
664
+ for k in threat_keys[:2]
665
+ )
666
+ if typosquat:
667
+ v = tv_local["TYPOSQUATTING"]
668
+ flag_mini += f'<span style="background:{v["bg"]};color:{v["color"]};border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600;">🌐 Typosquatting</span>'
669
+
670
+ if typosquat or (prediction == "phishing" and models_agree and confidence >= THRESHOLD_HIGH):
671
+ verdict, verdict_label, verdict_color = "phishing", t["batch_phishing_label"], "#dc2626"
672
+ elif not models_agree or (THRESHOLD_LOW <= confidence < THRESHOLD_HIGH):
673
+ verdict, verdict_label, verdict_color = "uncertain", t["batch_uncertain_label"], "#d97706"
674
+ uncertain += 1
675
+ elif prediction == "phishing":
676
+ verdict, verdict_label, verdict_color = "phishing", t["batch_possible_label"], "#d97706"
677
+ else:
678
+ verdict, verdict_label, verdict_color = "legitimate", t["batch_legit_label"], "#059669"
679
+
680
+ is_correct = (verdict != "uncertain") and ((verdict == "phishing" and expected == "phishing") or (verdict == "legitimate" and expected == "legitimate"))
681
+ if is_correct:
682
+ correct += 1
683
+ row_bg = "#f0fdf4" if is_correct else ("#fefce8" if verdict == "uncertain" else "#fef2f2")
684
+ icon = "✅" if is_correct else ("⚠️" if verdict == "uncertain" else "❌")
685
+ ensemble_mini = f"A:{pred_a[:1].upper()}/{conf_a}%" + (f" B:{pred_b[:1].upper()}/{conf_b}%" if pred_b else " B:—")
686
+
687
+ results.append(f"""
688
+ <tr style="background:{row_bg};border-bottom:1px solid #e2e8f0;">
689
+ <td style="padding:4px 8px;font-size:11px;color:#64748b;">{technique}</td>
690
+ <td style="padding:4px 8px;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;" title="{text}">{text[:45]}{"..." if len(text) > 45 else ""}</td>
691
+ <td style="padding:4px 8px;font-size:11px;text-align:center;"><strong>{expected}</strong></td>
692
+ <td style="padding:4px 8px;font-size:11px;text-align:center;color:{verdict_color};font-weight:bold;">{verdict_label}</td>
693
+ <td style="padding:4px 8px;font-size:10px;text-align:center;color:#0ea5e9;">{ensemble_mini}</td>
694
+ <td style="padding:4px 8px;font-size:12px;font-weight:500;">{flag_mini}</td>
695
+ <td style="padding:4px 8px;font-size:11px;text-align:center;">{icon}</td>
696
+ </tr>
697
+ """)
698
+
699
+ accuracy = round(correct / (total - uncertain) * 100, 1) if (total - uncertain) > 0 else 0
700
+ summary = f"""
701
+ <div style="background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;margin-bottom:12px;">
702
+ <p style="margin:0 0 6px 0;font-size:14px;font-weight:bold;color:#0e7490;">{t['batch_summary']}</p>
703
+ <div style="display:flex;gap:20px;flex-wrap:wrap;">
704
+ <span style="font-size:12px;">{t['batch_total']} <strong>{total}</strong></span>
705
+ <span style="font-size:12px;color:#059669;">{t['batch_correct']} <strong>{correct}</strong></span>
706
+ <span style="font-size:12px;color:#dc2626;">{t['batch_wrong']} <strong>{total - correct - uncertain}</strong></span>
707
+ <span style="font-size:12px;color:#d97706;">{t['batch_uncertain']} <strong>{uncertain}</strong></span>
708
+ <span style="font-size:12px;color:#0ea5e9;">{t['batch_accuracy']} <strong>{accuracy}%</strong></span>
709
+ </div>
710
+ </div>
711
+ <div style="overflow-x:auto;">
712
+ <table style="width:100%;border-collapse:collapse;">
713
+ <thead><tr style="background:#0e7490;color:white;">
714
+ <th style="padding:6px 8px;font-size:11px;text-align:left;">{t['batch_technique']}</th>
715
+ <th style="padding:6px 8px;font-size:11px;text-align:left;">{t['batch_message']}</th>
716
+ <th style="padding:6px 8px;font-size:11px;text-align:center;">{t['batch_expected']}</th>
717
+ <th style="padding:6px 8px;font-size:11px;text-align:center;">{t['batch_verdict']}</th>
718
+ <th style="padding:6px 8px;font-size:11px;text-align:center;">{t['batch_models']}</th>
719
+ <th style="padding:6px 8px;font-size:11px;text-align:left;">{t['batch_vectors']}</th>
720
+ <th style="padding:6px 8px;font-size:11px;text-align:center;">{t['batch_ok']}</th>
721
+ </tr></thead>
722
+ <tbody>{"".join(results)}</tbody>
723
+ </table>
724
+ </div>
725
+ """
726
+ return summary
727
+
728
+ # =========================
729
+ # UI UPDATE FUNCTION
730
+ # =========================
731
+ def update_ui(lang):
732
+ t = TRANSLATIONS[lang]
733
+ quick_tests_html = f'<div style="text-align:center; font-weight:bold; font-size:18px; margin-top:8px;">{t["quick_tests"]}</div>'
734
+ return (
735
+ gr.update(value=t["title"]),
736
+ gr.update(value=t["subtitle"]),
737
+ gr.update(value=f'<div class="sms-label">{t["sms_input_label"]}</div>'),
738
+ gr.update(placeholder=t["sms_placeholder"]),
739
+ gr.update(label=t["human_check"]),
740
+ gr.update(label=t["privacy_check"]),
741
+ gr.update(value=t["analyze_btn"]),
742
+ gr.update(value=f'<p style="margin:0 0 6px 0;font-size:13px;font-weight:600;color:#1e3a5f;">{t["output_label"]}</p>'),
743
+ gr.update(value=" "),
744
+ gr.update(value=quick_tests_html),
745
+ gr.update(value=t["phishing_title"]),
746
+ gr.update(value=t["legit_title"]),
747
+ gr.update(value=t["batch_title"]),
748
+ gr.update(value=t["batch_desc"]),
749
+ gr.update(label=t["upload_csv"]),
750
+ gr.update(value=t["run_batch"]),
751
+ gr.update(value=t["batch_output"]),
752
+ gr.update(value=t["footer"]),
753
+ gr.update(value=t["ex_phishing_1"][:40] + "..."),
754
+ gr.update(value=t["ex_phishing_2"][:40] + "..."),
755
+ gr.update(value=t["ex_legit_1"][:40] + "..."),
756
+ gr.update(value=t["ex_legit_2"][:40] + "..."),
757
+ )
758
+
759
+ def get_example(lang, example_key):
760
+ return TRANSLATIONS[lang][example_key]
761
+
762
+ # =========================
763
+ # CSS (fixed alignment and styling)
764
+ # =========================
765
+ css = """
766
+ footer { display: none !important; }
767
+ body, .gradio-container { background: #f0f4f8 !important; font-family: 'Segoe UI', Arial, sans-serif; }
768
+ h1, h2, h3, .gr-markdown h1 { color: #1e3a5f !important; text-align: center !important; margin: 0 0 6px 0 !important; }
769
+ .gr-markdown h1, .gr-markdown h1:first-child {
770
+ font-size: 34px !important;
771
+ font-weight: 900 !important;
772
+ text-align: center !important;
773
+ letter-spacing: -0.5px;
774
+ margin: 0 0 12px 0 !important;
775
+ }
776
+ .gr-markdown p { text-align: center !important; margin: 0 0 8px 0 !important; color: #475569 !important; }
777
+
778
+ /* Make the main row stretch to equal height */
779
+ .main-row {
780
+ display: flex !important;
781
+ align-items: stretch !important;
782
+ }
783
+
784
+ /* Left and right panels: make them flex containers */
785
+ #left-panel, #right-panel {
786
+ background: #f1f5f9 !important;
787
+ border-radius: 14px !important;
788
+ border: 1px solid #e2e8f0 !important;
789
+ padding: 16px !important;
790
+ display: flex !important;
791
+ flex-direction: column !important;
792
+ justify-content: flex-start !important;
793
+ height: 100% !important;
794
+ }
795
+
796
+ /* FIX: Align top elements perfectly */
797
+ #left-panel .form, #left-panel .wrap-input { margin-top: 0 !important; }
798
+ #right-panel .gr-html { margin-top: 0 !important; }
799
+
800
+ /* Ensure the output area expands and has min height */
801
+ #right-panel .gr-html {
802
+ flex: 1 !important;
803
+ min-height: 280px !important;
804
+ }
805
+
806
+ .gradio-container .form textarea, .gradio-container .form .prose, .gradio-container .form .output-wrap {
807
+ background: #ffffff !important; border: 1.5px solid #cbd5e1 !important; border-radius: 12px !important;
808
+ color: #1e293b !important; font-size: 13px !important; padding: 12px !important;
809
+ }
810
+ #left-panel .checkbox-container,
811
+ #left-panel .form .checkbox-container {
812
+ margin: 2px 0 !important;
813
+ padding: 2px 0 !important;
814
+ display: block !important;
815
+ background: #f1f5f9 !important;
816
+ }
817
+ #left-panel .checkbox-container label,
818
+ #left-panel .form .checkbox-container label {
819
+ background: transparent !important;
820
+ margin: 0 !important;
821
+ padding: 0 !important;
822
+ }
823
+ button.primary {
824
+ background: #1e3a5f !important; color: white !important; border: none !important; border-radius: 10px !important;
825
+ font-size: 16px !important; font-weight: 700 !important; padding: 12px 32px !important; min-width: 180px !important;
826
+ margin: 12px auto !important; display: block !important; cursor: pointer !important;
827
+ }
828
+ button.primary:hover { background: #2563eb !important; transform: translateY(-2px) !important; }
829
+ table td:nth-child(6), table th:nth-child(6) { font-size: 12px !important; font-weight: 500 !important; }
830
+ .top-bar { display: flex; justify-content: flex-end; margin-bottom: 8px; }
831
+ .sms-label { font-size: 14px; font-weight: 600; color: #1e3a5f; margin-bottom: 4px; display: block; }
832
+ .gradio-container .form .row .gr-form-row { gap: 0 !important; }
833
+ """
834
+
835
+ # =========================
836
+ # UI CONSTRUCTION
837
+ # =========================
838
+ with gr.Blocks(css=css, title="Ne Nasedaj 🛡️") as demo:
839
+ with gr.Row(elem_classes="top-bar"):
840
+ with gr.Column(scale=1):
841
+ pass
842
+ with gr.Column(scale=0, min_width=200):
843
+ lang_radio = gr.Radio(choices=[("🇬🇧 EN", "en"), ("🇷🇸 SR", "sr")], label="🌐 Language / Jezik", value="sr", interactive=True)
844
+
845
+ title_md = gr.Markdown(TRANSLATIONS["sr"]["title"])
846
+ subtitle_md = gr.Markdown(TRANSLATIONS["sr"]["subtitle"])
847
+
848
+ with gr.Row(equal_height=True, elem_classes="main-row"):
849
+ with gr.Column(scale=1, elem_id="left-panel"):
850
+ sms_label = gr.HTML(f'<div class="sms-label">{TRANSLATIONS["sr"]["sms_input_label"]}</div>')
851
+ sms_input = gr.Textbox(label=None, show_label=False, lines=6, placeholder=TRANSLATIONS["sr"]["sms_placeholder"])
852
+ human_check = gr.Checkbox(label=TRANSLATIONS["sr"]["human_check"], value=False)
853
+ privacy_check = gr.Checkbox(label=TRANSLATIONS["sr"]["privacy_check"], value=False)
854
+ terms_html = gr.HTML(f"""
855
+ <div style="margin:-4px 0 4px 0;">
856
+ <a href="#" onclick="document.getElementById('terms-modal').style.display='flex';return false;" style="font-size:11px;color:#0e7490;text-decoration:underline;cursor:pointer;">📄 {TRANSLATIONS['sr']['terms_link']}</a>
857
+ </div>
858
+ <div id="terms-modal" style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;align-items:center;justify-content:center;">
859
+ <div style="background:white;border-radius:12px;padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;position:relative;">
860
+ <button onclick="document.getElementById('terms-modal').style.display='none'" style="position:absolute;top:12px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;">✕</button>
861
+ <h3 style="margin:0 0 12px 0;color:#0e7490;">{TRANSLATIONS['sr']['terms_title']}</h3>
862
+ <p style="font-size:12px;">{TRANSLATIONS['sr']['terms_p1']}</p><p style="font-size:12px;">{TRANSLATIONS['sr']['terms_p2']}</p>
863
+ <p style="font-size:12px;">{TRANSLATIONS['sr']['terms_p3']}</p><p style="font-size:12px;">{TRANSLATIONS['sr']['terms_p4']}</p>
864
+ <p style="font-size:12px;">{TRANSLATIONS['sr']['terms_p5']}</p>
865
+ <button onclick="document.getElementById('terms-modal').style.display='none'" style="background:#0e7490;color:white;border:none;border-radius:8px;padding:8px 20px;width:100%;">{TRANSLATIONS['sr']['terms_accept']}</button>
866
+ </div>
867
+ </div>
868
+ """)
869
+ analyze_btn = gr.Button(TRANSLATIONS["sr"]["analyze_btn"], variant="primary")
870
+
871
+ with gr.Column(scale=1, elem_id="right-panel"):
872
+ output_label = gr.HTML(f'<p style="margin:0 0 6px 0;font-size:13px;font-weight:600;color:#1e3a5f;">{TRANSLATIONS["sr"]["output_label"]}</p>')
873
+ output = gr.HTML(value=" ")
874
+
875
+ # Quick tests
876
+ quick_tests_html = f'<div style="text-align:center; font-weight:bold; font-size:18px; margin-top:8px;">{TRANSLATIONS["sr"]["quick_tests"]}</div>'
877
+ quick_tests_md = gr.HTML(quick_tests_html)
878
+ hr_before = gr.HTML("<hr style='margin:16px 0;'>")
879
+
880
+ # Example titles above columns
881
+ with gr.Row():
882
+ with gr.Column():
883
+ phishing_title_md = gr.Markdown(f"**{TRANSLATIONS['sr']['phishing_title']}**")
884
+ ex_btn1 = gr.Button(TRANSLATIONS["sr"]["ex_phishing_1"][:40] + "...", size="sm")
885
+ ex_btn2 = gr.Button(TRANSLATIONS["sr"]["ex_phishing_2"][:40] + "...", size="sm")
886
+ with gr.Column():
887
+ legit_title_md = gr.Markdown(f"**{TRANSLATIONS['sr']['legit_title']}**")
888
+ ex_btn3 = gr.Button(TRANSLATIONS["sr"]["ex_legit_1"][:40] + "...", size="sm")
889
+ ex_btn4 = gr.Button(TRANSLATIONS["sr"]["ex_legit_2"][:40] + "...", size="sm")
890
+
891
+ # Batch test section
892
+ batch_title_md = gr.Markdown(f"---\n### {TRANSLATIONS['sr']['batch_title']}")
893
+ batch_desc_md = gr.Markdown(TRANSLATIONS["sr"]["batch_desc"])
894
+ with gr.Row():
895
+ csv_upload = gr.File(label=TRANSLATIONS["sr"]["upload_csv"], file_types=[".csv"])
896
+ run_batch_btn = gr.Button(TRANSLATIONS["sr"]["run_batch"], variant="primary")
897
+ batch_output = gr.HTML(label=TRANSLATIONS["sr"]["batch_output"])
898
+ footer_md = gr.Markdown(f"---\n{TRANSLATIONS['sr']['footer']}")
899
+
900
+ # Language change handlers
901
+ lang_radio.change(
902
+ fn=update_ui,
903
+ inputs=lang_radio,
904
+ outputs=[
905
+ title_md, subtitle_md, sms_label, sms_input, human_check, privacy_check, analyze_btn, output_label, output,
906
+ quick_tests_md, phishing_title_md, legit_title_md, batch_title_md, batch_desc_md,
907
+ csv_upload, run_batch_btn, batch_output, footer_md,
908
+ ex_btn1, ex_btn2, ex_btn3, ex_btn4
909
+ ]
910
+ )
911
+
912
+ def update_terms(lang):
913
+ t = TRANSLATIONS[lang]
914
+ return f"""
915
+ <div style="margin:-4px 0 4px 0;"><a href="#" onclick="document.getElementById('terms-modal').style.display='flex';return false;" style="font-size:11px;color:#0e7490;text-decoration:underline;cursor:pointer;">📄 {t['terms_link']}</a></div>
916
+ <div id="terms-modal" style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;align-items:center;justify-content:center;">
917
+ <div style="background:white;border-radius:12px;padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;position:relative;">
918
+ <button onclick="document.getElementById('terms-modal').style.display='none'" style="position:absolute;top:12px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;">✕</button>
919
+ <h3 style="margin:0 0 12px 0;color:#0e7490;">{t['terms_title']}</h3>
920
+ <p style="font-size:12px;">{t['terms_p1']}</p><p style="font-size:12px;">{t['terms_p2']}</p>
921
+ <p style="font-size:12px;">{t['terms_p3']}</p><p style="font-size:12px;">{t['terms_p4']}</p>
922
+ <p style="font-size:12px;">{t['terms_p5']}</p>
923
+ <button onclick="document.getElementById('terms-modal').style.display='none'" style="background:#0e7490;color:white;border:none;border-radius:8px;padding:8px 20px;width:100%;">{t['terms_accept']}</button>
924
+ </div>
925
+ </div>
926
+ """
927
+
928
+ lang_radio.change(fn=update_terms, inputs=lang_radio, outputs=terms_html)
929
+
930
+ # Example buttons insert full text
931
+ ex_btn1.click(fn=lambda lang: get_example(lang, "ex_phishing_1"), inputs=lang_radio, outputs=sms_input)
932
+ ex_btn2.click(fn=lambda lang: get_example(lang, "ex_phishing_2"), inputs=lang_radio, outputs=sms_input)
933
+ ex_btn3.click(fn=lambda lang: get_example(lang, "ex_legit_1"), inputs=lang_radio, outputs=sms_input)
934
+ ex_btn4.click(fn=lambda lang: get_example(lang, "ex_legit_2"), inputs=lang_radio, outputs=sms_input)
935
+
936
+ analyze_btn.click(fn=detect_sms, inputs=[sms_input, human_check, privacy_check, lang_radio], outputs=output)
937
+ run_batch_btn.click(fn=run_batch, inputs=[csv_upload, lang_radio], outputs=batch_output)
938
+
939
+ if __name__ == "__main__":
940
+ demo.launch()
phishing_domains.csv ADDED
@@ -0,0 +1,647 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ domain,target_domain,country,brand,technique
2
+ raiffeisen-banka.com,raiffeisenbanka.rs,sr,Raiffeisen Banka,brand_suffix
3
+ raiffaisen.rs,raiffeisenbanka.rs,sr,Raiffeisen Banka,typosquatting
4
+ otp-banka-online.rs,otpbanka.rs,sr,OTP Banka,keyword_injection
5
+ otp-srbija.net,otpbanka.rs,sr,OTP Banka,brand_suffix
6
+ nlb-komercijalna.com,nlbbanka.rs,sr,NLB Komercijalna,brand_suffix
7
+ nlb-sigurnost.rs,nlbbanka.rs,sr,NLB Komercijalna,keyword_injection
8
+ erste-banka-cg.com,erstebankacg.me,cg,Erste Banka CG,brand_suffix
9
+ erste-banka-hr.net,erstebanka.hr,hr,Erste Banka,brand_suffix
10
+ intesa-banka-srbija.com,intesabanka.rs,sr,Banca Intesa,brand_suffix
11
+ aik-banka-rs.net,aikbanka.rs,sr,AIK Banka,brand_suffix
12
+ procredit-banka.rs,procreditbanka.rs,sr,ProCredit Banka,brand_suffix
13
+ unicredit-banka-bih.com,unicredit.ba,bih,UniCredit Banka,brand_suffix
14
+ zaba-banka.com,zaba.hr,hr,Zagrebačka banka,brand_suffix
15
+ pbz-online.hr,pbz.hr,hr,PBZ,keyword_injection
16
+ rba-banka.com,rba.hr,hr,RBA,brand_suffix
17
+ hrvatska-banka.com,hpb.hr,hr,HPB,brand_suffix
18
+ hipotekarna-cg.com,hipotekarna.me,cg,Hipotekarna Banka,brand_suffix
19
+ sparkasse-bh.net,sparkasse.ba,bih,Sparkasse Banka,brand_suffix
20
+ cgbank-sigurnost.com,cgbank.me,cg,CG Banka,keyword_injection
21
+ pkb-banka-rs.com,pkb.rs,sr,PKB Banka,brand_suffix
22
+ raiffeisen-sigurno.com,raiffeisenbanka.rs,sr,Raiffeisen Banka,keyword_injection
23
+ otp-aktivacija.rs,otpbanka.rs,sr,OTP Banka,keyword_injection
24
+ nlb-verifikacija.net,nlbbanka.rs,sr,NLB Komercijalna,keyword_injection
25
+ intesa-e-banking.rs,intesabanka.rs,sr,Banca Intesa,keyword_injection
26
+ zaba-token.hr,zaba.hr,hr,Zagrebačka banka,keyword_injection
27
+ mts-racun.info,mts.rs,sr,MTS,keyword_injection
28
+ mts-online-srbija.com,mts.rs,sr,MTS,brand_suffix
29
+ telekom-srbija.net,telekom.rs,sr,Telekom Srbija,brand_suffix
30
+ telekom-ugovori.com,telekom.rs,sr,Telekom Srbija,keyword_injection
31
+ a1-srbija.rs,a1.rs,sr,A1 Srbija,brand_suffix
32
+ a1-online.rs,a1.rs,sr,A1 Srbija,keyword_injection
33
+ yettel-srbija.com,yettel.rs,sr,Yettel,brand_suffix
34
+ yettel-ugovori.net,yettel.rs,sr,Yettel,keyword_injection
35
+ telenor-cg.com,telenor.me,cg,Telenor CG,brand_suffix
36
+ telenor-srbija.net,telenor.rs,sr,Telenor Srbija,brand_suffix
37
+ m-tel.me,mtel.me,cg,m:tel,brand_suffix
38
+ mtel-cg.com,mtel.me,cg,m:tel,brand_suffix
39
+ one-mobilnost.com,one.me,cg,One,keyword_injection
40
+ bh-telecom-ba.com,bhtelecom.ba,bih,BH Telecom,brand_suffix
41
+ telemach-bh.net,telemach.ba,bih,Telemach,brand_suffix
42
+ ht-mojracun.com,ht.hr,hr,Hrvatski Telekom,keyword_injection
43
+ tele2-hr.com,tele2.hr,hr,Tele2,brand_suffix
44
+ vip-hr.net,vip.hr,hr,VIP,brand_suffix
45
+ posta-srbija.net,posta.rs,sr,Pošta Srbije,brand_suffix
46
+ postasrbija.com,posta.rs,sr,Pošta Srbije,brand_suffix
47
+ posta-cg.me,posta.me,cg,Pošta Crne Gore,brand_suffix
48
+ bhposta-carina.net,bhposta.ba,bih,BH Pošta,keyword_injection
49
+ hrvatska-posta.com,posta.hr,hr,Hrvatska pošta,brand_suffix
50
+ dexpress-dostava.net,dexpress.rs,sr,DExpress,keyword_injection
51
+ dexpress-online.rs,dexpress.rs,sr,DExpress,keyword_injection
52
+ postexpress-carina.rs,postexpress.rs,sr,PostExpress,keyword_injection
53
+ glovo-dostava.com,glovo.rs,sr,Glovo,keyword_injection
54
+ wolt-srbija.net,wolt.rs,sr,Wolt,brand_suffix
55
+ dhl-serbia.com,dhl.rs,sr,DHL,brand_suffix
56
+ dpd-balkan.com,dpd.rs,sr,DPD,brand_suffix
57
+ gls-express-rs.net,gls.rs,sr,GLS,brand_suffix
58
+ kurir-dostava.com,kurir.rs,sr,Kurir,brand_suffix
59
+ paket-pratite.rs,posta.rs,sr,Pošta Srbije,keyword_injection
60
+ posta-rs-tracking.com,posta.rs,sr,Pošta Srbije,keyword_injection
61
+ postexpress-rs.net,postexpress.rs,sr,PostExpress,brand_suffix
62
+ dhl-tracking-rs.com,dhl.rs,sr,DHL,keyword_injection
63
+ wolt-promo.rs,wolt.rs,sr,Wolt,keyword_injection
64
+ glovo-bonus.com,glovo.rs,sr,Glovo,keyword_injection
65
+ mup-srbija.net,mup.gov.rs,sr,MUP Srbije,brand_suffix
66
+ mup-rs.com,mup.gov.rs,sr,MUP Srbije,brand_suffix
67
+ uprava-policije.rs,policija.gov.rs,sr,Uprava policije,brand_suffix
68
+ carina-srbija.com,carina.gov.rs,sr,Uprava carina,brand_suffix
69
+ carina-cg.net,carina.gov.me,cg,Uprava carina,brand_suffix
70
+ poreska-uprava-rs.com,purs.gov.rs,sr,Poreska uprava,brand_suffix
71
+ putarini-plati.rs,putevi-srbije.rs,sr,Putevi Srbije,keyword_injection
72
+ putari-srbija.com,putevi-srbije.rs,sr,Putevi Srbije,brand_suffix
73
+ parking-beograd.com,parking-beograd.rs,sr,Parking Beograd,brand_suffix
74
+ parking-novi-sad.net,parking-novisad.rs,sr,Parking Novi Sad,brand_suffix
75
+ parking-podgorica.com,parking-podgorica.me,cg,Parking Podgorica,brand_suffix
76
+ parking-sarajevo.net,parking.ba,bih,Parking Sarajevo,brand_suffix
77
+ parking-zagreb.com,parking-zagreb.hr,hr,Parking Zagreb,brand_suffix
78
+ parking-split.net,parking-split.hr,hr,Parking Split,brand_suffix
79
+ parkomat-plati.hr,parkomat.hr,hr,Parkomat,keyword_injection
80
+ nagrada-dobit.com,,sr,Nagrada,scam
81
+ voucher-dobit.net,,sr,Voucher,scam
82
+ t-com-nagrada.com,t-hrvatski.hr,hr,T-HT,brand_suffix
83
+ konzum-nagrada.net,konzum.hr,hr,Konzum,brand_suffix
84
+ lidl-kupon.com,lidl.hr,hr,Lidl,brand_suffix
85
+ t2-nagrada.net,tele2.hr,hr,Tele2,brand_suffix
86
+ muller-nagrada.com,muller.ba,bih,Müller,brand_suffix
87
+ petrol-nagrada.net,petrol.hr,hr,Petrol,brand_suffix
88
+ mercator-bonus.com,mercator.rs,sr,Mercator,brand_suffix
89
+ idea-ugovori.rs,idea.rs,sr,Idea,keyword_injection
90
+ maxipromocija.com,maxi.rs,sr,Maxi,brand_suffix
91
+ dm-drogerie-bonus.hr,dm.hr,hr,DM,keyword_injection
92
+ besplatno-putovanje.com,,sr,Putovanje,scam
93
+ iphone-dobitak.net,,sr,iPhone,scam
94
+ giftcard-free.net,,sr,Gift Card,scam
95
+ airserbia-refund.com,airserbia.com,sr,Air Serbia,brand_suffix
96
+ sberbank-unlock.net,sberbank.rs,sr,Sberbank,keyword_injection
97
+ kreditna-unija-rs.com,kreditnaunija.rs,sr,Kreditna unija,brand_suffix
98
+ unicredit-token.rs,unicredit.rs,sr,Unicredit,keyword_injection
99
+ procredit-rata.net,procredit.rs,sr,ProCredit,keyword_injection
100
+ mts-prepaid.rs,mts.rs,sr,MTS,keyword_injection
101
+ telekom-fiksni.net,telekom.rs,sr,Telekom Srbija,keyword_injection
102
+ a1-roaming.com,a1.rs,sr,A1 Srbija,keyword_injection
103
+ yettel-prepaid.rs,yettel.rs,sr,Yettel,keyword_injection
104
+ m-tel-postpaid.me,mtel.me,cg,m:tel,keyword_injection
105
+ bh-telecom-internet.ba,bhtelecom.ba,bih,BH Telecom,keyword_injection
106
+ ht-paketi.hr,ht.hr,hr,Hrvatski Telekom,keyword_injection
107
+ posta-rs.net,posta.rs,sr,Pošta Srbije,tld_swap
108
+ posta-cg.com,posta.me,cg,Pošta Crne Gore,brand_suffix
109
+ bhposta.com,bhposta.ba,bih,BH Pošta,brand_suffix
110
+ posta-hr.net,posta.hr,hr,Hrvatska pošta,tld_swap
111
+ dexpress.rs,dexpress.rs,sr,DExpress,exact_match
112
+ postexpress.rs,postexpress.rs,sr,PostExpress,exact_match
113
+ glovo.rs,glovo.rs,sr,Glovo,exact_match
114
+ wolt.rs,wolt.rs,sr,Wolt,exact_match
115
+ mup.gov.rs,mup.gov.rs,sr,MUP Srbije,exact_match
116
+ carina.gov.rs,carina.gov.rs,sr,Uprava carina,exact_match
117
+ purs.gov.rs,purs.gov.rs,sr,Poreska uprava,exact_match
118
+ putevi-srbije.rs,putevi-srbije.rs,sr,Putevi Srbije,exact_match
119
+ parking-beograd.rs,parking-beograd.rs,sr,Parking Beograd,exact_match
120
+ parking-novisad.rs,parking-novisad.rs,sr,Parking Novi Sad,exact_match
121
+ parking-podgorica.me,parking-podgorica.me,cg,Parking Podgorica,exact_match
122
+ parking.ba,parking.ba,bih,Parking Sarajevo,exact_match
123
+ parking-zagreb.hr,parking-zagreb.hr,hr,Parking Zagreb,exact_match
124
+ parking-split.hr,parking-split.hr,hr,Parking Split,exact_match
125
+ parkomat.hr,parkomat.hr,hr,Parkomat,exact_match
126
+ t-hrvatski.hr,t-hrvatski.hr,hr,T-HT,exact_match
127
+ konzum.hr,konzum.hr,hr,Konzum,exact_match
128
+ lidl.hr,lidl.hr,hr,Lidl,exact_match
129
+ tele2.hr,tele2.hr,hr,Tele2,exact_match
130
+ muller.ba,muller.ba,bih,Müller,exact_match
131
+ petrol.hr,petrol.hr,hr,Petrol,exact_match
132
+ mercator.rs,mercator.rs,sr,Mercator,exact_match
133
+ idea.rs,idea.rs,sr,Idea,exact_match
134
+ maxi.rs,maxi.rs,sr,Maxi,exact_match
135
+ dm.hr,dm.hr,hr,DM,exact_match
136
+ airserbia.com,airserbia.com,sr,Air Serbia,exact_match
137
+ sberbank.rs,sberbank.rs,sr,Sberbank,exact_match
138
+ kreditnaunija.rs,kreditnaunija.rs,sr,Kreditna unija,exact_match
139
+ unicredit.rs,unicredit.rs,sr,Unicredit,exact_match
140
+ procredit.rs,procredit.rs,sr,ProCredit,exact_match
141
+ mts.rs,mts.rs,sr,MTS,exact_match
142
+ telekom.rs,telekom.rs,sr,Telekom Srbija,exact_match
143
+ a1.rs,a1.rs,sr,A1 Srbija,exact_match
144
+ yettel.rs,yettel.rs,sr,Yettel,exact_match
145
+ mtel.me,mtel.me,cg,m:tel,exact_match
146
+ bhtelecom.ba,bhtelecom.ba,bih,BH Telecom,exact_match
147
+ telemach.ba,telemach.ba,bih,Telemach,exact_match
148
+ ht.hr,ht.hr,hr,Hrvatski Telekom,exact_match
149
+ vip.hr,vip.hr,hr,VIP,exact_match
150
+ posta.rs,posta.rs,sr,Pošta Srbije,exact_match
151
+ posta.me,posta.me,cg,Pošta Crne Gore,exact_match
152
+ bhposta.ba,bhposta.ba,bih,BH Pošta,exact_match
153
+ posta.hr,posta.hr,hr,Hrvatska pošta,exact_match
154
+ dhl.rs,dhl.rs,sr,DHL,exact_match
155
+ dpd.rs,dpd.rs,sr,DPD,exact_match
156
+ gls.rs,gls.rs,sr,GLS,exact_match
157
+ kurir.rs,kurir.rs,sr,Kurir,exact_match
158
+ mup.gov.me,mup.gov.me,cg,Uprava policije,exact_match
159
+ carina.gov.me,carina.gov.me,cg,Uprava carina,exact_match
160
+ poreskauprava.gov.me,poreskauprava.gov.me,cg,Poreska uprava,exact_match
161
+ parking-tivat.me,parking-tivat.me,cg,Parking Tivat,exact_match
162
+ parking-budva.me,parking-budva.me,cg,Parking Budva,exact_match
163
+ parking-bar.me,parking-bar.me,cg,Parking Bar,exact_match
164
+ parking-kotor.me,parking-kotor.me,cg,Parking Kotor,exact_match
165
+ parking-hercegnovi.me,parking-hercegnovi.me,cg,Parking Herceg Novi,exact_match
166
+ parking-bijelopolje.me,parking-bijelopolje.me,cg,Parking Bijelo Polje,exact_match
167
+ parking-berane.me,parking-berane.me,cg,Parking Berane,exact_match
168
+ parking-niksic.me,parking-niksic.me,cg,Parking Nikšić,exact_match
169
+ parking-cetinje.me,parking-cetinje.me,cg,Parking Cetinje,exact_match
170
+ parking-danilovgrad.me,parking-danilovgrad.me,cg,Parking Danilovgrad,exact_match
171
+ parking-gusinje.me,parking-gusinje.me,cg,Parking Gusinje,exact_match
172
+ parking-plav.me,parking-plav.me,cg,Parking Plav,exact_match
173
+ parking-rozaje.me,parking-rozaje.me,cg,Parking Rožaje,exact_match
174
+ parking-mojkovac.me,parking-mojkovac.me,cg,Parking Mojkovac,exact_match
175
+ parking-pljevlja.me,parking-pljevlja.me,cg,Parking Pljevlja,exact_match
176
+ parking-zabljak.me,parking-zabljak.me,cg,Parking Žabljak,exact_match
177
+ parking-andrijevica.me,parking-andrijevica.me,cg,Parking Andrijevica,exact_match
178
+ parking-zeta.me,parking-zeta.me,cg,Parking Zeta,exact_match
179
+ parking-ulcinj.me,parking-ulcinj.me,cg,Parking Ulcinj,exact_match
180
+ parking-bar.ba,parking-bar.ba,bih,Parking Bar,exact_match
181
+ parking-bijeljina.ba,parking-bijeljina.ba,bih,Parking Bijeljina,exact_match
182
+ parking-brcko.ba,parking-brcko.ba,bih,Parking Brčko,exact_match
183
+ parking-doboj.ba,parking-doboj.ba,bih,Parking Doboj,exact_match
184
+ parking-goražde.ba,parking-gorazde.ba,bih,Parking Goražde,exact_match
185
+ parking-gradačac.ba,parking-gradacac.ba,bih,Parking Gradačac,exact_match
186
+ parking-jajce.ba,parking-jajce.ba,bih,Parking Jajce,exact_match
187
+ parking-kakanj.ba,parking-kakanj.ba,bih,Parking Kakanj,exact_match
188
+ parking-kalesija.ba,parking-kalesija.ba,bih,Parking Kalesija,exact_match
189
+ parking-kiseljak.ba,parking-kiseljak.ba,bih,Parking Kiseljak,exact_match
190
+ parking-konjic.ba,parking-konjic.ba,bih,Parking Konjic,exact_match
191
+ parking-livno.ba,parking-livno.ba,bih,Parking Livno,exact_match
192
+ parking-lukavac.ba,parking-lukavac.ba,bih,Parking Lukavac,exact_match
193
+ parking-maglaj.ba,parking-maglaj.ba,bih,Parking Maglaj,exact_match
194
+ parking-mostar.ba,parking-mostar.ba,bih,Parking Mostar,exact_match
195
+ parking-mrkonci.ba,parking-mrkonci.ba,bih,Parking Mrkonjić Grad,exact_match
196
+ parking-novo-sarajevo.ba,parking-novo-sarajevo.ba,bih,Parking Novo Sarajevo,exact_match
197
+ parking-pale.ba,parking-pale.ba,bih,Parking Pale,exact_match
198
+ parking-prijedor.ba,parking-prijedor.ba,bih,Parking Prijedor,exact_match
199
+ parking-sanski-most.ba,parking-sanski-most.ba,bih,Parking Sanski Most,exact_match
200
+ parking-srebrenica.ba,parking-srebrenica.ba,bih,Parking Srebrenica,exact_match
201
+ parking-tešanj.ba,parking-tesanj.ba,bih,Parking Tešanj,exact_match
202
+ parking-travnik.ba,parking-travnik.ba,bih,Parking Travnik,exact_match
203
+ parking-tuzla.ba,parking-tuzla.ba,bih,Parking Tuzla,exact_match
204
+ parking-visoko.ba,parking-visoko.ba,bih,Parking Visoko,exact_match
205
+ parking-vitez.ba,parking-vitez.ba,bih,Parking Vitez,exact_match
206
+ parking-zenica.ba,parking-zenica.ba,bih,Parking Zenica,exact_match
207
+ parking-zivinice.ba,parking-zivinice.ba,bih,Parking Živinice,exact_match
208
+ parking-zvornik.ba,parking-zvornik.ba,bih,Parking Zvornik,exact_match
209
+ parking-banja-luka.ba,parking-banja-luka.ba,bih,Parking Banja Luka,exact_match
210
+ parking-east-sarajevo.ba,parking-east-sarajevo.ba,bih,Parking Istočno Sarajevo,exact_match
211
+ parking-foca.ba,parking-foca.ba,bih,Parking Foča,exact_match
212
+ parking-gacko.ba,parking-gacko.ba,bih,Parking Gacko,exact_match
213
+ parking-ileza.ba,parking-ileza.ba,bih,Parking Ilijaš,exact_match
214
+ parking-jablanica.ba,parking-jablanica.ba,bih,Parking Jablanica,exact_match
215
+ parking-kalinovik.ba,parking-kalinovik.ba,bih,Parking Kalinovik,exact_match
216
+ parking-kotor-varos.ba,parking-kotor-varos.ba,bih,Parking Kotor Varoš,exact_match
217
+ parking-laktasi.ba,parking-laktasi.ba,bih,Parking Laktasi,exact_match
218
+ parking-ljubinje.ba,parking-ljubinje.ba,bih,Parking Ljubinje,exact_match
219
+ parking-modrica.ba,parking-modrica.ba,bih,Parking Modriča,exact_match
220
+ parking-nevesinje.ba,parking-nevesinje.ba,bih,Parking Nevesinje,exact_match
221
+ parking-odzak.ba,parking-odzak.ba,bih,Parking Odžak,exact_match
222
+ parking-opacani.ba,parking-opacani.ba,bih,Parking Orašje,exact_match
223
+ parking-osmac.ba,parking-osmac.ba,bih,Parking Osmaci,exact_match
224
+ parking-petrovac.ba,parking-petrovac.ba,bih,Parking Petrovac,exact_match
225
+ parking-posusje.ba,parking-posusje.ba,bih,Parking Posušje,exact_match
226
+ parking-prnjavor.ba,parking-prnjavor.ba,bih,Parking Prnjavor,exact_match
227
+ parking-rudo.ba,parking-rudo.ba,bih,Parking Rudo,exact_match
228
+ parking-sapna.ba,parking-sapna.ba,bih,Parking Sapna,exact_match
229
+ parking-sokolac.ba,parking-sokolac.ba,bih,Parking Sokolac,exact_match
230
+ parking-stolac.ba,parking-stolac.ba,bih,Parking Stolac,exact_match
231
+ parking-tomislavgrad.ba,parking-tomislavgrad.ba,bih,Parking Tomislavgrad,exact_match
232
+ parking-trebinje.ba,parking-trebinje.ba,bih,Parking Trebinje,exact_match
233
+ parking-usora.ba,parking-usora.ba,bih,Parking Usora,exact_match
234
+ parking-vares.ba,parking-vares.ba,bih,Parking Vareš,exact_match
235
+ parking-vlasenica.ba,parking-vlasenica.ba,bih,Parking Vlasenica,exact_match
236
+ parking-vogosca.ba,parking-vogosca.ba,bih,Parking Vogosća,exact_match
237
+ parking-zavidovici.ba,parking-zavidovici.ba,bih,Parking Zavidovići,exact_match
238
+ parking-zepce.ba,parking-zepce.ba,bih,Parking Žepče,exact_match
239
+ parking-zupanja.hr,parking-zupanja.hr,hr,Parking Županja,exact_match
240
+ parking-zut.hr,parking-zut.hr,hr,Parking Žut,exact_match
241
+ parking-zvecevo.hr,parking-zvecevo.hr,hr,Parking Zvečevо,exact_match
242
+ parking-zumberak.hr,parking-zumberak.hr,hr,Parking Žumberak,exact_match
243
+ putevi-notice.cc,putevi-srbije.rs,RS,Putevi Srbije,added-word
244
+ putevi-kazna.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
245
+ putevi-srbije.login,putevi-srbije.rs,RS,Putevi Srbije,added-word
246
+ putevi-srbije.online,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
247
+ putevi-srbije.org,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
248
+ putevi-srbije.rs.com,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
249
+ putevi-srbijeee.rs,putevi-srbije.rs,RS,Putevi Srbije,repetition
250
+ putevi-srbije-rs.rs,putevi-srbije.rs,RS,Putevi Srbije,omitted-dot
251
+ putevi-srbije-info.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
252
+ putevi-srbije-payment.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
253
+ mup-gov.rs,mup.gov.rs,RS,MUP Srbije,omitted-dot
254
+ mup.gov.net,mup.gov.rs,RS,MUP Srbije,wrong-tld
255
+ mup.gov.org,mup.gov.rs,RS,MUP Srbije,wrong-tld
256
+ mup.gov.online,mup.gov.rs,RS,MUP Srbije,wrong-tld
257
+ mup-gov.online,mup.gov.rs,RS,MUP Srbije,wrong-tld
258
+ mup.rs.com,mup.gov.rs,RS,MUP Srbije,wrong-tld
259
+ mupp.gov.rs,mup.gov.rs,RS,MUP Srbije,repetition
260
+ muup.gov.rs,mup.gov.rs,RS,MUP Srbije,repetition
261
+ mup-login.gov.rs,mup.gov.rs,RS,MUP Srbije,added-word
262
+ mup-verify.gov.rs,mup.gov.rs,RS,MUP Srbije,added-word
263
+ euprava.gov.online,euprava.gov.rs,RS,eUprava Srbija,wrong-tld
264
+ euprava-gov.rs,euprava.gov.rs,RS,eUprava Srbija,omitted-dot
265
+ euprava-login.rs,euprava.gov.rs,RS,eUprava Srbija,added-word
266
+ e-uprava.rs,euprava.gov.rs,RS,eUprava Srbija,omitted-dot
267
+ euprva.rs,euprava.gov.rs,RS,eUprava Srbija,substitution
268
+ euprava-secure.rs,euprava.gov.rs,RS,eUprava Srbija,added-word
269
+ poreskauprava.gov.online,poreskauprava.gov.rs,RS,Poreska uprava Srbija,wrong-tld
270
+ poreskauprava-gov.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,omitted-dot
271
+ poreskauprava-login.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,added-word
272
+ porezna.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,substitution
273
+ rzs.gov.online,rzs.gov.rs,RS,RZS Srbija,wrong-tld
274
+ rzs-gov.rs,rzs.gov.rs,RS,RZS Srbija,omitted-dot
275
+ rzs-login.rs,rzs.gov.rs,RS,RZS Srbija,added-word
276
+ rzss.rs,rzs.gov.rs,RS,RZS Srbija,repetition
277
+ pio.rs,pio.rs,RS,PIO Fond,wrong-tld
278
+ piofond.rs,pio.rs,RS,PIO Fond,substitution
279
+ pio-login.rs,pio.rs,RS,PIO Fond,added-word
280
+ posta.rs.com,posta.rs,RS,Pošta Srbije,wrong-tld
281
+ posta.online,posta.rs,RS,Pošta Srbije,wrong-tld
282
+ posta-login.rs,posta.rs,RS,Pošta Srbije,added-word
283
+ posta-srbije.rs,posta.rs,RS,Pošta Srbije,omitted-dot
284
+ postexpress.rs.com,posta.rs,RS,Post Express,wrong-tld
285
+ dexpress.rs.com,dexpress.rs,RS,DExpress,wrong-tld
286
+ dexpress-login.rs,dexpress.rs,RS,DExpress,added-word
287
+ dexpress-tracking.rs,dexpress.rs,RS,DExpress,added-word
288
+ cityexpress.rs.com,cityexpress.rs,RS,City Express,wrong-tld
289
+ cityexpress-login.rs,cityexpress.rs,RS,City Express,added-word
290
+ overseas.rs.com,overseas.rs,RS,Overseas Express,wrong-tld
291
+ eps.rs.com,eps.rs,RS,EPS,wrong-tld
292
+ eps.online,eps.rs,RS,EPS,wrong-tld
293
+ eps-login.rs,eps.rs,RS,EPS,added-word
294
+ eps-bills.rs,eps.rs,RS,EPS,added-word
295
+ srbijagas.rs.com,srbijagas.rs,RS,Srbijagas,wrong-tld
296
+ srbijagas-login.rs,srbijagas.rs,RS,Srbijagas,added-word
297
+ infrazs.rs.com,infrazs.rs,RS,Infrastruktura železnice,wrong-tld
298
+ bancaintesa.rs.com,bancaintesa.rs,RS,Banca Intesa,wrong-tld
299
+ bancaintesa.online,bancaintesa.rs,RS,Banca Intesa,wrong-tld
300
+ bancaintesa-login.rs,bancaintesa.rs,RS,Banca Intesa,added-word
301
+ bancaintesa-verify.rs,bancaintesa.rs,RS,Banca Intesa,added-word
302
+ bancaintesa-secure.rs,bancaintesa.rs,RS,Banca Intesa,added-word
303
+ bancaintesaa.rs,bancaintesa.rs,RS,Banca Intesa,repetition
304
+ bancaintesas.rs,bancaintesa.rs,RS,Banca Intesa,repetition
305
+ banca-intesa.rs,bancaintesa.rs,RS,Banca Intesa,omitted-dot
306
+ raiffeisenbank.rs.com,raiffeisenbank.rs,RS,Raiffeisen Bank,wrong-tld
307
+ raiffeisen.online,raiffeisenbank.rs,RS,Raiffeisen Bank,wrong-tld
308
+ raiffeisen-login.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,added-word
309
+ raiffeisen-verify.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,added-word
310
+ raiffesen.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,substitution
311
+ raiffeisen-bank.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,omitted-dot
312
+ otpbank.rs.com,otpbank.rs,RS,OTP Banka,wrong-tld
313
+ otp.online,otpbank.rs,RS,OTP Banka,wrong-tld
314
+ otp-login.rs,otpbank.rs,RS,OTP Banka,added-word
315
+ otp-verify.rs,otpbank.rs,RS,OTP Banka,added-word
316
+ otpbanka.rs,otpbank.rs,RS,OTP Banka,substitution
317
+ otp-bank.rs,otpbank.rs,RS,OTP Banka,omitted-dot
318
+ unicreditbank.rs.com,unicreditbank.rs,RS,UniCredit Bank,wrong-tld
319
+ unicredit.online,unicreditbank.rs,RS,UniCredit Bank,wrong-tld
320
+ unicredit-login.rs,unicreditbank.rs,RS,UniCredit Bank,added-word
321
+ unicredit-verify.rs,unicreditbank.rs,RS,UniCredit Bank,added-word
322
+ unicredit-bank.rs,unicreditbank.rs,RS,UniCredit Bank,omitted-dot
323
+ aikbanka.rs.com,aikbanka.rs,RS,AIK Banka,wrong-tld
324
+ aikbanka.online,aikbanka.rs,RS,AIK Banka,wrong-tld
325
+ aik-login.rs,aikbanka.rs,RS,AIK Banka,added-word
326
+ aikbanka-login.rs,aikbanka.rs,RS,AIK Banka,added-word
327
+ aik-banka.rs,aikbanka.rs,RS,AIK Banka,omitted-dot
328
+ nlb.rs.com,nlb.rs,RS,NLB Komercijalna banka,wrong-tld
329
+ nlb-login.rs,nlb.rs,RS,NLB Komercijalna banka,added-word
330
+ erstebank.rs.com,erstebank.rs,RS,Erste Bank,wrong-tld
331
+ erste.online,erstebank.rs,RS,Erste Bank,wrong-tld
332
+ erste-login.rs,erstebank.rs,RS,Erste Bank,added-word
333
+ erste-bank.rs,erstebank.rs,RS,Erste Bank,omitted-dot
334
+ mts.rs.com,mts.rs,RS,mts,wrong-tld
335
+ mts.online,mts.rs,RS,mts,wrong-tld
336
+ mts-login.rs,mts.rs,RS,mts,added-word
337
+ mts-bill.rs,mts.rs,RS,mts,added-word
338
+ mts.rs.net,mts.rs,RS,mts,wrong-tld
339
+ yettel.rs.com,yettel.rs,RS,Yettel,wrong-tld
340
+ yettel.online,yettel.rs,RS,Yettel,wrong-tld
341
+ yettel-login.rs,yettel.rs,RS,Yettel,added-word
342
+ yettel-verify.rs,yettel.rs,RS,Yettel,added-word
343
+ a1.rs.com,a1.rs,RS,A1 Srbija,wrong-tld
344
+ a1.online,a1.rs,RS,A1 Srbija,wrong-tld
345
+ a1-login.rs,a1.rs,RS,A1 Srbija,added-word
346
+ sbb.rs.com,sbb.rs,RS,SBB,wrong-tld
347
+ sbb.online,sbb.rs,RS,SBB,wrong-tld
348
+ sbb-login.rs,sbb.rs,RS,SBB,added-word
349
+ sbb-account.rs,sbb.rs,RS,SBB,added-word
350
+ oriontelekom.rs.com,oriontelekom.rs,RS,Orion Telekom,wrong-tld
351
+ orion-login.rs,oriontelekom.rs,RS,Orion Telekom,added-word
352
+ supernova.rs.com,supernova.rs,RS,Supernova,wrong-tld
353
+ kopenikus.rs,kopernikus.rs,RS,Kopernikus,substitution
354
+ beotel.rs.com,beotel.rs,RS,BeotelNet,wrong-tld
355
+ glovoapp.com.online,glovoapp.com,RS,Glovo,wrong-tld
356
+ glovo-login.rs,glovoapp.com,RS,Glovo,added-word
357
+ wolt.com.online,wolt.com,RS,Wolt,wrong-tld
358
+ donesi.rs.com,donesi.rs,RS,Donesi,wrong-tld
359
+ maxi.rs.com,maxi.rs,RS,Maxi,wrong-tld
360
+ maxi.online,maxi.rs,RS,Maxi,wrong-tld
361
+ maxi-login.rs,maxi.rs,RS,Maxi,added-word
362
+ idea.rs.com,idea.rs,RS,Idea,wrong-tld
363
+ univerexport.rs.com,univerexport.rs,RS,Univerexport,wrong-tld
364
+ tempo.rs.com,tempo.rs,RS,Tempo,wrong-tld
365
+ gigatron.rs.com,gigatron.rs,RS,Gigatron,wrong-tld
366
+ gigatron-login.rs,gigatron.rs,RS,Gigatron,added-word
367
+ tehnomanija.rs.com,tehnomanija.rs,RS,Tehnomanija,wrong-tld
368
+ winwin.rs.com,winwin.rs,RS,WinWin,wrong-tld
369
+ lidl.rs.com,lidl.rs,RS,Lidl,wrong-tld
370
+ lidl-online.rs,lidl.rs,RS,Lidl,added-word
371
+ nis.rs.com,nis.rs,RS,NIS Petrol,wrong-tld
372
+ nis-login.rs,nis.rs,RS,NIS Petrol,added-word
373
+ lukoil.rs.com,lukoil.rs,RS,Lukoil,wrong-tld
374
+ omv.rs.com,omv.rs,RS,OMV,wrong-tld
375
+ gazprom.rs.com,gazprom.rs,RS,Gazprom,wrong-tld
376
+ blic.rs.com,blic.rs,RS,Blic,wrong-tld
377
+ blic.online,blic.rs,RS,Blic,wrong-tld
378
+ blic-info.rs,blic.rs,RS,Blic,added-word
379
+ blic-vesti.rs,blic.rs,RS,Blic,added-word
380
+ blicc.rs,blic.rs,RS,Blic,repetition
381
+ kurir.rs.com,kurir.rs,RS,Kurir,wrong-tld
382
+ kurir.online,kurir.rs,RS,Kurir,wrong-tld
383
+ kurir-info.rs,kurir.rs,RS,Kurir,added-word
384
+ kurirr.rs,kurir.rs,RS,Kurir,repetition
385
+ telegraf.rs.com,telegraf.rs,RS,Telegraf,wrong-tld
386
+ telegraf.online,telegraf.rs,RS,Telegraf,wrong-tld
387
+ telegraf-info.rs,telegraf.rs,RS,Telegraf,added-word
388
+ telegraff.rs,telegraf.rs,RS,Telegraf,repetition
389
+ novosti.rs.com,novosti.rs,RS,Novosti,wrong-tld
390
+ novosti.online,novosti.rs,RS,Novosti,wrong-tld
391
+ novost.rs,novosti.rs,RS,Novosti,substitution
392
+ politika.rs.com,politika.rs,RS,Politika,wrong-tld
393
+ politika.online,politika.rs,RS,Politika,wrong-tld
394
+ politka.rs,politika.rs,RS,Politika,substitution
395
+ b92.rs.com,b92.rs,RS,B92,wrong-tld
396
+ b92.online,b92.rs,RS,B92,wrong-tld
397
+ b922.rs,b92.rs,RS,B92,repetition
398
+ rts.rs.com,rts.rs,RS,RTS,wrong-tld
399
+ rts.online,rts.rs,RS,RTS,wrong-tld
400
+ rtts.rs,rts.rs,RS,RTS,repetition
401
+ n1.rs.com,n1.rs,RS,N1,wrong-tld
402
+ n1-info.rs,n1.rs,RS,N1,added-word
403
+ kupujemprodajem.rs.com,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
404
+ kupujemprodajem.online,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
405
+ kp.rs.com,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
406
+ kupujemprodajem-login.rs,kupujemprodajem.rs,RS,KupujemProdajem,added-word
407
+ eporezi.gov.online,eporezi.gov.rs,RS,ePorezi,wrong-tld
408
+ eporezi-login.rs,eporezi.gov.rs,RS,ePorezi,added-word
409
+ beg.aero.online,beg.aero,RS,Beogradski aerodrom,wrong-tld
410
+ cert.rs.com,cert.rs,RS,CERT Srbije,wrong-tld
411
+ mup-gov.hr,mup.gov.hr,HR,MUP Hrvatske,omitted-dot
412
+ mup-login.hr,mup.gov.hr,HR,MUP Hrvatske,added-word
413
+ mup.hr.com,mup.gov.hr,HR,MUP Hrvatske,wrong-tld
414
+ gov-hr.online,gov.hr,HR,e-Građani Hrvatska,wrong-tld
415
+ gov-hr.login,gov.hr,HR,e-Građani Hrvatska,added-word
416
+ e-gradani.online,gov.hr,HR,e-Građani Hrvatska,wrong-tld
417
+ e-gradani-login.hr,gov.hr,HR,e-Građani Hrvatska,added-word
418
+ egradani.hr.com,gov.hr,HR,e-Građani Hrvatska,wrong-tld
419
+ porezna-uprava.online,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,wrong-tld
420
+ porezna-uprava-login.hr,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,added-word
421
+ porezna.hr.com,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,wrong-tld
422
+ carnet.hr.com,carnet.hr,HR,CARNET,wrong-tld
423
+ posta.hr.com,posta.hr,HR,Hrvatska pošta,wrong-tld
424
+ posta-login.hr,posta.hr,HR,Hrvatska pošta,added-word
425
+ posta-verify.hr,posta.hr,HR,Hrvatska pošta,added-word
426
+ hrvatska-posta.online,posta.hr,HR,Hrvatska pošta,wrong-tld
427
+ hrvatska-posta-login.hr,posta.hr,HR,Hrvatska pošta,added-word
428
+ hzpp.hr.com,hzpp.hr,HR,HŽ,wrong-tld
429
+ hc.hr.com,hc.hr,HR,Hrvatske ceste,wrong-tld
430
+ hep.hr.com,hep.hr,HR,HEP,wrong-tld
431
+ hep-login.hr,hep.hr,HR,HEP,added-word
432
+ zaba.hr.com,zaba.hr,HR,Zagrebačka banka,wrong-tld
433
+ zaba.online,zaba.hr,HR,Zagrebačka banka,wrong-tld
434
+ zaba-login.hr,zaba.hr,HR,Zagrebačka banka,added-word
435
+ zabaa.hr,zaba.hr,HR,Zagrebačka banka,repetition
436
+ zagrebacka-banka.online,zaba.hr,HR,Zagrebačka banka,wrong-tld
437
+ zagrebacka-banka-login.hr,zaba.hr,HR,Zagrebačka banka,added-word
438
+ pbz.hr.com,pbz.hr,HR,PBZ,wrong-tld
439
+ pbz.online,pbz.hr,HR,PBZ,wrong-tld
440
+ pbz-login.hr,pbz.hr,HR,PBZ,added-word
441
+ pbzz.hr,pbz.hr,HR,PBZ,repetition
442
+ rba.hr.com,rba.hr,HR,RBA,wrong-tld
443
+ rba.online,rba.hr,HR,RBA,wrong-tld
444
+ rba-login.hr,rba.hr,HR,RBA,added-word
445
+ erstebank.hr.com,erstebank.hr,HR,Erste Bank,wrong-tld
446
+ erste.online,erstebank.hr,HR,Erste Bank,wrong-tld
447
+ erste-login.hr,erstebank.hr,HR,Erste Bank,added-word
448
+ erster.hr,erstebank.hr,HR,Erste Bank,repetition
449
+ addiko.hr.com,addiko.hr,HR,Addiko Bank,wrong-tld
450
+ addiko.online,addiko.hr,HR,Addiko Bank,wrong-tld
451
+ addiko-login.hr,addiko.hr,HR,Addiko Bank,added-word
452
+ otpbank.hr.com,otpbank.hr,HR,OTP Banka Hrvatska,wrong-tld
453
+ ht.hr.com,ht.hr,HR,Hrvatski Telekom,wrong-tld
454
+ ht.online,ht.hr,HR,Hrvatski Telekom,wrong-tld
455
+ ht-login.hr,ht.hr,HR,Hrvatski Telekom,added-word
456
+ a1.hr.com,a1.hr,HR,A1 Hrvatska,wrong-tld
457
+ a1.online,a1.hr,HR,A1 Hrvatska,wrong-tld
458
+ a1-login.hr,a1.hr,HR,A1 Hrvatska,added-word
459
+ telemach.hr.com,telemach.hr,HR,Telemach Hrvatska,wrong-tld
460
+ telemach-login.hr,telemach.hr,HR,Telemach Hrvatska,added-word
461
+ optima-telekom.hr.com,optima-telekom.hr,HR,Optima Telekom,wrong-tld
462
+ iskon.hr.com,iskon.hr,HR,Iskon,wrong-tld
463
+ bnet.hr.com,b.net.hr,HR,B.net,wrong-tld
464
+ amis.hr.com,amis.hr,HR,Amis,wrong-tld
465
+ overseas.hr.com,overseas.hr,HR,Overseas Express Hrvatska,wrong-tld
466
+ pauza.hr.com,pauza.hr,HR,Pauza,wrong-tld
467
+ konzum.hr.com,konzum.hr,HR,Konzum,wrong-tld
468
+ konzum.online,konzum.hr,HR,Konzum,wrong-tld
469
+ konzum-login.hr,konzum.hr,HR,Konzum,added-word
470
+ lidl.hr.com,lidl.hr,HR,Lidl Hrvatska,wrong-tld
471
+ kaufland.hr.com,kaufland.hr,HR,Kaufland Hrvatska,wrong-tld
472
+ plodine.hr.com,plodine.hr,HR,Plodine,wrong-tld
473
+ tommy.hr.com,tommy.hr,HR,Tommy,wrong-tld
474
+ elipso.hr.com,elipso.hr,HR,Elipso,wrong-tld
475
+ ina.hr.com,ina.hr,HR,INA,wrong-tld
476
+ ina-login.hr,ina.hr,HR,INA,added-word
477
+ tifon.hr.com,tifon.hr,HR,Tifon,wrong-tld
478
+ crodux.hr.com,crodux.hr,HR,Crodux,wrong-tld
479
+ index.hr.com,index.hr,HR,Index,wrong-tld
480
+ index.online,index.hr,HR,Index,wrong-tld
481
+ index-info.hr,index.hr,HR,Index,added-word
482
+ indeks.hr,index.hr,HR,Index,substitution
483
+ jutarnji.hr.com,jutarnji.hr,HR,Jutarnji list,wrong-tld
484
+ jutarnji.online,jutarnji.hr,HR,Jutarnji list,wrong-tld
485
+ jutarnji-info.hr,jutarnji.hr,HR,Jutarnji list,added-word
486
+ jutarnjii.hr,jutarnji.hr,HR,Jutarnji list,repetition
487
+ 24sata.hr.com,24sata.hr,HR,24sata,wrong-tld
488
+ 24sata.online,24sata.hr,HR,24sata,wrong-tld
489
+ 24sat.hr,24sata.hr,HR,24sata,substitution
490
+ vecernji.hr.com,vecernji.hr,HR,Večernji list,wrong-tld
491
+ vecernji.online,vecernji.hr,HR,Večernji list,wrong-tld
492
+ vecernjii.hr,vecernji.hr,HR,Večernji list,repetition
493
+ dnevnik.hr.com,dnevnik.hr,HR,Dnevnik,wrong-tld
494
+ dnevnik.online,dnevnik.hr,HR,Dnevnik,wrong-tld
495
+ dnevnk.hr,dnevnik.hr,HR,Dnevnik,substitution
496
+ poslovni.hr.com,poslovni.hr,HR,Poslovni dnevnik,wrong-tld
497
+ n1.hr.com,n1.hr,HR,N1 Hrvatska,wrong-tld
498
+ njuskalo.hr.com,njuskalo.hr,HR,Njuskalo,wrong-tld
499
+ njuskalo-login.hr,njuskalo.hr,HR,Njuskalo,added-word
500
+ ekupi.hr.com,ekupi.hr,HR,eKupi,wrong-tld
501
+ lutrija.hr.com,lutrija.hr,HR,Hrvatska lutrija,wrong-tld
502
+ iddeea.online,iddeea.gov.ba,BA,IDDEEA BiH,wrong-tld
503
+ iddeea-security.ba,iddeea.gov.ba,BA,IDDEEA BiH,added-word
504
+ iddeea-login.ba,iddeea.gov.ba,BA,IDDEEA BiH,added-word
505
+ iddeea.ba.com,iddeea.gov.ba,BA,IDDEEA BiH,wrong-tld
506
+ mup-gov.ba,mup.gov.ba,BA,MUP BiH,omitted-dot
507
+ mup-login.ba,mup.gov.ba,BA,MUP BiH,added-word
508
+ mup.ba.com,mup.gov.ba,BA,MUP BiH,wrong-tld
509
+ mupp.gov.ba,mup.gov.ba,BA,MUP BiH,repetition
510
+ epolicija.ba,mup.gov.ba,BA,e-Policija BiH,added-word
511
+ cbbh.ba.com,cbbh.ba,BA,Centralna banka BiH,wrong-tld
512
+ posta.ba.com,posta.ba,BA,BH Pošta,wrong-tld
513
+ posta-login.ba,posta.ba,RA,BH Pošta,added-word
514
+ postesrpske.com.online,postesrpske.com,BA,Pošte Srpske,wrong-tld
515
+ postesrpske-login.com,postesrpske.com,BA,Pošte Srpske,added-word
516
+ unicreditbank.ba.com,unicreditbank.ba,BA,UniCredit Bank BiH,wrong-tld
517
+ unicredit-login.ba,unicreditbank.ba,BA,UniCredit Bank BiH,added-word
518
+ unicredit-bank.ba,unicreditbank.ba,BA,UniCredit Bank BiH,omitted-dot
519
+ raiffeisenbank.ba.com,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,wrong-tld
520
+ raiffeisen-login.ba,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,added-word
521
+ raiffesen.ba,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,substitution
522
+ addiko.ba.com,addiko.ba,BA,Addiko Bank BiH,wrong-tld
523
+ addiko.online,addiko.ba,BA,Addiko Bank BiH,wrong-tld
524
+ addiko-login.ba,addiko.ba,BA,Addiko Bank BiH,added-word
525
+ sparkasse.ba.com,sparkasse.ba,BA,Sparkasse BiH,wrong-tld
526
+ sparkasse-login.ba,sparkasse.ba,BA,Sparkasse BiH,added-word
527
+ nlb.ba.com,nlb.ba,BA,NLB Banka BiH,wrong-tld
528
+ nlb-login.ba,nlb.ba,BA,NLB Banka BiH,added-word
529
+ asabanka.ba.com,asabanka.ba,BA,ASA Banka,wrong-tld
530
+ asabanka-login.ba,asabanka.ba,BA,ASA Banka,added-word
531
+ bhtelecom.ba.com,bhtelecom.ba,BA,BH Telecom,wrong-tld
532
+ bhtelecom.online,bhtelecom.ba,BA,BH Telecom,wrong-tld
533
+ bhtelecom-login.ba,bhtelecom.ba,BA,BH Telecom,added-word
534
+ eronet.ba.com,eronet.ba,BA,HT Eronet,wrong-tld
535
+ eronet-login.ba,eronet.ba,BA,HT Eronet,added-word
536
+ mtel.ba.com,mtel.ba,BA,m:tel BiH,wrong-tld
537
+ mtel.online,mtel.ba,BA,m:tel BiH,wrong-tld
538
+ mtel-login.ba,mtel.ba,BA,m:tel BiH,added-word
539
+ haloo.ba.com,haloo.ba,BA,haloo,wrong-tld
540
+ telemach.ba.com,telemach.ba,BA,Telemach BiH,wrong-tld
541
+ telemach-login.ba,telemach.ba,BA,Telemach BiH,added-word
542
+ logosoft.ba.com,logosoft.ba,BA,Logosoft,wrong-tld
543
+ blicnet.ba.com,blic.net,BA,blic.net,wrong-tld
544
+ euroexpress.ba.com,euroexpress.ba,BA,Euroexpress,wrong-tld
545
+ overseas.ba.com,overseas.ba,BA,Overseas Express BiH,wrong-tld
546
+ bingo.ba.com,bingo.ba,BA,Bingo,wrong-tld
547
+ bingo.online,bingo.ba,BA,Bingo,wrong-tld
548
+ konzum.ba.com,konzum.ba,BA,Konzum BiH,wrong-tld
549
+ interex.ba.com,interex.ba,BA,Interex,wrong-tld
550
+ robot.ba.com,robot.ba,BA,Robot,wrong-tld
551
+ mercator.ba.com,mercator.ba,BA,Mercator BiH,wrong-tld
552
+ hifa.ba.com,hifa.ba,BA,Hifa,wrong-tld
553
+ nis.ba.com,nis.ba,BA,NIS Petrol BiH,wrong-tld
554
+ petrol.ba.com,petrol.ba,BA,Petrol BiH,wrong-tld
555
+ omv.ba.com,omv.ba,BA,OMV BiH,wrong-tld
556
+ avaz.ba.com,avaz.ba,BA,Avaz,wrong-tld
557
+ avaz.online,avaz.ba,BA,Avaz,wrong-tld
558
+ avaz-info.ba,avaz.ba,BA,Avaz,added-word
559
+ avazz.ba,avaz.ba,BA,Avaz,repetition
560
+ klix.ba.com,klix.ba,BA,Klix,wrong-tld
561
+ klix.online,klix.ba,BA,Klix,wrong-tld
562
+ klix-info.ba,klix.ba,BA,Klix,added-word
563
+ klixx.ba,klix.ba,BA,Klix,repetition
564
+ faktor.ba.com,faktor.ba,BA,Faktor,wrong-tld
565
+ faktor.online,faktor.ba,BA,Faktor,wrong-tld
566
+ depo.ba.com,depo.ba,BA,Depo,wrong-tld
567
+ depo.online,depo.ba,BA,Depo,wrong-tld
568
+ nezavisne.com.online,nezavisne.com,BA,Nezavisne novine,wrong-tld
569
+ srpskainfo.com.online,srpskainfo.com,BA,Srpskainfo,wrong-tld
570
+ olx.ba.com,olx.ba,BA,OLX BiH,wrong-tld
571
+ olx.online,olx.ba,BA,OLX BiH,wrong-tld
572
+ olx-login.ba,olx.ba,BA,OLX BiH,added-word
573
+ pik.ba.com,pik.ba,BA,Pik,wrong-tld
574
+ euprava-gov.ba,euprava.gov.ba,BA,eUprava BiH,omitted-dot
575
+ euprava-login.ba,euprava.gov.ba,BA,eUprava BiH,added-word
576
+ pibh.gov.online,pibh.gov.ba,BA,Porezna uprava FBIH,wrong-tld
577
+ pibh-login.ba,pibh.gov.ba,BA,Porezna uprava FBIH,added-word
578
+ postacg.online,postacg.me,ME,Pošta Crne Gore,wrong-tld
579
+ postacg-login.me,postacg.me,ME,Pošta Crne Gore,added-word
580
+ postacg-tracking.me,postacg.me,ME,Pošta Crne Gore,added-word
581
+ posta-cg.me,postacg.me,ME,Pošta Crne Gore,omitted-dot
582
+ postacg.me.com,postacg.me,ME,Pošta Crne Gore,wrong-tld
583
+ cgposta.me,postacg.me,ME,Pošta Crne Gore,substitution
584
+ mup-gov.me,gov.me,ME,MUP Crne Gore,omitted-dot
585
+ poreska-uprava.online,poreska-uprava.me,ME,Poreska uprava Crna Gora,wrong-tld
586
+ poreska-uprava-login.me,poreska-uprava.me,ME,Poreska uprava Crna Gora,added-word
587
+ euprava-gov.me,euprava.gov.me,ME,eUprava Crna Gora,omitted-dot
588
+ euprava-login.me,euprava.gov.me,ME,eUprava Crna Gora,added-word
589
+ cbcg.me.com,cbcg.me,ME,Centralna banka Crne Gore,wrong-tld
590
+ zpcg.me.com,zpcg.me,ME,ŽPCG,wrong-tld
591
+ monteput.me.com,monteput.me,ME,Monteput,wrong-tld
592
+ prvabanka.me.com,prvabanka.me,ME,Prva banka Crne Gore,wrong-tld
593
+ prvabanka.online,prvabanka.me,ME,Prva banka Crne Gore,wrong-tld
594
+ prvabanka-login.me,prvabanka.me,ME,Prva banka Crne Gore,added-word
595
+ prva-banka.me,prvabanka.me,ME,Prva banka Crne Gore,omitted-dot
596
+ ckb.me.com,ckb.me,ME,CKB,wrong-tld
597
+ ckb.online,ckb.me,ME,CKB,wrong-tld
598
+ ckb-login.me,ckb.me,ME,CKB,added-word
599
+ ckb-banka.me,ckb.me,ME,CKB,omitted-dot
600
+ erstebank.me.com,erstebank.me,ME,Erste Bank Crna Gora,wrong-tld
601
+ erste.online,erstebank.me,ME,Erste Bank Crna Gora,wrong-tld
602
+ erste-login.me,erstebank.me,ME,Erste Bank Crna Gora,added-word
603
+ hipotekarnabanka.me.com,hipotekarnabanka.me,ME,Hipotekarna banka,wrong-tld
604
+ hipotekarna-login.me,hipotekarnabanka.me,ME,Hipotekarna banka,added-word
605
+ nlb.me.com,nlb.me,ME,NLB Banka Crna Gora,wrong-tld
606
+ addiko.me.com,addiko.me,ME,Addiko Bank Crna Gora,wrong-tld
607
+ t-mobile.me.com,t-mobile.me,ME,Crnogorski Telekom,wrong-tld
608
+ t-mobile-login.me,t-mobile.me,ME,Crnogorski Telekom,added-word
609
+ mtel.me.com,mtel.me,ME,Mtel Crna Gora,wrong-tld
610
+ mtel.online,mtel.me,ME,Mtel Crna Gora,wrong-tld
611
+ mtel-login.me,mtel.me,ME,Mtel Crna Gora,added-word
612
+ one.me.com,one.me,ME,One Crna Gora,wrong-tld
613
+ one-login.me,one.me,ME,One Crna Gora,added-word
614
+ ipmont.me.com,ipmont.me,ME,IPMont,wrong-tld
615
+ dexpress.me.com,dexpress.me,ME,DExpress Crna Gora,wrong-tld
616
+ postexpress.me.com,postexpress.me,ME,Post Express Crna Gora,wrong-tld
617
+ expressone.me.com,expressone.me,ME,Express One,wrong-tld
618
+ voli.me.com,voli.me,ME,Voli,wrong-tld
619
+ voli.online,voli.me,ME,Voli,wrong-tld
620
+ voli-login.me,voli.me,ME,Voli,added-word
621
+ aroma.me.com,aroma.me,ME,Aroma,wrong-tld
622
+ idea.me.com,idea.me,ME,Idea Crna Gora,wrong-tld
623
+ maxi.me.com,maxi.me,ME,Maxi Crna Gora,wrong-tld
624
+ hram.me.com,hram.me,ME,Hram,wrong-tld
625
+ kik.me.com,kik.me,ME,Kik,wrong-tld
626
+ technomax.me.com,technomax.me,ME,Technomax,wrong-tld
627
+ nis.me.com,nis.me,ME,NIS Petrol Crna Gora,wrong-tld
628
+ petrol.me.com,petrol.me,ME,Petrol Crna Gora,wrong-tld
629
+ omv.me.com,omv.me,ME,OMV Crna Gora,wrong-tld
630
+ lukoil.me.com,lukoil.me,ME,Lukoil Crna Gora,wrong-tld
631
+ gomex.me.com,gomex.me,ME,Gomex,wrong-tld
632
+ rtcg.me.com,rtcg.me,ME,RTCG,wrong-tld
633
+ rtcg.online,rtcg.me,ME,RTCG,wrong-tld
634
+ rtcg-info.me,rtcg.me,ME,RTCG,added-word
635
+ rtcgg.me,rtcg.me,ME,RTCG,repetition
636
+ vijesti.me.com,vijesti.me,ME,Vijesti,wrong-tld
637
+ vijesti.online,vijesti.me,ME,Vijesti,wrong-tld
638
+ vijesti-info.me,vijesti.me,ME,Vijesti,added-word
639
+ vjesti.me,vijesti.me,ME,Vijesti,substitution
640
+ pobjeda.me.com,pobjeda.me,ME,Pobjeda,wrong-tld
641
+ pobjeda.online,pobjeda.me,ME,Pobjeda,wrong-tld
642
+ pobeda.me,pobjeda.me,ME,Pobjeda,substitution
643
+ dan.co.me.online,dan.co.me,ME,Dan,wrong-tld
644
+ antenam.net.online,antenam.net,ME,Antena M,wrong-tld
645
+ cdm.me.com,cdm.me,ME,CdM,wrong-tld
646
+ monstat.org.online,monstat.org,ME,MONSTAT,wrong-tld
647
+ cedem.me.com,cedem.me,ME,CEDEM,wrong-tld
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ gradio
2
+ pandas
3
+ scikit-learn
4
+ torch
5
+ transformers
sms_dataset_lc.csv ADDED
@@ -0,0 +1,408 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "text","label","language","alphabet"
2
+ "MTS: Osvojili ste poene! Iskoristite ih i prijavite se na: https://mtspoints.com","phishing","sr","latin"
3
+ "МТС: Освојили сте поене! Искористите их и пријавите се на: https://mtspoints.com","phishing","sr","cyrillic"
4
+ "Pošta Srbije: Paket ne može biti isporučen. Ažurirajte adresu i platite 200 RSD: https://posta-srbija.com","phishing","sr","latin"
5
+ "Пошта Србије: Пакет не може бити испоручен. Ажурирајте адресу и платите 200 RSD: https://posta-srbija.com","phishing","sr","cyrillic"
6
+ "Pošta Srbije: Vaš paket čeka na carini. Platite carinu od 450 RSD: https://rs-posta.net","phishing","sr","latin"
7
+ "Пошта Србије: Ваш пакет чека на царини. Платите царину од 450 RSD: https://rs-posta.net","phishing","sr","cyrillic"
8
+ "Telekom Srbija: Vaš mts račun je neplaćen. Izbegnite blokadu: https://mts-racun.info","phishing","sr","latin"
9
+ "Телеком Србија: Ваш мтс рачун је неплаћен. Избегните блокаду: https://mts-racun.info","phishing","sr","cyrillic"
10
+ "MUP Srbije: Na Vaše ime je izdata saobraćajna kazna. Platite s popustom: https://mup-kazne.help","phishing","sr","latin"
11
+ "МУП Србије: На Ваше име је издата саобраћајна казна. Платите с попустом: https://mup-kazne.help","phishing","sr","cyrillic"
12
+ "Putevi Srbije: Neplaćena putarina za deonicu Beograd-Niš. Plaćanje: https://putevi-srbije.help","phishing","sr","latin"
13
+ "Путеви Србије: Неплаћена путарина за деоницу Београд-Ниш. Плаћање: https://putevi-srbije.help","phishing","sr","cyrillic"
14
+ "DExpress: Paket nije dostavljen zbog netačne adrese. Potvrdite podatke: https://dexpress-dostava.net","phishing","sr","latin"
15
+ "ДЕxпресс: Пакет није достављен због нетачне адресе. Потврдите податке: https://dexpress-dostava.net","phishing","sr","cyrillic"
16
+ "Air Serbia: Povraćaj sredstava za otkazani let. Unesite podatke: https://airserbiarefund.com","phishing","sr","latin"
17
+ "Аир Србија: Повраћај средстава за отказани лет. Унесите податке: https://airserbiarefund.com","phishing","sr","cyrillic"
18
+ "Banca Intesa: Detektovana sumnjiva transakcija. Potvrdite identitet: https://intesaverify.net","phishing","sr","latin"
19
+ "Банка Интеза: Детектована сумњива трансакција. Потврдите идентитет: https://intesaverify.net","phishing","sr","cyrillic"
20
+ "Raiffeisen banka: Vaša kartica je privremeno blokirana. Otključajte: https://raiffeisen-sigurno.com","phishing","sr","latin"
21
+ "Рајфајзен банка: Ваша картица је привремено блокирана. Откључајте: https://raiffeisen-sigurno.com","phishing","sr","cyrillic"
22
+ "OTP banka: Hitno ažuriranje podataka potrebno. Rok: 12h: https://otp-update.rs","phishing","sr","latin"
23
+ "ОТП банка: Хитно ажурирање података потребно. Рок: 12h: https://otp-update.rs","phishing","sr","cyrillic"
24
+ "A1 Srbija: Vaš broj će biti ugašen zbog neaktivnosti. Potvrdite: https://a1-aktivacija.net","phishing","sr","latin"
25
+ "А1 Србија: Ваш број ће бити угашен због неактивности. Потврдите: https://a1-aktivacija.net","phishing","sr","cyrillic"
26
+ "Yettel: Prekoračen limit potrošnje. Doplatite 1.500 RSD: https://yettel-plati.com","phishing","sr","latin"
27
+ "Јеттел: Прекорачен лимит потрошње. Доплатите 1.500 RSD: https://yettel-plati.com","phishing","sr","cyrillic"
28
+ "PostExpress: Pošiljka zadržana u skladištu. Naknada: 350 RSD: https://postexpress-skladiste.net","phishing","sr","latin"
29
+ "ПостЕxпресс: Пошиљка задржана у складишту. Накнада: 350 RSD: https://postexpress-skladiste.net","phishing","sr","cyrillic"
30
+ "MUP: Vaša lična karta je prijavljena kao izgubljena. Blokirajte online: https://mup-blokada.info","phishing","sr","latin"
31
+ "МУП: Ваша лична карта је пријављена као изгубљена. Блокирајте online: https://mup-blokada.info","phishing","sr","cyrillic"
32
+ "Telekom: Vaša pretplata ističe sutra. Produžite uz popust: https://telekom-produzi.com","phishing","sr","latin"
33
+ "Телеком: Ваша претплата истиче сутра. Продужите уз попуст: https://telekom-produzi.com","phishing","sr","cyrillic"
34
+ "Pošta: Neuspešna dostava paketa #RS883291. Potvrdite termin: https://posta-dostava.help","phishing","sr","latin"
35
+ "Пошта: Неуспешна достава пакета #RS883291. Потврдите термин: https://posta-dostava.help","phishing","sr","cyrillic"
36
+ "MTS: Osvojili ste besplatan internet na mesec dana. Aktivirajte: https://mts-nagrada.net","phishing","sr","latin"
37
+ "МТС: Освојили сте бесплатан интернет на месец дана. Активирајте: https://mts-nagrada.net","phishing","sr","cyrillic"
38
+ "Banca Intesa: Vaš e-banking nalog zahteva verifikaciju. Kliknite: https://intesaverifikacija.com","phishing","sr","latin"
39
+ "Банка Интеза: Ваш е-banking налог захтева верификацију. Кликните: https://intesaverifikacija.com","phishing","sr","cyrillic"
40
+ "NLB Komercijalna banka: Detektovan pristup s nepoznatog uređaja. Potvrdite: https://nlb-sigurno.rs","phishing","sr","latin"
41
+ "НЛБ Комерцијална банка: Детектован приступ с непознатог уређаја. Потврдите: https://nlb-sigurno.rs","phishing","sr","cyrillic"
42
+ "Erste banka: Neovlašćena transakcija od 15.000 RSD. Blokirajte karticu: https://erste-blokada.net","phishing","sr","latin"
43
+ "Ерсте банка: Неовлашћена трансакција од 15.000 RSD. Блокирајте картицу: https://erste-blokada.net","phishing","sr","cyrillic"
44
+ "AIK Banka: Vaš račun je označen za proveru. Unesite podatke: https://aik-provera.com","phishing","sr","latin"
45
+ "АИК Банка: Ваш рачун је означен за проверу. Унесите податке: https://aik-provera.com","phishing","sr","cyrillic"
46
+ "ProCredit: Rata kredita dospeva danas. Izbegnite kamatu: https://procredit-plati.net","phishing","sr","latin"
47
+ "ПроКредит: Рата кредита доспева данас. Избегните камату: https://procredit-plati.net","phishing","sr","cyrillic"
48
+ "Unicredit: Vaš token je istekao. Generišite novi: https://unicredit-token.rs","phishing","sr","latin"
49
+ "Уникредит: Ваш токен је истекао. Генеришите нови: https://unicredit-token.rs","phishing","sr","cyrillic"
50
+ "MUP: Registracija vozila ističe za 48h. Produžite online: https://mup-registracija.help","phishing","sr","latin"
51
+ "МУП: Регистрација возила истиче за 48h. Продужите online: https://mup-registracija.help","phishing","sr","cyrillic"
52
+ "Poreska uprava: Neplaćen porez na imovinu. Plaćanje s popustom: https://poreska-uplata.net","phishing","sr","latin"
53
+ "Пореска управа: Неплаћен порез на имовину. Плаћање с попустом: https://poreska-uplata.net","phishing","sr","cyrillic"
54
+ "JP Putevi Srbije: Kazna za prolaz kroz naplatnu rampu bez kartice. Plaćanje: https://putarine-plati.com","phishing","sr","latin"
55
+ "ЈП Путеви Србије: Казна за пролаз кроз наплатну рампу без картице. Плаћање: https://putarine-plati.com","phishing","sr","cyrillic"
56
+ "DExpress: Vaš paket je oštećen. Zahtev za odštetu: https://dexpress-osteta.net","phishing","sr","latin"
57
+ "ДЕxпресс: Ваш пакет је оштећен. Захтев за одштету: https://dexpress-osteta.net","phishing","sr","cyrillic"
58
+ "PostExpress: Potrebna dopuna podataka za carinjenje. Unesite JMBG: https://postexpress-carina.rs","phishing","sr","latin"
59
+ "ПостЕxпресс: Потребна допуна података за царињење. Унесите ЈМБГ: https://postexpress-carina.rs","phishing","sr","cyrillic"
60
+ "Telekom Srbija: Vaš broj je označen za prenos. Potvrdite ili otkažite: https://mts-prenos.info","phishing","sr","latin"
61
+ "Телеком Србија: Ваш број је означен за пренос. Потврдите или откажите: https://mts-prenos.info","phishing","sr","cyrillic"
62
+ "Banca Intesa: Uspešno ste izvršili plaćanje od 3.450,00 RSD u Mercatoru. Stanje: 87.230,15 RSD.","legitimate","sr","latin"
63
+ "Банка Интеза: Успешно сте извршили плаћање од 3.450,00 RSD у Меркатору. Стање: 87.230,15 RSD.","legitimate","sr","cyrillic"
64
+ "Raiffeisen: Transakcija karticom ****3421 u iznosu od 1.299 RSD je odobrena. Stanje: 124.567,80 RSD.","legitimate","sr","latin"
65
+ "Рајфајзен: Трансакција картицом ****3421 у износу од 1.299 RSD је одобрена. Стање: 124.567,80 RSD.","legitimate","sr","cyrillic"
66
+ "OTP banka: Mesečna naknada za račun iznosi 150 RSD. Stanje nakon naknade: 45.890,22 RSD.","legitimate","sr","latin"
67
+ "ОТП банка: Месечна накнада за рачун износи 150 RSD. Стање након накнаде: 45.890,22 RSD.","legitimate","sr","cyrillic"
68
+ "AIK Banka: Vaš e-token kod je 847392. Važi 60 sekundi. Ne delite kod s trećim licima.","legitimate","sr","latin"
69
+ "АИК Банка: Ваш е-токен код је 847392. Важи 60 секунди. Не делите код с трећим лицима.","legitimate","sr","cyrillic"
70
+ "NLB Komercijalna: Plaćanje trajnim nalogom za struju izvršeno. Iznos: 4.567 RSD. Datum: 20.05.2026.","legitimate","sr","latin"
71
+ "НЛБ Комерцијална: Плаћање трајним налогом за струју извршено. Износ: 4.567 RSD. Датум: 20.05.2026.","legitimate","sr","cyrillic"
72
+ "ProCredit: Rata stambenog kredita dospeva 15.06.2026. Stanje obaveze: 2.450.000 RSD.","legitimate","sr","latin"
73
+ "ПроКредит: Рата стамбеног кредита доспева 15.06.2026. Стање обавезе: 2.450.000 RSD.","legitimate","sr","cyrillic"
74
+ "Unicredit: Prijava s novog uređaja u Beogradu. Ako ste to Vi, ignorišite poruku.","legitimate","sr","latin"
75
+ "Уникредит: Пријава с новог уређаја у Београду. Ако сте то Ви, игноришите поруку.","legitimate","sr","cyrillic"
76
+ "Erste: Vaša štednja je ažurirana. Kamatna stopa: 3.2% godišnje. Detalji u aplikaciji.","legitimate","sr","latin"
77
+ "Ерсте: Ваша штедња је ажурирана. Каматна стопа: 3.2% годишње. Детаљи у апликацији.","legitimate","sr","cyrillic"
78
+ "Intesa: Odbijena transakcija zbog nedostatka sredstava. Molimo uplatite ili kontaktirajte banku.","legitimate","sr","latin"
79
+ "Интеза: Одбијена трансакција због недостатка средстава. Молимо уплатите или контактирајте банку.","legitimate","sr","cyrillic"
80
+ "AIK: Vaša kartica je privremeno blokirana na Vaš zahtev. Za deblokadu pozovite 011 20 20 000.","legitimate","sr","latin"
81
+ "АИК: Ваша картица је привремено блокирана на Ваш захтев. За деблокаду позовите 011 20 20 000.","legitimate","sr","cyrillic"
82
+ "MTS: Vaš račun za 05/2026 iznosi 2.890 RSD. Rok plaćanja: 10.06.2026. Plaćanje u Moj MTS aplikaciji.","legitimate","sr","latin"
83
+ "МТС: Ваш рачун за 05/2026 износи 2.890 RSD. Рок плаћања: 10.06.2026. Плаћање у Мој МТС апликацији.","legitimate","sr","cyrillic"
84
+ "A1 Srbija: Potrošnja interneta: 8,2 GB od 15 GB. Dodatni paket aktivirajte SMS 'NET' na 1234.","legitimate","sr","latin"
85
+ "А1 Србија: Потрошња интернета: 8,2 GB од 15 GB. Додатни пакет активирајте SMS 'NET' на 1234.","legitimate","sr","cyrillic"
86
+ "Yettel: Vaš ugovor ističe 30.06.2026. Kontaktirajte nas za produženje paketa na 064 123 4567.","legitimate","sr","latin"
87
+ "Јеттел: Ваш уговор истиче 30.06.2026. Контактирајте нас за продужење пакета на 064 123 4567.","legitimate","sr","cyrillic"
88
+ "Telekom Srbija: Vaš broj je uspešno prenet. Dobrodošli u mts mrežu. Podrška: 0800 100 100.","legitimate","sr","latin"
89
+ "Телеком Србија: Ваш број је успешно пренет. Добродошли у мтс мрежу. Подршка: 0800 100 100.","legitimate","sr","cyrillic"
90
+ "Yettel: Pretplata je obnovljena. Novi ciklus počinje 01.06.2026. Stanje računa: 0,00 RSD.","legitimate","sr","latin"
91
+ "Јеттел: Претплата је обновљена. Нови циклус почиње 01.06.2026. Стање рачуна: 0,00 RSD.","legitimate","sr","cyrillic"
92
+ "MTS: Vaša SIM kartica je aktivirana. Početni balans: 0,00 RSD. Uživajte u usluzi.","legitimate","sr","latin"
93
+ "МТС: Ваша СИМ картица је активирана. Почетни баланс: 0,00 RSD. Уживајте у услузи.","legitimate","sr","cyrillic"
94
+ "A1: Roaming je isključen za Vaš broj. Za aktivaciju pošaljite SMS 'ROAM' na 1234.","legitimate","sr","latin"
95
+ "А1: Роаминг је искључен за Ваш број. За активацију пошаљите SMS 'ROAM' на 1234.","legitimate","sr","cyrillic"
96
+ "Yettel: Preusmeravanje poziva je uključeno. Za isključivanje pošaljite SMS 'STOP' na 1234.","legitimate","sr","latin"
97
+ "Јеттел: Преусмеравање позива је укључено. За искључивање пошаљите SMS 'STOP' на 1234.","legitimate","sr","cyrillic"
98
+ "Telekom: Vaš ruter je ažuriran. Ako imate poteškoća, restartujte uređaj.","legitimate","sr","latin"
99
+ "Телеком: Ваш рутер је ажуриран. Ако имате потешкоћа, рестартујте уређај.","legitimate","sr","cyrillic"
100
+ "MTS: Prekoračenje minuta. Dodatni paket aktiviran automatski. Detalji u Moj MTS aplikaciji.","legitimate","sr","latin"
101
+ "МТС: Прекорачење минута. Додатни пакет активиран аутоматски. Детаљи у Мој МТС апликацији.","legitimate","sr","cyrillic"
102
+ "Pošta Srbije: Vaš paket HR883291RS je u dostavi. Očekivana dostava: sutra do 14h. Pratite na: posta.rs","legitimate","sr","latin"
103
+ "Пошта Србије: Ваш пакет HR883291RS је у достави. Очекивана достава: сутра до 14h. Пратите на: posta.rs","legitimate","sr","cyrillic"
104
+ "DExpress: Vaša narudžbina je preuzeta od strane kurira. Procenjeno vreme: 25-35 min. Hvala vam!","legitimate","sr","latin"
105
+ "ДЕxпресс: Ваша наруџбина је преузета од стране курира. Процењено време: 25-35 min. Хвала вам!","legitimate","sr","cyrillic"
106
+ "PostExpress: Paket #PE445521 je stigao u Vaš grad. Dostava sutra 09-15h. Pratite na: postexpress.rs","legitimate","sr","latin"
107
+ "ПостЕxпресс: Пакет #PE445521 је стигао у Ваш град. Достава сутра 09-15h. Пратите на: postexpress.rs","legitimate","sr","cyrillic"
108
+ "Glovo Srbija: Dostava je stigla na Vašu adresu. Ostavite recenziju u aplikaciji i ostvarite popust.","legitimate","sr","latin"
109
+ "Глово Србија: Достава је стигла на Вашу адресу. Оставите рецензију у апликацији и остварите попуст.","legitimate","sr","cyrillic"
110
+ "Pošta Srbije: Vaš paket je spreman za preuzimanje u pošti Beograd Centar. Ponesite ličnu kartu.","legitimate","sr","latin"
111
+ "Пошта Србије: Ваш пакет је спреман за преузимање у пошти Београд Центар. Понесите личну карту.","legitimate","sr","cyrillic"
112
+ "DExpress: Vaša pošiljka je u sortiranju. Očekivana dostava: 22.05.2026. Pratite status na dexpress.rs","legitimate","sr","latin"
113
+ "ДЕxпресс: Ваша пошиљка је у сортирању. Очекивана достава: 22.05.2026. Пратите статус на dexpress.rs","legitimate","sr","cyrillic"
114
+ "PostExpress: Paket je predat dostavnom centru. Kontakt kurira: 064 123 4567. Hvala na strpljenju.","legitimate","sr","latin"
115
+ "ПостЕxпресс: Пакет је предат доставном центру. Контакт курира: 064 123 4567. Хвала на стрпљењу.","legitimate","sr","cyrillic"
116
+ "Pošta Srbije: Obaveštenje: Paket je vraćen pošiljaocu zbog nepreuzimanja. Kontakt: 0700 100 300.","legitimate","sr","latin"
117
+ "Пошта Србије: Обавештење: Пакет је враћен пошиљаоцу због непреузимања. Контакт: 0700 100 300.","legitimate","sr","cyrillic"
118
+ "Glovo: Vaša narudžbina je otkazana od strane restorana. Iznos je vraćen na račun.","legitimate","sr","latin"
119
+ "Глово: Ваша наруџбина је отказана од стране ресторана. Износ је враћен на рачун.","legitimate","sr","cyrillic"
120
+ "PostExpress: Dostava je odložena za sutra zbog vremenskih uslova. Novo vreme: 09-14h.","legitimate","sr","latin"
121
+ "ПостЕxпресс: Достава је одложена за сутра због временских услова. Ново време: 09-14h.","legitimate","sr","cyrillic"
122
+ "Pošta Srbije: Vaša pošiljka je preusmerena na novu adresu. Potvrda u aplikaciji Moja Pošta.","legitimate","sr","latin"
123
+ "Пошта Србије: Ваша пошиљка је преусмерена на нову адресу. Потврда у апликацији Моја Пошта.","legitimate","sr","cyrillic"
124
+ "DExpress: Paket je preuzet. Potvrda dostave je primljena. Hvala na poverenju.","legitimate","sr","latin"
125
+ "ДЕxпресс: Пакет је преузет. Потврда доставе је примљена. Хвала на поверењу.","legitimate","sr","cyrillic"
126
+ "PostExpress: Dostava je uspešno obavljena. Ostavite ocenu kuriru i ostvarite 10% popusta.","legitimate","sr","latin"
127
+ "ПостЕxпресс: Достава је успешно обављена. Оставите оцену куриру и остварите 10% попуста.","legitimate","sr","cyrillic"
128
+ "Glovo: Vaša narudžbina je pripremljena. Kurir kreće za 5 min. Hvala na narudžbini!","legitimate","sr","latin"
129
+ "Глово: Ваша наруџбина је припремљена. Курир креће за 5 min. Хвала на наруџбини!","legitimate","sr","cyrillic"
130
+ "DExpress: Obaveštenje: Vaš paket je isporučen. Potpis za prijem je zabeležen u sistemu.","legitimate","sr","latin"
131
+ "ДЕxпресс: Обавештење: Ваш пакет је испоручен. Потпис за пријем је забележен у систему.","legitimate","sr","cyrillic"
132
+ "Pošta Srbije: Vaš paket čeka na preuzimanje. Radno vreme pošte: 08-20h. Ponesite ličnu kartu.","legitimate","sr","latin"
133
+ "Пошта Србије: Ваш пакет чека на преузимање. Радно време поште: 08-20h. Понесите личну карту.","legitimate","sr","cyrillic"
134
+ "PostExpress: Vaša pošiljka je stigla u grad prijema. Dostava u toku dana. Pratite na: postexpress.rs","legitimate","sr","latin"
135
+ "ПостЕxпресс: Ваша пошиљка је стигла у град пријема. Достава у току дана. Пратите на: postexpress.rs","legitimate","sr","cyrillic"
136
+ "Glovo: Kurir je stigao na lokaciju. Molimo izađite na dogovoreno mesto za preuzimanje.","legitimate","sr","latin"
137
+ "Глово: Курир је стигао на лок��цију. Молимо изађите на договорено место за преузимање.","legitimate","sr","cyrillic"
138
+ "DExpress: Vaš paket je predat kuriru. Procenjeno vreme dostave: 45-60 min. Pratite u aplikaciji.","legitimate","sr","latin"
139
+ "ДЕxпресс: Ваш пакет је предат куриру. Процењено време доставе: 45-60 min. Пратите у апликацији.","legitimate","sr","cyrillic"
140
+ "Pošta Srbije: Vaša pošiljka je carinjena. Za preuzimanje ponesite ličnu kartu i broj pošiljke.","legitimate","sr","latin"
141
+ "Пошта Србије: Ваша пошиљка је царињена. За преузимање понесите личну карту и број пошиљке.","legitimate","sr","cyrillic"
142
+ "PostExpress: Dostava je zakazana za sutra između 10-14h. Bićete obavešteni SMS-om pre dolaska.","legitimate","sr","latin"
143
+ "ПостЕxпресс: Достава је заказана за сутра између 10-14h. Бићете обавештени SMS-ом пре доласка.","legitimate","sr","cyrillic"
144
+ "MTS: Vaš mesečni izveštaj o potrošnji je dostupan. Pregledajte u Moj MTS aplikaciji.","legitimate","sr","latin"
145
+ "МТС: Ваш месечни извештај о потрошњи је доступан. Прегледајте у Мој МТС апликацији.","legitimate","sr","cyrillic"
146
+ "A1: Vaša faktura za 05/2026 je generisana. Iznos: 3.450 RSD. Rok plaćanja: 15.06.2026.","legitimate","sr","latin"
147
+ "А1: Ваша фактура за 05/2026 је генерисана. Износ: 3.450 RSD. Рок плаћања: 15.06.2026.","legitimate","sr","cyrillic"
148
+ "Yettel: Vaš bonus bodovi ističu 30.06.2026. Iskoristite ih u Yettel Shop aplikaciji.","legitimate","sr","latin"
149
+ "Јеттел: Ваш бонус бодови истичу 30.06.2026. Искористите их у Yettel Shop апликацији.","legitimate","sr","cyrillic"
150
+ "Telekom: Vaša pretplata uključuje 10 GB interneta. Preostalo: 6,8 GB. Detalji u aplikaciji.","legitimate","sr","latin"
151
+ "Телеком: Ваша претплата укључује 10 GB интернета. Преостало: 6,8 GB. Детаљи у апликацији.","legitimate","sr","cyrillic"
152
+ "MTS: Uspešno ste aktivirali opciju 'Neograničeni razgovori'. Važi do kraja obračunskog perioda.","legitimate","sr","latin"
153
+ "МТС: Успешно сте активирали опцију 'Неограничени разговори'. Важи до краја обрачунског периода.","legitimate","sr","cyrillic"
154
+ "A1: Vaš broj je uspešno prenet iz druge mreže. Dobrodošli u A1 Srbija!","legitimate","sr","latin"
155
+ "А1: Ваш број је успешно пренет из друге мреже. Добродошли у А1 Србија!","legitimate","sr","cyrillic"
156
+ "Yettel: Vaša porudžbina telefona je poslata. Broj za praćenje: YS883291. Pratite na: yettel.rs","legitimate","sr","latin"
157
+ "Јеттел: Ваша поруџбина телефона је послата. Број за праћење: YS883291. Пратите на: yettel.rs","legitimate","sr","cyrillic"
158
+ "Telekom: Vaš ugovor za fiksni internet je produžen. Nova cena: 2.490 RSD/mesečno.","legitimate","sr","latin"
159
+ "Телеком: Ваш уговор за фиксни интернет је продужен. Нова цена: 2.490 RSD/месечно.","legitimate","sr","cyrillic"
160
+ "MTS: Vaš TV paket je ažuriran. Dodati su kanali: Sport Klub 1, 2, 3. Uživajte u gledanju!","legitimate","sr","latin"
161
+ "МТС: Ваш ТВ пакет је ажуриран. Додати су канали: Sport Klub 1, 2, 3. Уживајте у гледању!","legitimate","sr","cyrillic"
162
+ "A1: Vaša opcija 'Roaming Balkan' je aktivirana. Važi u 6 zemalja regiona.","legitimate","sr","latin"
163
+ "А1: Ваша опција 'Roaming Balkan' је активирана. Важи у 6 земаља региона.","legitimate","sr","cyrillic"
164
+ "Yettel: Vaš internet paket od 5 GB je aktiviran. Važi 30 dana od aktivacije.","legitimate","sr","latin"
165
+ "Јеттел: Ваш интернет пакет од 5 GB је активиран. Важи 30 дана од активације.","legitimate","sr","cyrillic"
166
+ "Telekom: Vaša porudžbina opreme je stigla u prodajni objekat. Možete je preuzeti uz ličnu kartu.","legitimate","sr","latin"
167
+ "Телеком: Ваша поруџбина опреме је стигла у продајни објекат. Можете је преузети уз личну карту.","legitimate","sr","cyrillic"
168
+ "MTS: Vaš zahtev za promenu paketa je odobren. Promena stupa na snagu od 01.07.2026.","legitimate","sr","latin"
169
+ "МТС: Ваш захтев за промену пакета је одобрен. Промена ступа на снагу од 01.07.2026.","legitimate","sr","cyrillic"
170
+ "Raiffeisen: Potvrdite identitet za transakciju od 4.200 RSD. Unesite poslednje 4 cifre kartice: https://raiffeisen.rs-verifikacija.net","phishing","sr","latin"
171
+ "Рајфајз��н: Потврдите идентитет за трансакцију од 4.200 RSD. Унесите последње 4 цифре картице: https://raiffeisen.rs-verifikacija.net","phishing","sr","cyrillic"
172
+ "MTS: Vaš račun #44821 je suspendovan zbog nepotpunih podataka. Ažurirajte u Moj MTS: https://moj-mts.rs/potvrda-identiteta","phishing","sr","latin"
173
+ "МТС: Ваш рачун #44821 је суспендован због непотпуних података. Ажурирајте у Мој МТС: https://moj-mts.rs/potvrda-identiteta","phishing","sr","cyrillic"
174
+ "Pošta Srbije: Paket RS992143 čeka carinjenje. Doplatite 350 RSD preko zvaničnog linka: https://posta.rs/carina-plati","phishing","sr","latin"
175
+ "Пошта Србије: Пакет RS992143 чека царинење. Доплатите 350 RSD преко званичног линка: https://posta.rs/carina-plati","phishing","sr","cyrillic"
176
+ "Banca Intesa: Detektovana prijava sa novog uređaja u Novom Sadu. Ako ste vi, ignorišite. Ako niste, potvrdite blokadu: https://intesabank.rs/sigurnost-nalog","phishing","sr","latin"
177
+ "Банка Интеза: Детектована пријава са новог уређаја у Новом Саду. Ако сте ви, игноришите. Ако нисте, потврдите блокаду: https://intesabank.rs/sigurnost-nalog","phishing","sr","cyrillic"
178
+ "MUP: Registracija vozila BG-123-XX ističe sutra. Produžite online bez čekanja u redu: https://mup.gov.rs/reg-produzi-online","phishing","sr","latin"
179
+ "МУП: Регистрација возила БГ-123-XX истиче сутра. Продужите online без чекања у реду: https://mup.gov.rs/reg-produzi-online","phishing","sr","cyrillic"
180
+ "Telekom Srbija: Vaš broj 065/xxx-xxx je označen za prenos. Potvrdite ili otkažite u roku od 24h: https://mts.rs/prenos-broja-potvrda","phishing","sr","latin"
181
+ "Телеком Србија: Ваш број 065/xxx-xxx је означен за пренос. Потврдите или откажите у року од 24h: https://mts.rs/prenos-broja-potvrda","phishing","sr","cyrillic"
182
+ "OTP banka: Generisan je novi e-token. Za aktivaciju unesite kod sa naloga: https://otp.rs/aktivacija-tokena-e","phishing","sr","latin"
183
+ "ОТП банка: Генерисан је нови е-токен. За активацију унесите код са налога: https://otp.rs/aktivacija-tokena-e","phishing","sr","cyrillic"
184
+ "DExpress: Kurir vas nije zatekao. Ponovna dostava zahteva potvrdu adrese: https://dexpress.rs/dostava-potvrda-adresa","phishing","sr","latin"
185
+ "ДЕxпресс: Курир вас није затекао. Поновна достава захтева потврду адресе: https://dexpress.rs/dostava-potvrda-adresa","phishing","sr","cyrillic"
186
+ "A1 Srbija: Potrošnja je premašila 90% limita. Dodatni paket se automatski aktivira. Otkažite: https://a1.rs/limit-upravljanje-paket","phishing","sr","latin"
187
+ "А1 Србија: Потрошња је премашила 90% лимита. Додатни пакет се аутоматски активира. Откажите: https://a1.rs/limit-upravljanje-paket","phishing","sr","cyrillic"
188
+ "NLB Komercijalna: Vaša kartica ****8832 je privremeno ograničena za online kupovinu. Verifikujte: https://nlb.rs/kartica-podesavanja-online","phishing","sr","latin"
189
+ "НЛБ Комерцијална: Ваша картица ****8832 је привремено ограничена за online куповину. Верификујте: https://nlb.rs/kartica-podesavanja-online","phishing","sr","cyrillic"
190
+ "Erste: Vaša štednja je ažurirana. Za potvrdu novih uslova kliknite: https://erste.rs/uslovi-stednja-potvrda","phishing","sr","latin"
191
+ "Ерсте: Ваша штедња је ажурирана. За потврду нових услова кликните: https://erste.rs/uslovi-stednja-potvrda","phishing","sr","cyrillic"
192
+ "Yettel: Vaš broj će biti ugašen zbog neplaćene fakture. Plaćanje preko sigurnog linka: https://yettel.rs/faktura-platno","phishing","sr","latin"
193
+ "Јеттел: Ваш број ће бити угашен због неплаћене фактуре. Плаћање преко сигурног линка: https://yettel.rs/faktura-platno","phishing","sr","cyrillic"
194
+ "PostExpress: Pošiljka PE77321 zadržana na carini. Unesite JMBG za brzo carinjenje: https://postexpress.rs/carina-jmbg","phishing","sr","latin"
195
+ "ПостЕxпресс: Пошиљка PE77321 задржана на царини. Унесите ЈМБГ за брзо царињење: https://postexpress.rs/carina-jmbg","phishing","sr","cyrillic"
196
+ "AIK Banka: Detektovan pokušaj prijave sa IP adrese 195.xxx.xxx.xx. Potvrdite da ste vi: https://aik.rs/prijava-potvrda","phishing","sr","latin"
197
+ "АИК Банка: Детектован покушај пријаве са IP адресе 195.xxx.xxx.xx. Потврдите да сте ви: https://aik.rs/prijava-potvrda","phishing","sr","cyrillic"
198
+ "Poreska uprava: Godišnji obračun poreza je spreman. Preuzmite PDF i potvrdite: https://purs.gov.rs/porez-obracun","phishing","sr","latin"
199
+ "Пореска управа: Годишњи обрачун пореза је спреман. Преузмите PDF и потврдите: https://purs.gov.rs/porez-obracun","phishing","sr","cyrillic"
200
+ "MTS: Vaš TV paket je ažuriran. Za prijem novih kanala potvrdite pretplatu: https://mts.rs/tv-paket-potvrda","phishing","sr","latin"
201
+ "МТС: Ваш ТВ пакет је ажуриран. За пријем нових канала потврдите претплату: https://mts.rs/tv-paket-potvrda","phishing","sr","cyrillic"
202
+ "A1: Vaša opcija roaming je istekla. Produžite za putovanje u EU: https://a1.rs/roaming-produzenje","phishing","sr","latin"
203
+ "А1: Ваша опција роаминг је истекла. Продужите за путовање у EU: https://a1.rs/roaming-produzenje","phishing","sr","cyrillic"
204
+ "Banca Intesa: Vaš kreditni limit je povećan na 50.000 RSD. Aktivirajte sada: https://intesabank.rs/kredit-aktivacija","phishing","sr","latin"
205
+ "Банка Интеза: Ваш кредитни лимит је повећан на 50.000 RSD. Активирајте сада: https://intesabank.rs/kredit-aktivacija","phishing","sr","cyrillic"
206
+ "Pošta Srbije: Obaveštenje: paket je vraćen pošiljaocu. Za ponovnu dostavu platite 400 RSD: https://posta.rs/vracen-paket","phishing","sr","latin"
207
+ "Пошта Србије: Обавештење: пакет је враћен пошиљаоцу. За поновну доставу платите 400 RSD: https://posta.rs/vracen-paket","phishing","sr","cyrillic"
208
+ "Telekom: Vaš ugovor za internet ističe 01.07.2026. Potvrdite produženje uz popust: https://telekom.rs/ugovor-produzenje","phishing","sr","latin"
209
+ "Телеком: Ваш уговор за интернет истиче 01.07.2026. Потврдите продужење уз попуст: https://telekom.rs/ugovor-produzenje","phishing","sr","cyrillic"
210
+ "NLB: Vaša kartica je označena za dodatnu sigurnost. Verifikujte preko aplikacije: https://nlb.rs/kartica-sigurnost","phishing","sr","latin"
211
+ "НЛБ: Ваша картица је означена за додатну сигурност. Верификујте преко апликације: https://nlb.rs/kartica-sigurnost","phishing","sr","cyrillic"
212
+ "OTP: Generisan je novi SMS kod za prijavu. Važi 120 sekundi. Unesite: https://otp.rs/sms-kod-prijava","phishing","sr","latin"
213
+ "ОТП: Генерисан је нови SMS код за пријаву. Важи 120 секунди. Унесите: https://otp.rs/sms-kod-prijava","phishing","sr","cyrillic"
214
+ "Yettel: Vaš bonus bodovi će biti uklonjeni 30.06.2026. Iskoristite ih sada: https://yettel.rs/bonus-iskoristi","phishing","sr","latin"
215
+ "Јеттел: Ваш бонус бодови ће бити уклоњени 30.06.2026. Искористите их сада: https://yettel.rs/bonus-iskoristi","phishing","sr","cyrillic"
216
+ "DExpress: Vaša pošiljka je oštećena u tranzitu. Zahtev za naknadu: https://dexpress.rs/steta-naknada","phishing","sr","latin"
217
+ "ДЕxпресс: Ваша пошиљка је оштећена у транзиту. Захтев за накнаду: https://dexpress.rs/steta-naknada","phishing","sr","cyrillic"
218
+ "MUP: Vaša lična karta je prijavljena kao neispravna. Blokirajte i zatražite novu: https://mup.gov.rs/licna-karta-blokada","phishing","sr","latin"
219
+ "МУП: Ваша лична карта је пријављена као неисправна. Блокирајте и затражите нову: https://mup.gov.rs/licna-karta-blokada","phishing","sr","cyrillic"
220
+ "Raiffeisen: Vaš račun je označen za reviziju. Unesite podatke za nastavak: https://raiffeisen.rs/racun-revizija","phishing","sr","latin"
221
+ "Рајфајзен: Ваш рачун је означен за ревизију. Унесите податке за наставак: https://raiffeisen.rs/racun-revizija","phishing","sr","cyrillic"
222
+ "A1: Vaš broj je prenet u drugu mrežu. Potvrdite ili poništite prenos: https://a1.rs/prenos-mreze-potvrda","phishing","sr","latin"
223
+ "А1: Ваш број је пренет у другу мрежу. Потврдите или поништите пренос: https://a1.rs/prenos-mreze-potvrda","phishing","sr","cyrillic"
224
+ "Banca Intesa: Detektovana transakcija u inostranstvu. Ako niste vi, blokirajte karticu: https://intesabank.rs/inostranstvo-blokada","phishing","sr","latin"
225
+ "Банка Интеза: Детектована трансакција у иностранству. Ако нисте ви, блокирајте картицу: https://intesabank.rs/inostranstvo-blokada","phishing","sr","cyrillic"
226
+ "Pošta: Vaš paket čeka na preuzimanje u pošti Vračar. Ponesite ličnu kartu: https://posta.rs/vracar-preuzimanje","phishing","sr","latin"
227
+ "Пошта: Ваш пакет чека на преузимање у пошти Врачар. Понесите личну карту: https://posta.rs/vracar-preuzimanje","phishing","sr","cyrillic"
228
+ "Telekom: Vaš ruter zahteva ažuriranje firmware-a. Preuzmite najnoviju verziju: https://telekom.rs/ruter-firmware","phishing","sr","latin"
229
+ "Телеком: Ваш рутер захтева ажурирање firmware-а. Преузмите најновију верзију: https://telekom.rs/ruter-firmware","phishing","sr","cyrillic"
230
+ "OTP: Vaš nalog je privremeno zaključan zbog 3 uzastopna pogrešna pokušaja. Otključajte: https://otp.rs/nalog-otkljucavanje","phishing","sr","latin"
231
+ "ОТП: Ваш налог је привремено закључан због 3 узастопна погрешна покушаја. Откључајте: https://otp.rs/nalog-otkljucavanje","phishing","sr","cyrillic"
232
+ "NLB: Vaša kreditna kartica dospeva za obnovu. Potvrdite adresu dostave: https://nlb.rs/kartica-obnova","phishing","sr","latin"
233
+ "НЛБ: Ваша кредитна картица доспева за обнову. Потврдите адресу доставе: https://nlb.rs/kartica-obnova","phishing","sr","cyrillic"
234
+ "Yettel: Vaš ugovor za mobilni internet je promenjen. Pregledajte nove uslove: https://yettel.rs/ugovor-promena","phishing","sr","latin"
235
+ "Јеттел: Ваш уговор за мобилни интернет је промењен. Прегледајте нове услове: https://yettel.rs/ugovor-promena","phishing","sr","cyrillic"
236
+ "DExpress: Kurir je u blizini. Potvrdite prisustvo da bi dostava bila uspešna: https://dexpress.rs/kurir-blizina","phishing","sr","latin"
237
+ "ДЕxпресс: Курир је у близини. Потврдите присуство да би достава била успешна: https://dexpress.rs/kurir-blizina","phishing","sr","cyrillic"
238
+ "MUP: Vaša vozačka dozvola je suspendovana zbog nepodmirenih kazni. Plaćanje online: https://mup.gov.rs/vozacka-kazne","phishing","sr","latin"
239
+ "МУП: Ваша возачка дозвола је суспендована због неподмирених казни. Плаћање online: https://mup.gov.rs/vozacka-kazne","phishing","sr","cyrillic"
240
+ "Raiffeisen: Vaš e-banking je ažuriran. Za nastavak unesite novi PIN: https://raiffeisen.rs/ebanking-pin","phishing","sr","latin"
241
+ "Рајфајзен: Ваш е-banking је ажуриран. За наставак унесите нови PIN: https://raiffeisen.rs/ebanking-pin","phishing","sr","cyrillic"
242
+ "A1: Vaš SIM je prijavljen kao duplikat. Blokirajte stari i aktivirajte novi: https://a1.rs/sim-duplikat","phishing","sr","latin"
243
+ "А1: Ваш СИМ је пријављен као дупликат. Блокирајте стари и активирајте нови: https://a1.rs/sim-duplikat","phishing","sr","cyrillic"
244
+ "Banca Intesa: Vaš račun je označen za privremenu verifikaciju. Potvrdite identitet: https://intesabank.rs/verifikacija-privremena","phishing","sr","latin"
245
+ "Банка Интеза: Ваш рачун је означен за привремену верификацију. Потврдите идентитет: https://intesabank.rs/verifikacija-privremena","phishing","sr","cyrillic"
246
+ "Pošta: Vaša pošiljka je preusmerena zbog greške u adresi. Ispravite podatke: https://posta.rs/adresa-ispravka","phishing","sr","latin"
247
+ "Пошта: Ваша пошиљка је преусмерена због грешке у адреси. Исправите податке: https://posta.rs/adresa-ispravka","phishing","sr","cyrillic"
248
+ "Telekom: Vaša pretplata za fiksni telefon ističe. Produžite bez prekida: https://telekom.rs/fiksni-produzenje","phishing","sr","latin"
249
+ "Телеком: Ваша претплата за фиксни телефон истиче. Продужите без прекида: https://telekom.rs/fiksni-produzenje","phishing","sr","cyrillic"
250
+ "OTP: Vaš nalog je označen za dodatnu zaštitu. Aktivirajte 2FA: https://otp.rs/2fa-aktivacija","phishing","sr","latin"
251
+ "ОТП: Ваш налог је означен за додатну заштиту. Активирајте 2FA: https://otp.rs/2fa-aktivacija","phishing","sr","cyrillic"
252
+ "NLB: Vaša kartica je prijavljena kao izgubljena. Blokirajte i naručite novu: https://nlb.rs/kartica-izgubljena","phishing","sr","latin"
253
+ "НЛБ: Ваша картица је пријављена као изгубљена. Блокирајте и наручите нову: https://nlb.rs/kartica-izgubljena","phishing","sr","cyrillic"
254
+ "Yettel: Vaš internet paket je istekao. Produžite za nastavak usluge: https://yettel.rs/internet-produzenje","phishing","sr","latin"
255
+ "Јеттел: Ваш интернет пакет је истекао. Продужите за наставак услуге: https://yettel.rs/internet-produzenje","phishing","sr","cyrillic"
256
+ "DExpress: Vaš paket je spreman za preuzimanje u centru. Ponesite ID: https://dexpress.rs/centar-preuzimanje","phishing","sr","latin"
257
+ "ДЕxпресс: Ваш пакет је спреман за преузимање у центру. Понесите ID: https://dexpress.rs/centar-preuzimanje","phishing","sr","cyrillic"
258
+ "MUP: Vaš pasoš ističe za 30 dana. Produžite online bez redova: https://mup.gov.rs/pasoz-produzenje","phishing","sr","latin"
259
+ "МУП: Ваш пасош истиче за 30 дана. Продужите online без редова: https://mup.gov.rs/pasoz-produzenje","phishing","sr","cyrillic"
260
+ "Raiffeisen: Vaš nalog je označen za sigurnosnu proveru. Potvrdite poslednju transakciju: https://raiffeisen.rs/sigurnosna-provera","phishing","sr","latin"
261
+ "Рајфајзен: Ваш налог је означен за сигурносну проверу. Потврдите последњу трансакцију: https://raiffeisen.rs/sigurnosna-provera","phishing","sr","cyrillic"
262
+ "A1: Vaš broj je privremeno suspendovan zbog tehničkog održavanja. Potvrdite vraćanje: https://a1.rs/odrzavanje-vracanje","phishing","sr","latin"
263
+ "А1: Ваш број је привремено суспендован због техничког одржавања. Потврдите враћање: https://a1.rs/odrzavanje-vracanje","phishing","sr","cyrillic"
264
+ "Banca Intesa: Vaša štednja je ažurirana. Za potvrdu novih stopa kliknite: https://intesabank.rs/stednja-stope","phishing","sr","latin"
265
+ "Банка Интеза: Ваша штедња је ажурирана. За потврду нових стопа кликните: https://intesabank.rs/stednja-stope","phishing","sr","cyrillic"
266
+ "Pošta: Vaša pošiljka je zadržana zbog carinske provere. Unesite fakturu: https://posta.rs/carina-faktura","phishing","sr","latin"
267
+ "Пошта: Ваша пошиљка је задржана због царинске провере. Унесите фактуру: https://posta.rs/carina-faktura","phishing","sr","cyrillic"
268
+ "Telekom: Vaš broj je prijavljen za spam. Potvrdite da niste vi poslali poruke: https://telekom.rs/spam-potvrda","phishing","sr","latin"
269
+ "Телеком: Ваш број је пријављен за spam. Потврдите да нисте ви послали поруке: https://telekom.rs/spam-potvrda","phishing","sr","cyrillic"
270
+ "Banca Intesa: Obaveštenje o bezbednosti: Detektovana prijava sa nove lokacije (Novi Sad). Ako ste to vi, nema potrebe za akcijom. Proverite aktivnost: intesabank.rs/aktivnost","legitimate","sr","latin"
271
+ "Банка Интеза: Обавештење о безбедности: Детектована пријава са нове локације (Нови Сад). Ако сте то ви, нема потребе за акцијом. Проверите активност: intesabank.rs/aktivnost","legitimate","sr","cyrillic"
272
+ "Raiffeisen: Vaša kartica ****2291 korišćena je za online kupovinu od 2.450 RSD. Ako niste vi, blokirajte karticu u aplikaciji.","legitimate","sr","latin"
273
+ "Рајфајзен: Ваша картица ****2291 коришћена је за online куповину од 2.450 RSD. Ако нисте ви, блокирајте картицу у апликацији.","legitimate","sr","cyrillic"
274
+ "OTP banka: Vaš e-banking nalog je uspešno ažuriran. Nova bezbednosna podešavanja su aktivna. Detalji u sekciji 'Profil'.","legitimate","sr","latin"
275
+ "ОТП банка: Ваш е-banking налог је успешно ажуриран. Нова безбедносна подешавања су активна. Детаљи у секцији 'Profil'.","legitimate","sr","cyrillic"
276
+ "MTS: Hitno obaveštenje: Vaš broj je privremeno ograničen zbog sumnje na zloupotrebu. Kontaktirajte podršku na 064 123 4567 za verifikaciju.","legitimate","sr","latin"
277
+ "МТС: Хитно обавештење: Ваш број је привремено ограничен због сумње на злоупотребу. Контактирајте подршку на 064 123 4567 за верификацију.","legitimate","sr","cyrillic"
278
+ "Pošta Srbije: Bezbednosno obaveštenje: Vaš paket RS112233 je zadržan na carini zbog rutinske kontrole. Status pratite na posta.rs","legitimate","sr","latin"
279
+ "Пошта Србије: Безбедносно обавештење: Ваш пакет RS112233 је задржан на царини због рутинске контроле. Статус пратите на posta.rs","legitimate","sr","cyrillic"
280
+ "A1 Srbija: Vaš račun pokazuje neobičnu potrošnju. Za vašu sigurnost, dodatna verifikacija je potrebna. Pozovite 064 100 100.","legitimate","sr","latin"
281
+ "А1 Србија: Ваш рачун показује необичну потрошњу. За вашу сигурност, додатна верификација је потребна. Позовите 064 100 100.","legitimate","sr","cyrillic"
282
+ "NLB Komercijalna: Vaša kartica je automatski blokirana nakon 3 neuspela pokušaja PIN-a. Za deblokadu posetite najbližu filijalu.","legitimate","sr","latin"
283
+ "НЛБ Комерцијална: Ваша картица је аутоматски блокирана након 3 неуспела покушаја PIN-а. За деблокаду посетите најближу филијалу.","legitimate","sr","cyrillic"
284
+ "MUP: Obaveštenje: Vaša lična karta je uspešno registrovana u sistemu. Za preuzimanje dokumenta posetite MUP u radno vreme.","legitimate","sr","latin"
285
+ "МУП: Обавештење: Ваша лична карта је успешно регистрована у систему. За преузимање документа посетите МУП у радно време.","legitimate","sr","cyrillic"
286
+ "Yettel: Vaš nalog je označen za dodatnu verifikaciju zbog promene uređaja. Potvrdite identitet putem SMS koda koji stiže na vaš broj.","legitimate","sr","latin"
287
+ "Јеттел: Ваш налог је означен за додатну верификацију због промене уређаја. Потврдите идентитет путем SMS кода који стиже на ваш број.","legitimate","sr","cyrillic"
288
+ "DExpress: Vaša pošiljka DE556677 je privremeno zadržana zbog nepotpune dokumentacije. Dopunite podatke u DExpress aplikaciji.","legitimate","sr","latin"
289
+ "ДЕxпресс: Ваша пошиљка DE556677 је привремено задржана због непотпуне документације. Допуните податке у DExpress апликацији.","legitimate","sr","cyrillic"
290
+ "Telekom Srbija: Vaš mts nalog je uspešno zaštićen dvofaktorskom autentifikacijom. Svaka prijava će zahtevati SMS potvrdu.","legitimate","sr","latin"
291
+ "Телеком Србија: Ваш мтс налог је успешно заштићен двофакторском аутентификацијом. Свака пријава ће захтевати SMS потврду.","legitimate","sr","cyrillic"
292
+ "Banca Intesa: Vaša štednja je prebačena na novi račun sa boljim uslovima. Potvrdu transakcije možete pronaći u e-banking istoriji.","legitimate","sr","latin"
293
+ "Банка Интеза: Ваша штедња је пребачена на нови рачун са бољим условима. Потврду трансакције можете пронаћи у е-banking историји.","legitimate","sr","cyrillic"
294
+ "Raiffeisen: Obaveštenje: Vaša kartica će isteći 12/2026. Nova kartica će biti automatski poslata na vašu adresu. Nema potrebe za akcijom.","legitimate","sr","latin"
295
+ "Рајфајзен: Обавештење: Ваша картица ће истећи 12/2026. Нова картица ће бити аутоматски послата на вашу адресу. Нема потребе за акцијом.","legitimate","sr","cyrillic"
296
+ "OTP: Vaš token je uspešno resetovan. Novi kodovi se generišu svakih 60 sekundi. Stari token je deaktiviran iz bezbednosnih razloga.","legitimate","sr","latin"
297
+ "ОТП: Ваш токен је успешно ресетован. Нови кодови се генеришу сваких 60 секунди. Стари токен је деактивиран из безбедносних разлога.","legitimate","sr","cyrillic"
298
+ "Pošta: Vaš paket je vraćen pošiljaocu jer nije preuzet u zakonskom roku. Za ponovnu dostavu kontaktirajte pošiljaoca ili 0700 100 300.","legitimate","sr","latin"
299
+ "Пошта: Ваш пакет је враћен пошиљаоцу јер није преузет у законском року. За поновну доставу контактирајте пошиљаоца или 0700 100 300.","legitimate","sr","cyrillic"
300
+ "MTS: Vaš broj je uspešno verifikovan nakon privremene suspenzije. Sve usluge su sada ponovo aktivne. Hvala na saradnji.","legitimate","sr","latin"
301
+ "МТС: Ваш број је успешно верификован након привремене суспензије. Све услуге су сада поново активне. Хвала на сарадњи.","legitimate","sr","cyrillic"
302
+ "A1: Vaša pretplata je ažurirana sa novim uslovima. Promene stupaju na snagu od 01.07.2026. Detalji su dostupni u Moj A1 aplikaciji.","legitimate","sr","latin"
303
+ "А1: Ваша претплата је ажурирана са новим условима. Промене ступају на снагу од 01.07.2026. Детаљи су доступни у Мој А1 апликацији.","legitimate","sr","cyrillic"
304
+ "NLB: Vaša online transakcija od 8.900 RSD je odobrena nakon dodatne verifikacije. Stanje računa je ažurirano u realnom vremenu.","legitimate","sr","latin"
305
+ "НЛБ: Ваша online трансакција од 8.900 RSD је одобрена након додатне верификације. Стање рачуна је ажурирано у реалном времену.","legitimate","sr","cyrillic"
306
+ "MUP: Registracija vašeg vozila je uspešno produžena. Nova saobraćajna dozvola je spremna za preuzimanje u MUP odeljenju.","legitimate","sr","latin"
307
+ "МУП: Регистрација вашег возила је успешно продужена. Нова саобраћајна дозвола је спремна за преузимање у МУП одељењу.","legitimate","sr","cyrillic"
308
+ "Yettel: Vaš ugovor je produžen sa poboljšanim uslovima. Besplatni minuti i SMS poruke su aktivirani odmah. Proverite u aplikaciji.","legitimate","sr","latin"
309
+ "Јеттел: Ваш уговор је продужен са побољшаним условима. Бесплатни минути и SMS поруке су активирани одмах. Проверите у апликацији.","legitimate","sr","cyrillic"
310
+ "DExpress: Vaša pošiljka je uspešno dostavljena i potpisana od strane primaoca. Elektronska potvrda je poslata na vaš email.","legitimate","sr","latin"
311
+ "ДЕxпресс: Ваша пошиљка је успешно достављена и потписана од стране примаоца. Електронска потврда је послата на ваш email.","legitimate","sr","cyrillic"
312
+ "Telekom: Vaš ruter je uspešno ažuriran na najnoviji firmware. Ako primetite probleme sa konekcijom, restartujte uređaj.","legitimate","sr","latin"
313
+ "Телеком: Ваш рутер је успешно ажуриран на најновији firmware. Ако приметите проблеме са конекцијом, рестартујте уређај.","legitimate","sr","cyrillic"
314
+ "Banca Intesa: Vaš kreditni zahtev je odobren. Ugovor je spreman za potpis u najbližoj filijali. Kontaktirajte nas za termin.","legitimate","sr","latin"
315
+ "Банка Интеза: Ваш кредитни захтев је одобрен. Уговор је спреман за потпис у најближој филијали. Контактирајте нас за термин.","legitimate","sr","cyrillic"
316
+ "Raiffeisen: Vaš nalog je uspešno verifikovan nakon rutinske bezbednosne provere. Sve transakcije su sada ponovo omogućene.","legitimate","sr","latin"
317
+ "Рајфајзен: Ваш налог је успешно верификован након рутинске безбедносне провере. Све трансакције су сада поново омогућене.","legitimate","sr","cyrillic"
318
+ "OTP: Vaša kartica je deblokirana nakon što ste potvrdili identitet. Za dodatnu sigurnost, preporučujemo promenu PIN-a.","legitimate","sr","latin"
319
+ "ОТП: Ваша картица је деблокирана након што сте потврдили идентитет. За додатну сигурност, препоручујемо промену PIN-а.","legitimate","sr","cyrillic"
320
+ "Pošta Srbije: Vaš paket je carinjen i spreman za isporuku. Dostava se očekuje u naredna 24h. Pratite status na posta.rs","legitimate","sr","latin"
321
+ "Пошта Србије: Ваш пакет је царињен и спреман за испоруку. Достава се очекује у наредна 24h. Пратите статус на posta.rs","legitimate","sr","cyrillic"
322
+ "MTS: Vaša pretplata je obnovljena. Novi obračunski period počinje 01.06.2026. Detalji o potrošnji su dostupni u Moj MTS aplikaciji.","legitimate","sr","latin"
323
+ "МТС: Ваша претплата је обновљена. Нови обрачунски период почиње 01.06.2026. Детаљи о потрошњи су доступни у Мој МТС апликацији.","legitimate","sr","cyrillic"
324
+ "Vaša pošiljka je zadržana na carini. Plaća se carina 150 kn. Kliknite: http://bit.ly/dostava123","phishing","hr","latin"
325
+ "Dostava Express: Paket čeka preuzimanje. Doplatite 29 kn za potvrdu adrese: http://dostava-info.net","phishing","hr","latin"
326
+ "Obavijest: Vaša narudžba #8832 nije isporučena jer je adresa nepotpuna. Potvrdite ovdje: http://sm-link.xyz","phishing","hr","latin"
327
+ "Glovo dostava: Potrebna je doplata za dostavu iznosa 4,50€. Unesite podatke: http://glovo-pay.com","phishing","hr","latin"
328
+ "Hrvatska pošta: Paket je spreman. Platite trošak skladištenja od 18 kn prije 24h: http://hp-plati.info","phishing","hr","latin"
329
+ "DHL: Vaš paket je označen kao neisporučen. Doplatite 12 kn za ponovnu dostavu: http://dhl-pay.net","phishing","hr","latin"
330
+ "Obavijest o dostavi: Kurir vas nije pronašao. Potvrdite novi termin: http://kurir-term.com","phishing","hr","latin"
331
+ "Vaša pošiljka čeka u skladištu. Plaća se naknada za čuvanje: http://skladiste-plati.xyz","phishing","hr","latin"
332
+ "Dostava paketa #5512 je otkazana. Za površ novca kliknite: http://refund-dostava.net","phishing","hr","latin"
333
+ "Pošta HR: Vaš paket je zadržan zbog nepotpunih podataka. Unesite JMBG: http://postahr-prov.com","phishing","hr","latin"
334
+ "Vaša kartica je privremeno blokirana zbog sumnjive transakcije. Potvrdite identitet: http://banka-sigurnost.com","phishing","hr","latin"
335
+ "Zagrebačka banka: Vaš token je istekao. Ažurirajte podatke unutar 2h kako biste izbjegli blokadu: http://zb-update.net","phishing","hr","latin"
336
+ "ERSTE BANKA: Neovlaštena transakcija od 450€ uočena. Odgovorite OVDJE za blokadu: http://erste-verify.com","phishing","hr","latin"
337
+ "Vaš račun je ugrožen. Unesite PIN i zadnje 3 znamenke kartice za potvrdu: http://sigurno-banka.com","phishing","hr","latin"
338
+ "PBZ: Aktivirajte novu mobilnu aplikaciju klikom na link unutar 12h: http://pbz-app-activate.net","phishing","hr","latin"
339
+ "OTP banka: Vaš račun je označen za provjeru. Potvrdite vlasništvo: http://otp-provjera.net","phishing","hr","latin"
340
+ "RBA: Mreža je detektirala prijavu s nepoznatog uređaja. Potvrdite pristup: http://rba-sigurno.com","phishing","hr","latin"
341
+ "HVB: Vaša štednja je pod rizikom. Zaštitite račun unutar 30 min: http://hvb-zastita.net","phishing","hr","latin"
342
+ "Kreditna unija: Neplaćena rata dospijeva danas. Izbjegnite kamate: http://ku-plati.com","phishing","hr","latin"
343
+ "Sberbank: Vaš mobilni banking je zaključan. Otključajte ovdje: http://sber-unlock.net","phishing","hr","latin"
344
+ "MUP RH: Na vaše ime je zaprimljena kaznena prijava. Preuzmite dokument: http://mup-obavijest.com","phishing","hr","latin"
345
+ "Policija: Vaše vozilo je zabilježeno na radarskom uređaju. Platite kaznu s popustom: http://kazna-mup.net","phishing","hr","latin"
346
+ "MUP BiH: Putovnica vam ističe za 7 dana. Produžite online: http://mup-bih-obnova.com","phishing","bs","latin"
347
+ "Obavijest MUP-a: Registracija vozila istječe sutra. Plaćanje online: http://mup-reg.net","phishing","hr","latin"
348
+ "Hitno: MUP je primio zahtjev sa Vašim podacima. Provjerite status: http://mup-provjera.com","phishing","bs","latin"
349
+ "MUP: Vaša osobna iskaznica je prijavljena kao izgubljena. Blokirajte online: http://mup-blok.com","phishing","bs","latin"
350
+ "Policija RH: Prekršajni nalog je izdan. Plaćanje u roku od 48h: http://prekršaj-mup.net","phishing","hr","latin"
351
+ "MUP: Promjena prebivališta zahtijeva potvrdu. Unesite podatke: http://mup-prebivaliste.com","phishing","bs","latin"
352
+ "Obavijest: Vozačka dozvola vam je suspendirana. Žalba se podnosi online: http://mup-vozacka.net","phishing","hr","latin"
353
+ "MUP: Prijava za izdavanje novog dokumenta. Potvrdite termin: http://mup-term.com","phishing","bs","latin"
354
+ "Zagrebački parking: Vaš nalog je neplaćen. Izbjegnite dodatnu kaznu: http://parking-plati.com","phishing","hr","latin"
355
+ "Split parking: Prekoračen je limit parkiranja. Doplatite 25 kn sada: http://split-park.net","phishing","hr","latin"
356
+ "Parking servis: Vaš automobil je prijavljen za neovlašteno parkiranje. Riješite ovdje: http://parking-servis.com","phishing","hr","latin"
357
+ "Osijek parking: Potrebna je registracija vozila. Unesite tablice: http://osijek-park.net","phishing","hr","latin"
358
+ "Hitna obavijest: Neplaćeni parking na Z1. Plaćanje u 24h: http://z1-parking.com","phishing","hr","latin"
359
+ "Parking Rijeka: Vaša karta nije valjana. Doplatite razliku: http://ri-parking.net","phishing","hr","latin"
360
+ "Parkomat: Sustav je zabilježio neispravan unos. Potvrdite plaćanje: http://parkomat-plati.com","phishing","hr","latin"
361
+ "Zeleni parking: Vaš bon je istekao. Produžite sada: http://zeleni-park.net","phishing","hr","latin"
362
+ "Parking Dubrovnik: Obavijest o prekršaju. Riješite online: http://du-parking.com","phishing","hr","latin"
363
+ "Parking servis Varaždin: Neplaćeno parkiranje. Izbjegnite kaznu: http://vz-parking.net","phishing","hr","latin"
364
+ "Čestitamo! Osvojili ste iPhone 15. Unesite podatke za dostavu: http://nagrada-dobit.com","phishing","neutral","latin"
365
+ "Vaš broj je odabran za nagradnu igru. Preuzmite voucher od 500€: http://voucher-dobit.net","phishing","neutral","latin"
366
+ "T-HT nagradna igra: Dobitnik ste! Potvrdite identitet za isplatu: http://t-com-nagrada.com","phishing","hr","latin"
367
+ "Super nagrada! Kliknite ovdje i preuzmite besplatni gift card od 200 kn: http://gift-card-free.net","phishing","hr","latin"
368
+ "Čestitamo! Osvojili ste putovanje u Tursku. Unesite JMBG za potvrdu: http://putovanje-nagrada.com","phishing","neutral","latin"
369
+ "Nagradna igra Konzum: Dobitnik ste vaučera. Unesite podatke: http://konzum-nagrada.net","phishing","hr","latin"
370
+ "Lidl nagradna: Vaš kupon čeka preuzimanje. Potvrdite SMS kodom: http://lidl-kupon.com","phishing","neutral","latin"
371
+ "Tele2 nagradna igra: Besplatni internet na godinu dana. Aktivirajte ovdje: http://t2-nagrada.net","phishing","hr","latin"
372
+ "Muller nagradna: Osvojili ste košaricu. Unesite adresu: http://muller-nagrada.com","phishing","neutral","latin"
373
+ "Petrol nagradna: Besplatno gorivo čeka. Potvrdite identitet: http://petrol-nagrada.net","phishing","neutral","latin"
374
+ "Zagrebačka banka: Uspješno ste izvršili plaćanje od 150,00 EUR. Novo stanje: 2.450,33 EUR. Hvala na povjerenju.","legitimate","hr","latin"
375
+ "PBZ: Vaša kartica ****4521 korištena je za kupnju od 89,50 kn u Konzumu. Ako niste vi, nazovite 01 6300 000.","legitimate","hr","latin"
376
+ "ERSTE: Obavijest: Mjesečna naknada za račun iznosi 5,00 EUR. Stanje nakon naknade: 1.230,45 EUR.","legitimate","hr","latin"
377
+ "OTP banka: Vaš e-token je uspješno generiran. Valjan je 60 sekundi. Ne dijelite kod s trećim osobama.","legitimate","hr","latin"
378
+ "RBA: Plaćanje karticom ****7892 u iznosu od 320,00 kn je odobreno. Stanje: 4.110,22 kn.","legitimate","hr","latin"
379
+ "HVB: Vaš trajni nalog za režije je izvršen. Iznos: 78,40 EUR. Datum: 15.05.2024.","legitimate","hr","latin"
380
+ "Kreditna unija: Rata kredita dospijeva 20.06.2024. Stanje obveze: 12.450,00 EUR.","legitimate","hr","latin"
381
+ "Sberbank: Prijava s novog uređaja. Ako ste to vi, ignorirajte poruku. Inače nazovite podršku.","legitimate","hr","latin"
382
+ "Zaba: Mjenica je dospjela. Stanje računa je ažurirano. Detalji u internet bankarstvu.","legitimate","hr","latin"
383
+ "PBZ: Odbijena transakcija zbog nedostatka sredstava. Molimo uplatite sredstva ili kontaktirajte banku.","legitimate","hr","latin"
384
+ "T-Mobile: Vaš račun za 05/2024 iznosi 45,90 EUR. Rok plaćanja: 15.06.2024. Plaćanje putem aplikacije Moj T-Mobile.","legitimate","hr","latin"
385
+ "A1: Potrošnja podataka: 2,4 GB od 10 GB. Dodatni paket možete aktivirati slanjem SMS 'INTERNET' na 1234.","legitimate","hr","latin"
386
+ "Telemach: Obavijest: Vaš ugovor o usluzi istječe 30.06.2024. Kontaktirajte nas za produženje ili promjenu paketa.","legitimate","hr","latin"
387
+ "Hrvatski Telekom: Vaš broj je uspješno registriran. Dobrodošli u HT mrežu. Za pomoć nazovite 0800 123 456.","legitimate","hr","latin"
388
+ "A1: Vaša pretplata je obnovljena. Novi ciklus počinje 01.06.2024. Stanje računa: 0,00 EUR.","legitimate","hr","latin"
389
+ "Tomato: Vaša SIM kartica je aktivirana. Početni balans: 0,00 EUR. Uživajte u usluzi.","legitimate","hr","latin"
390
+ "T-Mobile: Isključen je roaming za vaš broj. Za aktivaciju pošaljite SMS 'ROAM' na 1234.","legitimate","hr","latin"
391
+ "A1: Preusmeravanje poziva je uključeno. Za isključivanje pošaljite SMS 'STOP' na 1234.","legitimate","neutral","latin"
392
+ "HT: Vaš Wi-Fi router je ažuriran. Ako imate poteškoća, restartujte uređaj.","legitimate","hr","latin"
393
+ "Tomato: Prekoračenje minuta. Dodatni paket aktiviran automatski. Detalji u aplikaciji.","legitimate","hr","latin"
394
+ "Hrvatska pošta: Vaš paket s brojem HR123456789 je u dostavi. Očekivana dostava: sutra do 14h. Pratite na: hp.hr/pratipaket","legitimate","hr","latin"
395
+ "Glovo: Vaša narudžba je preuzeta od strane kurira. Procijenjeno vrijeme dostave: 25-35 min. Hvala vam!","legitimate","hr","latin"
396
+ "DHL Express: Paket #DE987654321 je stigao u vašu zemlju. Carinjenje je u tijeku. Za informacije posjetite dhl.hr","legitimate","hr","latin"
397
+ "Wolt: Dostava je stigla na vašu adresu. Ostavite recenziju u aplikaciji i ostvarite popust na sljedeću narudžbu.","legitimate","hr","latin"
398
+ "Pošta BiH: Vaš paket je spreman za preuzimanje u poštanskom uredu Sarajevo Centar. Ponesite osobnu iskaznicu.","legitimate","bs","latin"
399
+ "DPD: Vaša pošiljka je u sortiranju. Očekivana dostava: 18.05.2024. Pratite status na dpd.hr","legitimate","hr","latin"
400
+ "GLS: Paket je predan dostavnom centru. Kontakt kurira: 091 234 5678. Hvala na strpljenju.","legitimate","hr","latin"
401
+ "Hrvatska pošta: Obavijest: Paket je vraćen pošiljatelju zbog nepreuzimanja. Kontaktirajte nas za ponovnu dostavu.","legitimate","hr","latin"
402
+ "Glovo: Vaša narudžba je otkazana od strane restorana. Iznos je vraćen na račun.","legitimate","hr","latin"
403
+ "Wolt: Kurir kasni 10 min zbog gužve. Hvala na razumijevanju. Pratite lokaciju u aplikaciji.","legitimate","hr","latin"
404
+ "DPD: Dostava je odgođena za sutra zbog vremenskih uvjeta. Novo vrijeme: 09-14h.","legitimate","hr","latin"
405
+ "Hrvatska pošta: Vaša pošiljka je preusmjerena na novu adresu. Potvrda u aplikaciji.","legitimate","hr","latin"
406
+ "GLS: Paket je preuzet. Potvrda dostave je zaprimljena. Hvala na povjerenju.","legitimate","hr","latin"
407
+ "Wolt: Dostava je uspješno obavljena. Ostavite ocjenu kuriru i ostvarite 10% popusta.","legitimate","hr","latin"
408
+ "Glovo: Vaša narudžba je pripremljena. Kurir kreće za 5 min. Hvala na narudžbi!","legitimate","hr","latin"
typosquatting_domains.csv ADDED
@@ -0,0 +1,422 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ domain,target_domain,country,brand,technique
2
+ putevi-notice.cc,putevi-srbije.rs,RS,Putevi Srbije,added-word
3
+ putevi-kazna.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
4
+ putevi-srbije.login,putevi-srbije.rs,RS,Putevi Srbije,added-word
5
+ putevi-srbije.online,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
6
+ putevi-srbije.net,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
7
+ putevi-srbije.org,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
8
+ putevi-srbije.rs.com,putevi-srbije.rs,RS,Putevi Srbije,wrong-tld
9
+ putevi-srbijeee.rs,putevi-srbije.rs,RS,Putevi Srbije,repetition
10
+ putevi-srbije-rs.rs,putevi-srbije.rs,RS,Putevi Srbije,omitted-dot
11
+ putevi-srbije-info.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
12
+ putevi-srbije-payment.rs,putevi-srbije.rs,RS,Putevi Srbije,added-word
13
+ mup-gov.rs,mup.gov.rs,RS,MUP Srbije,omitted-dot
14
+ mup.gov.net,mup.gov.rs,RS,MUP Srbije,wrong-tld
15
+ mup.gov.org,mup.gov.rs,RS,MUP Srbije,wrong-tld
16
+ mup.gov.online,mup.gov.rs,RS,MUP Srbije,wrong-tld
17
+ mup-gov.online,mup.gov.rs,RS,MUP Srbije,wrong-tld
18
+ mup.rs.com,mup.gov.rs,RS,MUP Srbije,wrong-tld
19
+ mupp.gov.rs,mup.gov.rs,RS,MUP Srbije,repetition
20
+ muup.gov.rs,mup.gov.rs,RS,MUP Srbije,repetition
21
+ mup-login.gov.rs,mup.gov.rs,RS,MUP Srbije,added-word
22
+ mup-verify.gov.rs,mup.gov.rs,RS,MUP Srbije,added-word
23
+ euprava.gov.online,euprava.gov.rs,RS,eUprava Srbija,wrong-tld
24
+ euprava-gov.rs,euprava.gov.rs,RS,eUprava Srbija,omitted-dot
25
+ euprava-login.rs,euprava.gov.rs,RS,eUprava Srbija,added-word
26
+ e-uprava.rs,euprava.gov.rs,RS,eUprava Srbija,omitted-dot
27
+ euprva.rs,euprava.gov.rs,RS,eUprava Srbija,substitution
28
+ euprava-secure.rs,euprava.gov.rs,RS,eUprava Srbija,added-word
29
+ poreskauprava.gov.online,poreskauprava.gov.rs,RS,Poreska uprava Srbija,wrong-tld
30
+ poreskauprava-gov.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,omitted-dot
31
+ poreskauprava-login.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,added-word
32
+ porezna.rs,poreskauprava.gov.rs,RS,Poreska uprava Srbija,substitution
33
+ rzs.gov.online,rzs.gov.rs,RS,RZS Srbija,wrong-tld
34
+ rzs-gov.rs,rzs.gov.rs,RS,RZS Srbija,omitted-dot
35
+ rzs-login.rs,rzs.gov.rs,RS,RZS Srbija,added-word
36
+ rzss.rs,rzs.gov.rs,RS,RZS Srbija,repetition
37
+ pio.rs,pio.rs,RS,PIO Fond,wrong-tld
38
+ piofond.rs,pio.rs,RS,PIO Fond,substitution
39
+ pio-login.rs,pio.rs,RS,PIO Fond,added-word
40
+ posta.rs.com,posta.rs,RS,Pošta Srbije,wrong-tld
41
+ posta.online,posta.rs,RS,Pošta Srbije,wrong-tld
42
+ posta-login.rs,posta.rs,RS,Pošta Srbije,added-word
43
+ posta-srbije.rs,posta.rs,RS,Pošta Srbije,omitted-dot
44
+ postexpress.rs.com,posta.rs,RS,Post Express,wrong-tld
45
+ dexpress.rs.com,dexpress.rs,RS,DExpress,wrong-tld
46
+ dexpress-login.rs,dexpress.rs,RS,DExpress,added-word
47
+ dexpress-tracking.rs,dexpress.rs,RS,DExpress,added-word
48
+ cityexpress.rs.com,cityexpress.rs,RS,City Express,wrong-tld
49
+ cityexpress-login.rs,cityexpress.rs,RS,City Express,added-word
50
+ overseas.rs.com,overseas.rs,RS,Overseas Express,wrong-tld
51
+ eps.rs.com,eps.rs,RS,EPS,wrong-tld
52
+ eps.online,eps.rs,RS,EPS,wrong-tld
53
+ eps-login.rs,eps.rs,RS,EPS,added-word
54
+ eps-bills.rs,eps.rs,RS,EPS,added-word
55
+ srbijagas.rs.com,srbijagas.rs,RS,Srbijagas,wrong-tld
56
+ srbijagas-login.rs,srbijagas.rs,RS,Srbijagas,added-word
57
+ infrazs.rs.com,infrazs.rs,RS,Infrastruktura železnice,wrong-tld
58
+ bancaintesa.rs.com,bancaintesa.rs,RS,Banca Intesa,wrong-tld
59
+ bancaintesa.online,bancaintesa.rs,RS,Banca Intesa,wrong-tld
60
+ bancaintesa-login.rs,bancaintesa.rs,RS,Banca Intesa,added-word
61
+ bancaintesa-verify.rs,bancaintesa.rs,RS,Banca Intesa,added-word
62
+ bancaintesa-secure.rs,bancaintesa.rs,RS,Banca Intesa,added-word
63
+ bancaintesaa.rs,bancaintesa.rs,RS,Banca Intesa,repetition
64
+ bancaintesas.rs,bancaintesa.rs,RS,Banca Intesa,repetition
65
+ banca-intesa.rs,bancaintesa.rs,RS,Banca Intesa,omitted-dot
66
+ raiffeisenbank.rs.com,raiffeisenbank.rs,RS,Raiffeisen Bank,wrong-tld
67
+ raiffeisen.online,raiffeisenbank.rs,RS,Raiffeisen Bank,wrong-tld
68
+ raiffeisen-login.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,added-word
69
+ raiffeisen-verify.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,added-word
70
+ raiffesen.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,substitution
71
+ raiffeisen-bank.rs,raiffeisenbank.rs,RS,Raiffeisen Bank,omitted-dot
72
+ otpbank.rs.com,otpbank.rs,RS,OTP Banka,wrong-tld
73
+ otp.online,otpbank.rs,RS,OTP Banka,wrong-tld
74
+ otp-login.rs,otpbank.rs,RS,OTP Banka,added-word
75
+ otp-verify.rs,otpbank.rs,RS,OTP Banka,added-word
76
+ otpbanka.rs,otpbank.rs,RS,OTP Banka,substitution
77
+ otp-bank.rs,otpbank.rs,RS,OTP Banka,omitted-dot
78
+ unicreditbank.rs.com,unicreditbank.rs,RS,UniCredit Bank,wrong-tld
79
+ unicredit.online,unicreditbank.rs,RS,UniCredit Bank,wrong-tld
80
+ unicredit-login.rs,unicreditbank.rs,RS,UniCredit Bank,added-word
81
+ unicredit-verify.rs,unicreditbank.rs,RS,UniCredit Bank,added-word
82
+ unicredit-bank.rs,unicreditbank.rs,RS,UniCredit Bank,omitted-dot
83
+ aikbanka.rs.com,aikbanka.rs,RS,AIK Banka,wrong-tld
84
+ aikbanka.online,aikbanka.rs,RS,AIK Banka,wrong-tld
85
+ aik-login.rs,aikbanka.rs,RS,AIK Banka,added-word
86
+ aikbanka-login.rs,aikbanka.rs,RS,AIK Banka,added-word
87
+ aik-banka.rs,aikbanka.rs,RS,AIK Banka,omitted-dot
88
+ nlb.rs.com,nlb.rs,RS,NLB Komercijalna banka,wrong-tld
89
+ nlb-login.rs,nlb.rs,RS,NLB Komercijalna banka,added-word
90
+ erstebank.rs.com,erstebank.rs,RS,Erste Bank,wrong-tld
91
+ erste.online,erstebank.rs,RS,Erste Bank,wrong-tld
92
+ erste-login.rs,erstebank.rs,RS,Erste Bank,added-word
93
+ erste-bank.rs,erstebank.rs,RS,Erste Bank,omitted-dot
94
+ mts.rs.com,mts.rs,RS,mts,wrong-tld
95
+ mts.online,mts.rs,RS,mts,wrong-tld
96
+ mts-login.rs,mts.rs,RS,mts,added-word
97
+ mts-bill.rs,mts.rs,RS,mts,added-word
98
+ mts.rs.net,mts.rs,RS,mts,wrong-tld
99
+ yettel.rs.com,yettel.rs,RS,Yettel,wrong-tld
100
+ yettel.online,yettel.rs,RS,Yettel,wrong-tld
101
+ yettel-login.rs,yettel.rs,RS,Yettel,added-word
102
+ yettel-verify.rs,yettel.rs,RS,Yettel,added-word
103
+ a1.rs.com,a1.rs,RS,A1 Srbija,wrong-tld
104
+ a1.online,a1.rs,RS,A1 Srbija,wrong-tld
105
+ a1-login.rs,a1.rs,RS,A1 Srbija,added-word
106
+ sbb.rs.com,sbb.rs,RS,SBB,wrong-tld
107
+ sbb.online,sbb.rs,RS,SBB,wrong-tld
108
+ sbb-login.rs,sbb.rs,RS,SBB,added-word
109
+ sbb-account.rs,sbb.rs,RS,SBB,added-word
110
+ oriontelekom.rs.com,oriontelekom.rs,RS,Orion Telekom,wrong-tld
111
+ orion-login.rs,oriontelekom.rs,RS,Orion Telekom,added-word
112
+ supernova.rs.com,supernova.rs,RS,Supernova,wrong-tld
113
+ kopenikus.rs,kopernikus.rs,RS,Kopernikus,substitution
114
+ beotel.rs.com,beotel.rs,RS,BeotelNet,wrong-tld
115
+ glovoapp.com.online,glovoapp.com,RS,Glovo,wrong-tld
116
+ glovo-login.rs,glovoapp.com,RS,Glovo,added-word
117
+ wolt.com.online,wolt.com,RS,Wolt,wrong-tld
118
+ donesi.rs.com,donesi.rs,RS,Donesi,wrong-tld
119
+ maxi.rs.com,maxi.rs,RS,Maxi,wrong-tld
120
+ maxi.online,maxi.rs,RS,Maxi,wrong-tld
121
+ maxi-login.rs,maxi.rs,RS,Maxi,added-word
122
+ idea.rs.com,idea.rs,RS,Idea,wrong-tld
123
+ univerexport.rs.com,univerexport.rs,RS,Univerexport,wrong-tld
124
+ tempo.rs.com,tempo.rs,RS,Tempo,wrong-tld
125
+ gigatron.rs.com,gigatron.rs,RS,Gigatron,wrong-tld
126
+ gigatron-login.rs,gigatron.rs,RS,Gigatron,added-word
127
+ tehnomanija.rs.com,tehnomanija.rs,RS,Tehnomanija,wrong-tld
128
+ winwin.rs.com,winwin.rs,RS,WinWin,wrong-tld
129
+ lidl.rs.com,lidl.rs,RS,Lidl,wrong-tld
130
+ lidl-online.rs,lidl.rs,RS,Lidl,added-word
131
+ nis.rs.com,nis.rs,RS,NIS Petrol,wrong-tld
132
+ nis-login.rs,nis.rs,RS,NIS Petrol,added-word
133
+ lukoil.rs.com,lukoil.rs,RS,Lukoil,wrong-tld
134
+ omv.rs.com,omv.rs,RS,OMV,wrong-tld
135
+ gazprom.rs.com,gazprom.rs,RS,Gazprom,wrong-tld
136
+ blic.rs.com,blic.rs,RS,Blic,wrong-tld
137
+ blic.online,blic.rs,RS,Blic,wrong-tld
138
+ blic-info.rs,blic.rs,RS,Blic,added-word
139
+ blic-vesti.rs,blic.rs,RS,Blic,added-word
140
+ blicc.rs,blic.rs,RS,Blic,repetition
141
+ kurir.rs.com,kurir.rs,RS,Kurir,wrong-tld
142
+ kurir.online,kurir.rs,RS,Kurir,wrong-tld
143
+ kurir-info.rs,kurir.rs,RS,Kurir,added-word
144
+ kurirr.rs,kurir.rs,RS,Kurir,repetition
145
+ telegraf.rs.com,telegraf.rs,RS,Telegraf,wrong-tld
146
+ telegraf.online,telegraf.rs,RS,Telegraf,wrong-tld
147
+ telegraf-info.rs,telegraf.rs,RS,Telegraf,added-word
148
+ telegraff.rs,telegraf.rs,RS,Telegraf,repetition
149
+ novosti.rs.com,novosti.rs,RS,Novosti,wrong-tld
150
+ novosti.online,novosti.rs,RS,Novosti,wrong-tld
151
+ novost.rs,novosti.rs,RS,Novosti,substitution
152
+ politika.rs.com,politika.rs,RS,Politika,wrong-tld
153
+ politika.online,politika.rs,RS,Politika,wrong-tld
154
+ politka.rs,politika.rs,RS,Politika,substitution
155
+ b92.rs.com,b92.rs,RS,B92,wrong-tld
156
+ b92.online,b92.rs,RS,B92,wrong-tld
157
+ b922.rs,b92.rs,RS,B92,repetition
158
+ rts.rs.com,rts.rs,RS,RTS,wrong-tld
159
+ rts.online,rts.rs,RS,RTS,wrong-tld
160
+ rtts.rs,rts.rs,RS,RTS,repetition
161
+ n1.rs.com,n1.rs,RS,N1,wrong-tld
162
+ n1-info.rs,n1.rs,RS,N1,added-word
163
+ kupujemprodajem.rs.com,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
164
+ kupujemprodajem.online,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
165
+ kp.rs.com,kupujemprodajem.rs,RS,KupujemProdajem,wrong-tld
166
+ kupujemprodajem-login.rs,kupujemprodajem.rs,RS,KupujemProdajem,added-word
167
+ eporezi.gov.online,eporezi.gov.rs,RS,ePorezi,wrong-tld
168
+ eporezi-login.rs,eporezi.gov.rs,RS,ePorezi,added-word
169
+ beg.aero.online,beg.aero,RS,Beogradski aerodrom,wrong-tld
170
+ cert.rs.com,cert.rs,RS,CERT Srbije,wrong-tld
171
+ mup.gov.online,mup.gov.hr,HR,MUP Hrvatske,wrong-tld
172
+ mup-gov.hr,mup.gov.hr,HR,MUP Hrvatske,omitted-dot
173
+ mup-login.hr,mup.gov.hr,HR,MUP Hrvatske,added-word
174
+ mup.hr.com,mup.gov.hr,HR,MUP Hrvatske,wrong-tld
175
+ gov-hr.online,gov.hr,HR,e-Građani Hrvatska,wrong-tld
176
+ gov-hr.login,gov.hr,HR,e-Građani Hrvatska,added-word
177
+ e-gradani.online,gov.hr,HR,e-Građani Hrvatska,wrong-tld
178
+ e-gradani-login.hr,gov.hr,HR,e-Građani Hrvatska,added-word
179
+ egradani.hr.com,gov.hr,HR,e-Građani Hrvatska,wrong-tld
180
+ porezna-uprava.online,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,wrong-tld
181
+ porezna-uprava-login.hr,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,added-word
182
+ porezna.hr.com,porezna-uprava.gov.hr,HR,Porezna uprava Hrvatska,wrong-tld
183
+ carnet.hr.com,carnet.hr,HR,CARNET,wrong-tld
184
+ posta.hr.com,posta.hr,HR,Hrvatska pošta,wrong-tld
185
+ posta.online,posta.hr,HR,Hrvatska pošta,wrong-tld
186
+ posta-login.hr,posta.hr,HR,Hrvatska pošta,added-word
187
+ posta-verify.hr,posta.hr,HR,Hrvatska pošta,added-word
188
+ hrvatska-posta.online,posta.hr,HR,Hrvatska pošta,wrong-tld
189
+ hrvatska-posta-login.hr,posta.hr,HR,Hrvatska pošta,added-word
190
+ hzpp.hr.com,hzpp.hr,HR,HŽ,wrong-tld
191
+ hc.hr.com,hc.hr,HR,Hrvatske ceste,wrong-tld
192
+ hep.hr.com,hep.hr,HR,HEP,wrong-tld
193
+ hep-login.hr,hep.hr,HR,HEP,added-word
194
+ zaba.hr.com,zaba.hr,HR,Zagrebačka banka,wrong-tld
195
+ zaba.online,zaba.hr,HR,Zagrebačka banka,wrong-tld
196
+ zaba-login.hr,zaba.hr,HR,Zagrebačka banka,added-word
197
+ zabaa.hr,zaba.hr,HR,Zagrebačka banka,repetition
198
+ zagrebacka-banka.online,zaba.hr,HR,Zagrebačka banka,wrong-tld
199
+ zagrebacka-banka-login.hr,zaba.hr,HR,Zagrebačka banka,added-word
200
+ pbz.hr.com,pbz.hr,HR,PBZ,wrong-tld
201
+ pbz.online,pbz.hr,HR,PBZ,wrong-tld
202
+ pbz-login.hr,pbz.hr,HR,PBZ,added-word
203
+ pbzz.hr,pbz.hr,HR,PBZ,repetition
204
+ rba.hr.com,rba.hr,HR,RBA,wrong-tld
205
+ rba.online,rba.hr,HR,RBA,wrong-tld
206
+ rba-login.hr,rba.hr,HR,RBA,added-word
207
+ erstebank.hr.com,erstebank.hr,HR,Erste Bank,wrong-tld
208
+ erste.online,erstebank.hr,HR,Erste Bank,wrong-tld
209
+ erste-login.hr,erstebank.hr,HR,Erste Bank,added-word
210
+ erster.hr,erstebank.hr,HR,Erste Bank,repetition
211
+ addiko.hr.com,addiko.hr,HR,Addiko Bank,wrong-tld
212
+ addiko.online,addiko.hr,HR,Addiko Bank,wrong-tld
213
+ addiko-login.hr,addiko.hr,HR,Addiko Bank,added-word
214
+ otpbank.hr.com,otpbank.hr,HR,OTP Banka Hrvatska,wrong-tld
215
+ ht.hr.com,ht.hr,HR,Hrvatski Telekom,wrong-tld
216
+ ht.online,ht.hr,HR,Hrvatski Telekom,wrong-tld
217
+ ht-login.hr,ht.hr,HR,Hrvatski Telekom,added-word
218
+ a1.hr.com,a1.hr,HR,A1 Hrvatska,wrong-tld
219
+ a1.online,a1.hr,HR,A1 Hrvatska,wrong-tld
220
+ a1-login.hr,a1.hr,HR,A1 Hrvatska,added-word
221
+ telemach.hr.com,telemach.hr,HR,Telemach Hrvatska,wrong-tld
222
+ telemach-login.hr,telemach.hr,HR,Telemach Hrvatska,added-word
223
+ optima-telekom.hr.com,optima-telekom.hr,HR,Optima Telekom,wrong-tld
224
+ iskon.hr.com,iskon.hr,HR,Iskon,wrong-tld
225
+ bnet.hr.com,b.net.hr,HR,B.net,wrong-tld
226
+ amis.hr.com,amis.hr,HR,Amis,wrong-tld
227
+ overseas.hr.com,overseas.hr,HR,Overseas Express Hrvatska,wrong-tld
228
+ glovo.com.online,glovo.com,HR,Glovo Hrvatska,wrong-tld
229
+ wolt.com.online,wolt.com,HR,Wolt Hrvatska,wrong-tld
230
+ pauza.hr.com,pauza.hr,HR,Pauza,wrong-tld
231
+ konzum.hr.com,konzum.hr,HR,Konzum,wrong-tld
232
+ konzum.online,konzum.hr,HR,Konzum,wrong-tld
233
+ konzum-login.hr,konzum.hr,HR,Konzum,added-word
234
+ lidl.hr.com,lidl.hr,HR,Lidl Hrvatska,wrong-tld
235
+ kaufland.hr.com,kaufland.hr,HR,Kaufland Hrvatska,wrong-tld
236
+ plodine.hr.com,plodine.hr,HR,Plodine,wrong-tld
237
+ tommy.hr.com,tommy.hr,HR,Tommy,wrong-tld
238
+ elipso.hr.com,elipso.hr,HR,Elipso,wrong-tld
239
+ ina.hr.com,ina.hr,HR,INA,wrong-tld
240
+ ina-login.hr,ina.hr,HR,INA,added-word
241
+ tifon.hr.com,tifon.hr,HR,Tifon,wrong-tld
242
+ crodux.hr.com,crodux.hr,HR,Crodux,wrong-tld
243
+ index.hr.com,index.hr,HR,Index,wrong-tld
244
+ index.online,index.hr,HR,Index,wrong-tld
245
+ index-info.hr,index.hr,HR,Index,added-word
246
+ indeks.hr,index.hr,HR,Index,substitution
247
+ jutarnji.hr.com,jutarnji.hr,HR,Jutarnji list,wrong-tld
248
+ jutarnji.online,jutarnji.hr,HR,Jutarnji list,wrong-tld
249
+ jutarnji-info.hr,jutarnji.hr,HR,Jutarnji list,added-word
250
+ jutarnjii.hr,jutarnji.hr,HR,Jutarnji list,repetition
251
+ 24sata.hr.com,24sata.hr,HR,24sata,wrong-tld
252
+ 24sata.online,24sata.hr,HR,24sata,wrong-tld
253
+ 24sat.hr,24sata.hr,HR,24sata,substitution
254
+ vecernji.hr.com,vecernji.hr,HR,Večernji list,wrong-tld
255
+ vecernji.online,vecernji.hr,HR,Večernji list,wrong-tld
256
+ vecernjii.hr,vecernji.hr,HR,Večernji list,repetition
257
+ dnevnik.hr.com,dnevnik.hr,HR,Dnevnik,wrong-tld
258
+ dnevnik.online,dnevnik.hr,HR,Dnevnik,wrong-tld
259
+ dnevnk.hr,dnevnik.hr,HR,Dnevnik,substitution
260
+ poslovni.hr.com,poslovni.hr,HR,Poslovni dnevnik,wrong-tld
261
+ n1.hr.com,n1.hr,HR,N1 Hrvatska,wrong-tld
262
+ njuskalo.hr.com,njuskalo.hr,HR,Njuskalo,wrong-tld
263
+ njuskalo-login.hr,njuskalo.hr,HR,Njuskalo,added-word
264
+ ekupi.hr.com,ekupi.hr,HR,eKupi,wrong-tld
265
+ lutrija.hr.com,lutrija.hr,HR,Hrvatska lutrija,wrong-tld
266
+ iddeea.online,iddeea.gov.ba,BA,IDDEEA BiH,wrong-tld
267
+ iddeea-security.ba,iddeea.gov.ba,BA,IDDEEA BiH,added-word
268
+ iddeea-login.ba,iddeea.gov.ba,BA,IDDEEA BiH,added-word
269
+ iddeea.ba.com,iddeea.gov.ba,BA,IDDEEA BiH,wrong-tld
270
+ mup-gov.ba,mup.gov.ba,BA,MUP BiH,omitted-dot
271
+ mup.gov.online,mup.gov.ba,BA,MUP BiH,wrong-tld
272
+ mup-login.ba,mup.gov.ba,BA,MUP BiH,added-word
273
+ mup.ba.com,mup.gov.ba,BA,MUP BiH,wrong-tld
274
+ mupp.gov.ba,mup.gov.ba,BA,MUP BiH,repetition
275
+ epolicija.ba,mup.gov.ba,BA,e-Policija BiH,added-word
276
+ cbbh.ba.com,cbbh.ba,BA,Centralna banka BiH,wrong-tld
277
+ posta.ba.com,posta.ba,BA,BH Pošta,wrong-tld
278
+ posta.online,posta.ba,BA,BH Pošta,wrong-tld
279
+ posta-login.ba,posta.ba,RA,BH Pošta,added-word
280
+ postesrpske.com.online,postesrpske.com,BA,Pošte Srpske,wrong-tld
281
+ postesrpske-login.com,postesrpske.com,BA,Pošte Srpske,added-word
282
+ unicreditbank.ba.com,unicreditbank.ba,BA,UniCredit Bank BiH,wrong-tld
283
+ unicredit.online,unicreditbank.ba,BA,UniCredit Bank BiH,wrong-tld
284
+ unicredit-login.ba,unicreditbank.ba,BA,UniCredit Bank BiH,added-word
285
+ unicredit-bank.ba,unicreditbank.ba,BA,UniCredit Bank BiH,omitted-dot
286
+ raiffeisenbank.ba.com,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,wrong-tld
287
+ raiffeisen.online,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,wrong-tld
288
+ raiffeisen-login.ba,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,added-word
289
+ raiffesen.ba,raiffeisenbank.ba,BA,Raiffeisen Bank BiH,substitution
290
+ addiko.ba.com,addiko.ba,BA,Addiko Bank BiH,wrong-tld
291
+ addiko.online,addiko.ba,BA,Addiko Bank BiH,wrong-tld
292
+ addiko-login.ba,addiko.ba,BA,Addiko Bank BiH,added-word
293
+ sparkasse.ba.com,sparkasse.ba,BA,Sparkasse BiH,wrong-tld
294
+ sparkasse-login.ba,sparkasse.ba,BA,Sparkasse BiH,added-word
295
+ nlb.ba.com,nlb.ba,BA,NLB Banka BiH,wrong-tld
296
+ nlb-login.ba,nlb.ba,BA,NLB Banka BiH,added-word
297
+ asabanka.ba.com,asabanka.ba,BA,ASA Banka,wrong-tld
298
+ asabanka-login.ba,asabanka.ba,BA,ASA Banka,added-word
299
+ bhtelecom.ba.com,bhtelecom.ba,BA,BH Telecom,wrong-tld
300
+ bhtelecom.online,bhtelecom.ba,BA,BH Telecom,wrong-tld
301
+ bhtelecom-login.ba,bhtelecom.ba,BA,BH Telecom,added-word
302
+ eronet.ba.com,eronet.ba,BA,HT Eronet,wrong-tld
303
+ eronet-login.ba,eronet.ba,BA,HT Eronet,added-word
304
+ mtel.ba.com,mtel.ba,BA,m:tel BiH,wrong-tld
305
+ mtel.online,mtel.ba,BA,m:tel BiH,wrong-tld
306
+ mtel-login.ba,mtel.ba,BA,m:tel BiH,added-word
307
+ haloo.ba.com,haloo.ba,BA,haloo,wrong-tld
308
+ telemach.ba.com,telemach.ba,BA,Telemach BiH,wrong-tld
309
+ telemach-login.ba,telemach.ba,BA,Telemach BiH,added-word
310
+ logosoft.ba.com,logosoft.ba,BA,Logosoft,wrong-tld
311
+ blicnet.ba.com,blic.net,BA,blic.net,wrong-tld
312
+ euroexpress.ba.com,euroexpress.ba,BA,Euroexpress,wrong-tld
313
+ overseas.ba.com,overseas.ba,BA,Overseas Express BiH,wrong-tld
314
+ glovo.com.online,glovo.com,BA,Glovo BiH,wrong-tld
315
+ wolt.com.online,wolt.com,BA,Wolt BiH,wrong-tld
316
+ bingo.ba.com,bingo.ba,BA,Bingo,wrong-tld
317
+ bingo.online,bingo.ba,BA,Bingo,wrong-tld
318
+ konzum.ba.com,konzum.ba,BA,Konzum BiH,wrong-tld
319
+ interex.ba.com,interex.ba,BA,Interex,wrong-tld
320
+ robot.ba.com,robot.ba,BA,Robot,wrong-tld
321
+ mercator.ba.com,mercator.ba,BA,Mercator BiH,wrong-tld
322
+ hifa.ba.com,hifa.ba,BA,Hifa,wrong-tld
323
+ nis.ba.com,nis.ba,BA,NIS Petrol BiH,wrong-tld
324
+ petrol.ba.com,petrol.ba,BA,Petrol BiH,wrong-tld
325
+ omv.ba.com,omv.ba,BA,OMV BiH,wrong-tld
326
+ avaz.ba.com,avaz.ba,BA,Avaz,wrong-tld
327
+ avaz.online,avaz.ba,BA,Avaz,wrong-tld
328
+ avaz-info.ba,avaz.ba,BA,Avaz,added-word
329
+ avazz.ba,avaz.ba,BA,Avaz,repetition
330
+ klix.ba.com,klix.ba,BA,Klix,wrong-tld
331
+ klix.online,klix.ba,BA,Klix,wrong-tld
332
+ klix-info.ba,klix.ba,BA,Klix,added-word
333
+ klixx.ba,klix.ba,BA,Klix,repetition
334
+ faktor.ba.com,faktor.ba,BA,Faktor,wrong-tld
335
+ faktor.online,faktor.ba,BA,Faktor,wrong-tld
336
+ depo.ba.com,depo.ba,BA,Depo,wrong-tld
337
+ depo.online,depo.ba,BA,Depo,wrong-tld
338
+ nezavisne.com.online,nezavisne.com,BA,Nezavisne novine,wrong-tld
339
+ srpskainfo.com.online,srpskainfo.com,BA,Srpskainfo,wrong-tld
340
+ olx.ba.com,olx.ba,BA,OLX BiH,wrong-tld
341
+ olx.online,olx.ba,BA,OLX BiH,wrong-tld
342
+ olx-login.ba,olx.ba,BA,OLX BiH,added-word
343
+ pik.ba.com,pik.ba,BA,Pik,wrong-tld
344
+ euprava.gov.online,euprava.gov.ba,BA,eUprava BiH,wrong-tld
345
+ euprava-gov.ba,euprava.gov.ba,BA,eUprava BiH,omitted-dot
346
+ euprava-login.ba,euprava.gov.ba,BA,eUprava BiH,added-word
347
+ pibh.gov.online,pibh.gov.ba,BA,Porezna uprava FBIH,wrong-tld
348
+ pibh-login.ba,pibh.gov.ba,BA,Porezna uprava FBIH,added-word
349
+ postacg.online,postacg.me,ME,Pošta Crne Gore,wrong-tld
350
+ postacg-login.me,postacg.me,ME,Pošta Crne Gore,added-word
351
+ postacg-tracking.me,postacg.me,ME,Pošta Crne Gore,added-word
352
+ posta-cg.me,postacg.me,ME,Pošta Crne Gore,omitted-dot
353
+ postacg.me.com,postacg.me,ME,Pošta Crne Gore,wrong-tld
354
+ cgposta.me,postacg.me,ME,Pošta Crne Gore,substitution
355
+ mup.gov.online,gov.me,ME,MUP Crne Gore,wrong-tld
356
+ mup-gov.me,gov.me,ME,MUP Crne Gore,omitted-dot
357
+ poreska-uprava.online,poreska-uprava.me,ME,Poreska uprava Crna Gora,wrong-tld
358
+ poreska-uprava-login.me,poreska-uprava.me,ME,Poreska uprava Crna Gora,added-word
359
+ euprava.gov.online,euprava.gov.me,ME,eUprava Crna Gora,wrong-tld
360
+ euprava-gov.me,euprava.gov.me,ME,eUprava Crna Gora,omitted-dot
361
+ euprava-login.me,euprava.gov.me,ME,eUprava Crna Gora,added-word
362
+ cbcg.me.com,cbcg.me,ME,Centralna banka Crne Gore,wrong-tld
363
+ zpcg.me.com,zpcg.me,ME,ŽPCG,wrong-tld
364
+ monteput.me.com,monteput.me,ME,Monteput,wrong-tld
365
+ prvabanka.me.com,prvabanka.me,ME,Prva banka Crne Gore,wrong-tld
366
+ prvabanka.online,prvabanka.me,ME,Prva banka Crne Gore,wrong-tld
367
+ prvabanka-login.me,prvabanka.me,ME,Prva banka Crne Gore,added-word
368
+ prva-banka.me,prvabanka.me,ME,Prva banka Crne Gore,omitted-dot
369
+ ckb.me.com,ckb.me,ME,CKB,wrong-tld
370
+ ckb.online,ckb.me,ME,CKB,wrong-tld
371
+ ckb-login.me,ckb.me,ME,CKB,added-word
372
+ ckb-banka.me,ckb.me,ME,CKB,omitted-dot
373
+ erstebank.me.com,erstebank.me,ME,Erste Bank Crna Gora,wrong-tld
374
+ erste.online,erstebank.me,ME,Erste Bank Crna Gora,wrong-tld
375
+ erste-login.me,erstebank.me,ME,Erste Bank Crna Gora,added-word
376
+ hipotekarnabanka.me.com,hipotekarnabanka.me,ME,Hipotekarna banka,wrong-tld
377
+ hipotekarna-login.me,hipotekarnabanka.me,ME,Hipotekarna banka,added-word
378
+ nlb.me.com,nlb.me,ME,NLB Banka Crna Gora,wrong-tld
379
+ addiko.me.com,addiko.me,ME,Addiko Bank Crna Gora,wrong-tld
380
+ t-mobile.me.com,t-mobile.me,ME,Crnogorski Telekom,wrong-tld
381
+ t-mobile-login.me,t-mobile.me,ME,Crnogorski Telekom,added-word
382
+ mtel.me.com,mtel.me,ME,Mtel Crna Gora,wrong-tld
383
+ mtel.online,mtel.me,ME,Mtel Crna Gora,wrong-tld
384
+ mtel-login.me,mtel.me,ME,Mtel Crna Gora,added-word
385
+ one.me.com,one.me,ME,One Crna Gora,wrong-tld
386
+ one-login.me,one.me,ME,One Crna Gora,added-word
387
+ ipmont.me.com,ipmont.me,ME,IPMont,wrong-tld
388
+ dexpress.me.com,dexpress.me,ME,DExpress Crna Gora,wrong-tld
389
+ postexpress.me.com,postexpress.me,ME,Post Express Crna Gora,wrong-tld
390
+ expressone.me.com,expressone.me,ME,Express One,wrong-tld
391
+ glovo.com.online,glovo.com,ME,Glovo Crna Gora,wrong-tld
392
+ wolt.com.online,wolt.com,ME,Wolt Crna Gora,wrong-tld
393
+ voli.me.com,voli.me,ME,Voli,wrong-tld
394
+ voli.online,voli.me,ME,Voli,wrong-tld
395
+ voli-login.me,voli.me,ME,Voli,added-word
396
+ aroma.me.com,aroma.me,ME,Aroma,wrong-tld
397
+ idea.me.com,idea.me,ME,Idea Crna Gora,wrong-tld
398
+ maxi.me.com,maxi.me,ME,Maxi Crna Gora,wrong-tld
399
+ hram.me.com,hram.me,ME,Hram,wrong-tld
400
+ kik.me.com,kik.me,ME,Kik,wrong-tld
401
+ technomax.me.com,technomax.me,ME,Technomax,wrong-tld
402
+ nis.me.com,nis.me,ME,NIS Petrol Crna Gora,wrong-tld
403
+ petrol.me.com,petrol.me,ME,Petrol Crna Gora,wrong-tld
404
+ omv.me.com,omv.me,ME,OMV Crna Gora,wrong-tld
405
+ lukoil.me.com,lukoil.me,ME,Lukoil Crna Gora,wrong-tld
406
+ gomex.me.com,gomex.me,ME,Gomex,wrong-tld
407
+ rtcg.me.com,rtcg.me,ME,RTCG,wrong-tld
408
+ rtcg.online,rtcg.me,ME,RTCG,wrong-tld
409
+ rtcg-info.me,rtcg.me,ME,RTCG,added-word
410
+ rtcgg.me,rtcg.me,ME,RTCG,repetition
411
+ vijesti.me.com,vijesti.me,ME,Vijesti,wrong-tld
412
+ vijesti.online,vijesti.me,ME,Vijesti,wrong-tld
413
+ vijesti-info.me,vijesti.me,ME,Vijesti,added-word
414
+ vjesti.me,vijesti.me,ME,Vijesti,substitution
415
+ pobjeda.me.com,pobjeda.me,ME,Pobjeda,wrong-tld
416
+ pobjeda.online,pobjeda.me,ME,Pobjeda,wrong-tld
417
+ pobeda.me,pobjeda.me,ME,Pobjeda,substitution
418
+ dan.co.me.online,dan.co.me,ME,Dan,wrong-tld
419
+ antenam.net.online,antenam.net,ME,Antena M,wrong-tld
420
+ cdm.me.com,cdm.me,ME,CdM,wrong-tld
421
+ monstat.org.online,monstat.org,ME,MONSTAT,wrong-tld
422
+ cedem.me.com,cedem.me,ME,CEDEM,wrong-tld