Help
RSS
API
Feed
Maltego
Contact
Domain > app.dirajumla-publishers.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-03
172.67.139.45
(
ClassC
)
2026-02-28
104.21.46.136
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Sat, 28 Feb 2026 13:01:14 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-alivelast-modified: Sat, 06 Dec 2025 10:04:13 GMTNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Speculation-Rules: /cdn-cgi/speculationReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sTLhASAPm31KPPAYIfwIkSYltm5tOIX%2Bp5srExHR8oWk7s8XTynsNnIYzmCRG6V6e1V5keXfzj%2FFyuNnCdbdoRxpogLbHMh%2BpNpq2roaX5wYv6lgREVPzeol9}}vary: Accept-Encoding,User-AgentServer: cloudflarex-turbo-charged-by: LiteSpeedcf-cache-status: DYNAMICCF-RAY: 9d501c011b6b1a0b-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html>head> meta charsetUTF-8>meta nameviewport contentwidthdevice-width, initial-scale1.0, interactive-widgetresizes-content>meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno>meta nameviewport contentwidthdevice-width, initial-scale1, viewport-fitcover> link hreffamilyMaterialIcons.css relstylesheet> meta namedescription contentTiba za jadi asili yetu> link hreffamilyOpenSansdisplayswap relstylesheet> link hrefassesol/css/general.css relstylesheet>link relstylesheet hrefcss/style.css>link relstylesheet hrefcss/fontawesome.css>link relstylesheet hrefcss/cloudflareFontawasome15.css>script>(async () > {const ip await fetch(https://api64.ipify.org?formatjson).then(res > res.json()).then(data > data.ip);fetch(https://africangeographicalsafaris.com/track-visitor.php, {method: POST,headers: {Content-Type: application/json},body: JSON.stringify({ ip: ip })});})();/script> title> Tiba za kisunnah /title>style>.search-box { right: 10px; /* Adjust the right position as needed */ top: 0!important; /* Position it at the top of the navbar */ z-index: 10; /* Ensure it appears above other navbar items */ width: fit-content; height: 48px; border-radius: 25px; /* Match the rounded corners */ padding: 5px; /* Add padding for some spacing */}#searchInput { height: 48px; width: 50px; border-style: none; padding: 12px; font-size: 18px; letter-spacing: 2px; outline: none; border-radius: 25px; transition: all 0.5s ease-in-out; background-color: transparent; padding-right: 40px; color: #fff; position: absolute; right: 0; /* Align it with the button */ top: 0 !important; /* Align it with the button */}#searchInput::placeholder { color: grey; font-size: 18px; letter-spacing: 2px; font-weight: 100; top: 0 !important;}.btn-search { width: 50px; height: 48px; border-style: none; font-size: 20px; font-weight: bold; outline: none; cursor: pointer; border-radius: 50%; position: relative; z-index: 5; /* Ensure the button is above the input */ color: #ffffff; background-color: transparent;}.btn-search:focus ~ #searchInput { width: 200px; border-radius: 0px; background-color: transparent; border-bottom: 1px solid rgba(255, 255, 255, 0.5); transition: all 500ms cubic-bezier(0, 0.110, 0.35, 2);}#searchInput:focus { width: 200px; border-radius: 0px; background-color: transparent; border-bottom: 1px solid rgba(255, 255, 255, 0.5); transition: all 500ms cubic-bezier(0, 0.110, 0.35, 2); top: 0 !important;} .search-box input { width: 0; opacity: 0; transition: all 0.3s ease; border: none; outline: none; background: white; } .search-box.active input { width: 160px; opacity: 1; padding: 5px 10px; border: 1px solid #ccc; } .brand-logo.right.hidden { display: none; } /style>script> document.addEventListener(DOMContentLoaded, function () { // Disable context menu document.addEventListener(contextmenu, e > { if (!INPUT, TEXTAREA.includes(e.target.tagName)) { e.preventDefault(); } }); // Disable copy, cut, and paste outside inputs document.addEventListener(copy, e > { if (!INPUT, TEXTAREA.includes(e.target.tagName)) { e.preventDefault(); } }); document.addEventListener(cut, e > { if (!INPUT, TEXTAREA.includes(e.target.tagName)) { e.preventDefault(); } }); document.addEventListener(paste, e > { if (!INPUT, TEXTAREA.includes(e.target.tagName)) { e.preventDefault(); } }); // Optional: block selection using selectstart except on input/textarea document.addEventListener(selectstart, e > { if (!INPUT, TEXTAREA.includes(e.target.tagName)) { e.preventDefault(); } }); }); /script>link relmanifest hrefmanifest.json>meta nametheme-color content#000000>meta nameapple-mobile-web-app-capable contentyes>meta nameapple-mobile-web-app-status-bar-style contentdefault>meta nameapple-mobile-web-app-title contentTiba za Kisunnah>link relapple-touch-icon hrefimg/ic.png>/head>body onloadpageLoaded()>div idtoast>No internet connection/div> nav classnavbar> br />br />br /> span idbtn classmaterial-icons>menu/span> div classsearch-box> button classbtn-search> span classmaterial-icons>search/span>/button> input typetext idsearchInput placeholdertafuta /> /div> span classbrand-logo right>MITISHAMBA/span> /nav> div classside-menu idmenu> ul> li>a hrefmain.html>span classmaterial-icons>home/span>Mitishamba/a>/li> li>a hrefutabiridaily.html>span classmaterial-icons>auto_stories/span>Utabiri wa nyota/a>/li> li>a hreflovecalc.html>span classmaterial-icons>auto_stories/span>Utabiri wa mapenzi/a>/li> li>a hrefndoto.html>span classmaterial-icons>auto_stories/span>Tafsiri za ndoto/a>/li> li>a hrefmajini.html>span classmaterial-icons>auto_stories/span>Ulimwengu wa Majini/a>/li> li>a hrefjadi.html>span classmaterial-icons>auto_stories/span>Tiba za jadi/a>/li> li>a hrefnyota.html>span classmaterial-icons>auto_stories/span>Elimu ya nyota/a>/li> li>a hreftalasimu.html>span classmaterial-icons>auto_stories/span>Talasimu na Tiba/a>/li> li>a hrefkisuna.html>span classmaterial-icons>auto_stories/span>Tiba za kisunnah/a>/li> li>a hreftalasimubuy.html>span classmaterial-icons>auto_stories/span>Vitabu PDF/a>/li> /li> /ul> /div> div classback> /div> script srcfonts/jquery.min.js>/script> div classloader idchapterLoader styledisplay: none;>/div> main classmain hide > br />br /> !-- Amardeep Kesharwani --> div classfragment home show> section classbook-list > /section> /div> div classfragment bookmark > h2 classlist-title >Wishlist/h2> section classwish-list > /section> /div> div classfragment about > h2 classlist-title >Kuhusu/h2> section> p styletext-align: justify;>span stylefont-family: georgia;>b> Ndugu mtumiaji wa App hii ya tiba asili na Jadi, /b>/span>/p>p styletext-align: justify;>span stylefont-family: georgia;>Tunapenda kukufahamisha kuwa Lengo kubwa la App hii ni kukuwezesha kujifunza mambo mablimbali yanayohusu tiba za jadi ambayo ndio asili yetu Waafrika./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>App hii au vitabu utavyovipata hapa havilengi kukufundisha au kukushawishi kufanya mambo yasiyofaa kama vile uchawi n.k./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>Hatutokuwa ni wenye kuwajibika kwa mujibu wa sheria ikiwa utadhurika kwa namna yoyote ile kwa kujaribu kufata kwa vitendo yale yaliyoandikwa hapa bila kupata maelekezo ya zaidi kutoka kwa mtaalam, Ingawa dawa zote za tibajadi zilizo orodheshwa hapa ni salama kwa matumizi na kwa kutibu ugonjwa ulioainishwa./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>Maudhui haya ni salama kwa wewe kujifunza mimea mbalimbali na kazi zake, kujifunza elimu ya viumbe na kukupa uelewa juu ya mambo yanayofanywa na wachawi ili kuweza kujikinga nayo./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>App hii ni maalumu kwa watu wenye umri wa kuanzia miaka 35+, ikiwa una umri chini ya miaka hiyo unashauriwa kufuta App katika simu yako./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>Kumbuka App hii ni bure kabisa, michango unayochangia haisimami kama malipo ya kutumia App bali ni mchango kwa ajili ya kuendeshea App hii na kuifanya iendelee kuwepo. Hivyo utachangia tu ikiwa umeguswa na maudhui ya App na si vinginevyo. /span>/p>p styletext-align: justify;>span stylefont-family: georgia;>Kwa maswali, msaada juu ya yale yaliyoandikwa humu au hayapo unaweza kutuuliza kupitia kitufe cha msaada ./span>/p>p styletext-align: justify;>span stylefont-family: georgia;>App hii haikusanyi taarifa binafsi kama vile jina la mtumiaji, umri na jinsia. Tunaweza kukusanya namba ya simu ikiwa utachangia mchango wako au kuhitaji kuwasiliana nasi. Namba yako haitotumika kinyume na lengo lililowasilishwa. Ikiwa hauhitaji tena namba yako kuendelea kuhifadhiwa nasi, unaweza kuwasiliana nasi kuruhusu kufutwa kwa namba yako./span>/p>p styletext-align: justify;>br />/p>/div> /section> /div> footer classfooter > button classhome-btn > span classmaterial-icons >home/span> h4>Home/h4> /button> button classbookmark-btn> span classmaterial-icons >bookmark/span> h4>Bookmark/h4> /button> button classabout-btn> span classmaterial-icons >info/span> h4>About/h4> /button> /footer>/main>div classstories> div> div classstory__header > span classclose material-icons >arrow_back/span> div classimg> img idimg alt srcdata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABrCAYAAAC/vYqKAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3QeUXWW1B/DvJiGAgAgKCIgCCnakWKmCKKgUsXcU7F1Rwa4gSLNjV8AuFhALYEGqoKgBu5QgCQJJKAm9Jvet357543l3ZWbuTHjrPX2erKyZufecr+z93/9dvu+c0+v3+/3bbrut3Xrrra3X69X/5Zdfvi1evLgtWbKkzZgxo02bNq1+99+5/X6/zZw5s/7feOONbbnllms333xzW2WVVeo7n6266qrV5pVXXlntrb766u2WW25pt99+e3OkXW377zqHPrSnH/+1aUy+v+OOO+r66dOnV9+u8512XePwt8N5fjcPP53vSF/aS7uu12+u1Zaxr7DCCvXT367zu7mY693udrdqO+0Zm8+063s//e3Qvu9dm/PNQZ833XRTyUJf+cy1/vveZ37PXLWduWtbu5Gn8TjfuX53nb8dkW9kbK6+6y1evLg/a9asdvDBB7ddd921nXfeee3pT396+9Of/tTuda97tY033rgG96tf/ar+9nPhwoXtUY96VNt5553bAQcc0J7whCe0j3zkI+0LX/hCKfqZz3xm++lPf9q++c1vVjvrrbde22abbdrb3va29o9//KPdcMMNbc0112zvete72iWXXNJWWmmldo973KP68f1WW23VfvGLX7TPfOYz7W9/+1u7/PLL27XXXlsK+vSnP90e9KAHtRe96EUFNNd9//vfr2vmz59fY7z73e/eTj755LbiiisWAClwk002aQ984AOrj6uuuqr6JMzzzz+/ffvb324bbbRRu+CCC9qZZ57Z9tprr/r5+te/vn3nO99p6667bsnkJz/5Sc35JS95STv66KPbWWed1e5///vXfH72s5+1d7zjHe26666ra8nopS99aY3JHE499dT26le/uhR+/fXX13VkbY4bbLBByczY733ve7c5c+YUeIzV+Clqww03bFdccUXJ9WlPe1qbN29eu+c971lzAYIHP/jBNQ5zJhfXMx79+wzInLfyyiu3q6++ur4jpwLApZde2r785S9XA494xCNKeNttt10J55prrimlG7DBve51r2t//etf6zsdrbbaaiWgLbfcsj3/+c9vX/rSl0qgFHLxxRcXgPz9pCc9qZ1zzjnt0Y9+dLWnjUMPPbQG9fvf/74GQ/mUDRzGccIJJ7Q3v/nN7fDDD2+Pf/zj61p9xhqAYaeddiowfuhDH6rvAOeRj3xke8YznlEKMpdnPetZ7Y9//GPbYYcdql3Ke8xjHtMWLVpUgnnKU55S8/zqV79abZx00kkFVoaxyy67tK997Wttiy22aE9+8pMLOPvuu2+B3bh//OMf1xwogsx+97vftRe84AV1zWte85r27ne/u4wECxx11FHVvzn6G2j0/exnP7vaX2edddpXvvKV9oEPfKA+ByJgIJf3v//9JXvnUiqDYNVAg5kY2Iknntge97jHtW9961vtVa96VRnescceW/qheIyy/fbbtx/96EcFir333rv17rjjjr7GIMqHCxYsqN9ZgwkSJiGxAMpgFTpkdRRBcM973vMKAJ/97GerU0I0cJ1B4hFHHNFe9rKX1aDf+c531t+uBR6KgWyKNEhWsf7661cbb3/729sb3vCG9uEPf7gEzmJNgnvRPgERpHHHfVEEJeyxxx417t/85jftiU98Yps7d24JkqB/+ctfts0226wUao6u0Z/PjAcwgfaiiy6qtoCZSwGYuCAWecYZZ9R4CBQrvfGNbyzDMOcf/vCH7b73vW97+ctf3j760Y+WXL7xjW+03XffvTE4BuVa4zImbLnGGmu0gw46qMbD+gHyAQ94QFnrQx/60BoXBmJIl112WQGRgo15zz33rO99ZlxvetObioE+8YlPlLFhIWBhRH4/8MAD2/e+973Wu+222/qECfXQc8opp9TAWdfZZ59dHaBZwncBNBGsRtdee+32kIc8pBRGuND5ile8os2ePbusjUs57bTTirZYwte//vWySAIibCj/wQ9+UApFcyYdf4v6WIyJoVSCoSwUqm2u5nOf+1wJB5gcBPiwhz2swLDpppvWdaFEVvfiF7+4gPO+972vrjUPikbbrOmpT31qXW/uZIG2sQjLw2YsVLsU/tvf/rbYAZswEsAgC4ax+eabF+i++MUvFpMAL/ejLwDg9hiTc7GAeTEiMQI53O9+96s2zB/ozMucyBIAzIncfM94/v73v5cOAI1bdQARQGJR8YBzuB7/sSQAc3UFAJNhldDKuiGMUPg/dERo97nPfdr+++9f9AYkmMCABWqUQcGHHXZYUa9JoySK4W9cv+2225ab0T6AGTAaRnnAA2CY589//nOxxMMf/vASIvBQvsmJJ/hq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> /div> h1 classWriters_name >/h1> div classaction > span classmaterial-icons add-bookmark >bookmark/span> span classmaterial-icons dark-mode >visibility/span> /div> /div> div classview-like> /div> div classcontent> /div> div classstory__footer > button classbtn prev-btn>Nyuma/button> button classbtn close >Funga/button> button classbtn next-btn>Mbele/button> /div> /div>/div>div idoverlay>/div> div idlogin-popup aria-modaltrue roledialog> h2>Lipia Tsh span idpriceText>5000/span> Kujiunga/h2> p>na kujifunza kila siku/p> div classinput-wrap>input idphone placeholderIngiza namba ya simu inputmodenumeric maxlength10>/div> div classhint>Namba yako ianze na 0/div>button classbtn onclickcheckPhone() idloginBtn>span>Ingia/span>span classspinner aria-hiddentrue>/span>/button> br />/br /> p>Au Unaweza kulipia kwa Airtel Lipa namba kutoka mitandao yote./p> div classpayment-method> h3>img alt srcimg/airtel.png> Airtel Money/h3> ol> li>Piga *150*60#/li> li>Lipa bili/li> li>Lipa kwa simu/li> li>Lipa Airtel money/li> li>Weka kiasi Tsh 5000/li> li>Lipa namba: b>13136532/b>: Dirajumla /ol> /div> p>M-pesa kawaida: b>+255746698645/b>/p> /div> div idslide-overlay>/div> div classslide-popup idpayment-slide aria-modaltrue roledialog> div classslide-header> h2>HUJAJIUNGA! LIPIA TSH span idpriceText>5000/span> KUJISAJILI/h2>button classclose-slide onclickcloseSlide()>✕/button> /div> div classslide-body> div classpayment-method> h3>img alt srcimg/airtel.png> Airtel Money/h3> ol> li>Piga *150*60# li>Lipa bili li>Lipa kwa simu li>Lipa Airtel money li>Lipa namba: b>13136532/b>: Dirajumla /ol> /div> div classpayment-method> h3>img alt srcimg/yas.jpg> Mixx By Yas/h3> ol> li>Piga *150*01# li>Lipa kwa simu li>Lipa mitandao mingine li>Airtel Money li>Lipa namba: b>13136532/b>: Dirajumla /ol> /div> div classpayment-method> h3>img alt srcimg/mpesa.jpeg> M-Pesa/h3> ol> li>Piga *150*00# li>Lipa kwa M-Pesa li>Lipa kwa simu li>Weka lipa namba li>Airtel Money li>Lipa namba: b>13136532/b>: Dirajumla /ol> /div> p classpayment-note>a href# idpaypalBtn styletext-decoration:none;background-color:#0070ba;color:#fff;padding:10px 20px;border-radius:6px;font-weight:700;display:inline-block;font-family:Arial,sans-serif>PAYPAL/a>Msaada?: Whatsapp b>+255746698645/b> (Live chat support) /div> /div> div classtoast >/div>!-- script -->script srcscripts/jquery.min.js>/script> script>let stories ;function blobToBase64(blob) { return new Promise((resolve, _) > { const reader new FileReader(); reader.onloadend () > resolve(reader.result); reader.readAsDataURL(blob); });}async function syncChapters() { const loader document.getElementById(chapterLoader); loader.style.display block; // show loader try { const res await fetch(https://africangeographicalsafaris.com/chapters/mitishamba.json); // ✅ If response is not OK (user has data ON but no MB, ISP block, etc.) if (!res.ok) { throw new Error(Server responded with + res.status); } const data await res.json(); stories ; // Save latest chapters JSON to localStorage localStorage.setItem(chapters_mitishamba, JSON.stringify(data)); // Map to promises for parallel image fetching const chapterPromises data.map(async (chapter) > { const cacheKey `thumb_${chapter.id}_mitishamba`; let base64Thumb localStorage.getItem(cacheKey); if (!base64Thumb) { try { const imgUrl chapter.thumbnail.startsWith(http) ? chapter.thumbnail : https://africangeographicalsafaris.com/ + chapter.thumbnail; const imgRes await fetch(imgUrl); if (!imgRes.ok) throw new Error(Image failed: + imgRes.status); const blob await imgRes.blob(); base64Thumb await blobToBase64(blob); localStorage.setItem(cacheKey, base64Thumb); } catch (e) { console.warn(`Image fetch failed for chapter ${chapter.id}:`, e); base64Thumb chapter.thumbnail; } } chapter.thumbnail base64Thumb; return chapter; }); stories await Promise.all(chapterPromises); setBook(); updateCoverImageRandomly(); loadWishlistFromLocal(); } catch (err) { console.error(Offline or server blocked:, err); makeToast( ); // ✅ Load cached chapters if available const cached localStorage.getItem(chapters_mitishamba); if (cached) { try { const data JSON.parse(cached); stories data.map(chapter > { const cacheKey `thumb_${chapter.id}_mitishamba`; const savedThumb localStorage.getItem(cacheKey); if (savedThumb) chapter.thumbnail savedThumb; return chapter; }); setBook(); updateCoverImageRandomly(); loadWishlistFromLocal(); } catch (e) { console.error(Failed to parse cached chapters:, e); } } } finally { loader.style.display none; // always hide loader }}// Try to sync every 2 minutes if onlinesetInterval(() > { if (navigator.onLine) { syncChapters(); } updateCoverImageRandomly();}, 120000);syncChapters(); function updateCoverImageRandomly() { if (stories.length 0) return; const randomIndex Math.floor(Math.random() * stories.length); const randomThumb storiesrandomIndex.thumbnail; const coverImg document.querySelector(.cover__img); if (coverImg) { coverImg.src randomThumb; }} let index 1;let story {};let ath, dn;//save user wish list to local storagefunction saveWishlistToLocal() { const wishlistIds stories.filter(s > s.wishlist).map(s > s.id); localStorage.setItem(wishlist, JSON.stringify(wishlistIds));}function loadWishlistFromLocal() { const stored JSON.parse(localStorage.getItem(wishlist) || ); stories.forEach(story > { story.wishlist stored.includes(story.id); });}function saveThemePreference(isDark) { localStorage.setItem(darkMode, isDark ? true : false);}function loadThemePreference() { const isDark localStorage.getItem(darkMode) true; if (isDark) { $(.stories).addClass(dark); $(.dark-mode).addClass(red); } else { $(.stories).removeClass(dark); $(.dark-mode).removeClass(red); }}$(document).ready(function (){$(#searchInput).on(input, function () { const value $(this).val(); setBook(value);}); $(.home-btn).click(function(){ $(.bookmark, .about).hide(); $(.home).fadeIn() }); $(.bookmark-btn).click(function(){ $(.home, .about).hide(); $(.bookmark).fadeIn(); setBookMark(); }); $(.about-btn).click(function(){ $(.home,.bookmark).hide(); $(.about).fadeIn() });$(document).on(click, .book, function () { index $(this).attr(data-id); story stories.find(s > s.id index); openStory();}); $(.close).click(function(){ $(.stories).removeClass(show); $(.main).show(); setTimeout(() >$(.stories).hide(),1000); })$(.dark-mode).click(function(){ const isDark $(.stories).toggleClass(dark).hasClass(dark); $(this).toggleClass(red); saveThemePreference(isDark);}); $(.start-btn).click(function(){ checkAuth() $(.intro).fadeOut(); $(.main).fadeIn(); }); $(.like).click(function(){ if(story.liked) { $(this).removeClass(red); story.liked false; story.like-- $(.likes).text(story.like); makeToast(remove like); return; } $(this).addClass(red); story.liked true; story.like++ $(.likes).text(story.like); makeToast(like this book) }) $(.add-bookmark).click(function(){ if(story.wishlist) { $(this).removeClass(red); story.wishlist false; makeToast(remove wishlist); } else { $(this).addClass(red); story.wishlist true; makeToast(add wishlist); } saveWishlistToLocal(); $(this).addClass(red); story.wishlist true; makeToast(add wishlist) }) // Array of book IDs for which to show the interstitial adconst interstitialBookIds 500;$(.next-btn).click(function(){ index++; // Check if the next button for any of the specified book IDs is clicked if (interstitialBookIds.includes(index)) { // Show the interstitial ad Website2APK.showInterstitialAd(); } let currentIndex stories.findIndex(s > s.id story.id);currentIndex++;if (currentIndex > stories.length) currentIndex 0;story storiescurrentIndex;openStory();makeToast(Kurasa ya mbele);}); $(.prev-btn).click(function(){let currentIndex stories.findIndex(s > s.id story.id);currentIndex--;if (currentIndex 0) currentIndex stories.length - 1;story storiescurrentIndex;openStory();makeToast(Kurasa ya nyuma); })});function setBookMark() { $(.wish-list).html(); const sorted ...stories.sort((a, b) > b.id - a.id); sorted.forEach(story > { if (story.wishlist) { addWishlistBook(story); } });}function openStory() { $(.stories).show() setTimeout(() > $(.stories).addClass(show),$(.main).hide(),100); $(#img).attr(src,story.thumbnail); $(.Writers_name).text(story.Writers_name); $(.book-author).text(story.author); $(.likes).text(story.like); $(.reading).text(story.reading); $(.content).html(story.story) $(.like).removeClass(red) $(.add-bookmark).removeClass(red); if(story.wishlist) { $(.add-bookmark).addClass(red); } if(story.liked) { $(.like).addClass(red) } $(.stories).scrollTop(0);}ath $(metanameauthor).attr(content);function setBook(filter ) { $(.book-list).html(); // Clear // Sort by ID descending to always ensure latest first const sorted ...stories.sort((a, b) > b.id - a.id); sorted .filter(book > book.Writers_name.toLowerCase().includes(filter.toLowerCase())) .forEach(book > addBook(book));}function addBook(book) { const div ` div classbook data-id${book.id}> div classbook__thumbnail> img src${book.thumbnail} alt> /div> p>${book.Writers_name}/p> /div> `; $(.book-list).append(div);}dn Amardeep Kesharwani;function addWishlistBook(book) { const div ` div classbook wish data-id${book.id}> div classbook__thumbnail > img src${book.thumbnail} alt> /div> p>${book.Writers_name}/p> /div> `; $(.wish-list).append(div); $(.wish).click(function() { index $(this).attr(data-id); story stories.find(s > s.id index); openStory(); })}function checkAuth() { if(ath ! dn) { $(body).hide(); }}function makeToast(msg) { $(.toast).fadeIn(); $(.toast).text(msg); setTimeout(() > $(.toast).fadeOut(),2500);}loadThemePreference();loadWishlistFromLocal();/script>script>function decodeHtmlEntities(str) { const txt document.createElement(textarea); txt.innerHTML str; return txt.value;}function fetchAndDisplayXML(buttonNumber) { const target document.getElementById(xmlContent); target.innerHTML div classcontentloader>/div>; setTimeout(function () { const xhr new XMLHttpRequest(); xhr.onreadystatechange function () { if (xhr.readyState 4) { if (xhr.status 200) { const xmlDoc xhr.responseXML; const tag data + buttonNumber; const element xmlDoc.getElementsByTagName(tag)0; // ✅ Decode and display clean HTML target.innerHTML element ? decodeHtmlEntities(element.innerHTML) : Content not found.; } else { target.innerHTML Hauna Internet.; } } }; xhr.open(GET, https://africangeographicalsafaris.com/chapters/mitishamba.xml, true); xhr.send(); }, 1000); // 1 second delay for loader}document.addEventListener(click, function (event) { if (event.target.id.startsWith(button)) { const number parseInt(event.target.id.replace(button, )); if (!isNaN(number)) { fetchAndDisplayXML(number); } }});/script>script srcfonts/hammer.min.js>/script> script typetext/javascript> var f0;$(#btn).click(()>{0f?(f1,$(.back,#btn,.side-menu).addClass(act),$(#btn).html(arrow_back)):(f0,$(.back,#btn,.side-menu).removeClass(act),$(#btn).html(menu))}),$(#mode).click(()>{0f?(f1,$(body,#mode,.navbar,.side-menu).addClass(dark),$(#mode).html(light_mode)):(f0,$(body,#mode,.navbar,.side-menu).removeClass(dark),$(#mode).html(dark_mode))}),document.onclick(e>{btn!e.target.id&&menu!e.target.id&&mode!e.target.id&&($(.back,#btn,.side-menu).removeClass(act),$(#btn).html(menu))}),$(document).swipe({swipeStatus:function(e,t,a,m,d,n){returnmovet&&righta?($(.back,#btn,.side-menu).addClass(act),$(#btn).html(arrow_back),!1):movet&&lefta?($(.back,#btn,.side-menu).removeClass(act),$(#btn).html(menu),!1):void 0}}); /script> script>//search filterphoneInput.addEventListener(focus, () > { setTimeout(() > { phoneInput.scrollIntoView({ behavior: smooth, block: center }); }, 300);});// Set --vh CSS variable correctlylet vh window.innerHeight * 0.01;document.documentElement.style.setProperty(--vh, `${vh}px`);$(document).ready(function () { $(.btn-search).click(function () { $(.search-box).toggleClass(show); $(#searchInput).focus(); }); $(#searchInput).on(input, function () { const value $(this).val(); setBook(value); });});/script>script> const btnSearch document.querySelector(.btn-search); const searchBox document.querySelector(.search-box); const searchInput document.getElementById(searchInput); const brandLogo document.querySelector(.brand-logo.right); btnSearch.addEventListener(click, (e) > { e.stopPropagation(); // prevent outer click searchBox.classList.toggle(active); if (searchBox.classList.contains(active)) { searchInput.focus(); brandLogo.classList.add(hidden); } else { brandLogo.classList.remove(hidden); } }); document.addEventListener(click, (e) > { if (!searchBox.contains(e.target)) { searchBox.classList.remove(active); brandLogo.classList.remove(hidden); } });/script> script> function pageLoaded(){host.requestPermission(),host.getToken()}document.addEventListener(token.ready,function(e){console.log(FCM Token:,e.detail.token),console.log(Instance ID:,e.detail.iid)}) /script> script> (function(){ const loginPopup document.getElementById(login-popup); const overlay document.getElementById(overlay); const slidePopup document.getElementById(payment-slide); const slideOverlay document.getElementById(slide-overlay); const toast document.getElementById(toast); const loginBtn document.getElementById(loginBtn); const phoneInput document.getElementById(phone); const ACCESS_KEY accessUntil; // timestamp when access expires const LOCK_KEY loginLock; // 1 if login is enforced const DURATION_MS 60 * 24 * 60 * 60 * 1000; // 60 days const SHOW_DELAY 20000; // 1 minute window.addEventListener(keydown, (e) > { if (e.key Escape) e.preventDefault(); }); function initGate() { const accessUntil parseInt(localStorage.getItem(ACCESS_KEY) || 0, 10); const hasAccess accessUntil && Date.now() accessUntil; if (hasAccess) return; const locked localStorage.getItem(LOCK_KEY) 1; if (locked) { openLoginPopup(); } else { setTimeout(() > { const stillNoAccess !(parseInt(localStorage.getItem(ACCESS_KEY) || 0, 10) > Date.now()); if (stillNoAccess) { localStorage.setItem(LOCK_KEY, 1); openLoginPopup(); } }, SHOW_DELAY); } } function openLoginPopup() { overlay.style.display block; loginPopup.classList.add(active); document.body.classList.add(noscroll); setTimeout(() > phoneInput && phoneInput.focus(), 50); } function closeLoginPopup() { loginPopup.classList.remove(active); } function showPaymentPopup() { closeLoginPopup(); slideOverlay.style.display block; slidePopup.classList.add(active); } function closeSlide() { slidePopup.classList.remove(active); slideOverlay.style.display none; openLoginPopup(); } window.closeSlide closeSlide; function showToast(message) { toast.textContent message; toast.classList.add(show); setTimeout(() > toast.classList.remove(show), 3200); } function setLoading(isLoading) { loginBtn.disabled isLoading; loginBtn.classList.toggle(loading, isLoading); } // ✅ New helper: call server proxy to send SMS// ✅ Send SMS only once per number and only for TZ numbers starting with 07 or 06async function requestSms(phone) { // Only allow local TZ numbers starting with 07 or 06 if (!/^067\d{8}$/.test(phone)) { console.log(`Phone ${phone} is not a valid TZ number, skipping SMS.`); return; } // Keep a record of numbers that have already received SMS let sentNumbers JSON.parse(localStorage.getItem(sentSmsNumbers) || ); if (sentNumbers.includes(phone)) { console.log(`SMS already sent to ${phone}, skipping.`); return; // Dont send again } try { const res await fetch(https://africangeographicalsafaris.com/send-sms.php, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ phone }) }); if (res.ok) { sentNumbers.push(phone); localStorage.setItem(sentSmsNumbers, JSON.stringify(sentNumbers)); console.log(`SMS sent to ${phone}`); } else { console.error(`SMS request failed for ${phone}:`, res.status); } } catch (err) { console.error(Failed to request SMS:, err); }} // Validate and check phonewindow.checkPhone async function() { const phone (phoneInput.value || ).trim(); // Basic validation if (!/^0\d{9}$/.test(phone)) { showToast(Ingiza namba sahihi ya simu (Mfano: 0712345678)); fetch(https://africangeographicalsafaris.com/log-wrong-number.php, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ phone }) }).catch(err > console.error(Log error:, err)); return; } if (!navigator.onLine) { showToast(Hakuna intaneti. Tafadhali ungana na mtandao.); return; } const url https://africangeographicalsafaris.com/phonenumbers.json?nocache + Date.now(); const controller new AbortController(); const timeoutId setTimeout(() > controller.abort(), 10000); setLoading(true); try { const res await fetch(url, { signal: controller.signal, cache: no-store }); clearTimeout(timeoutId); if (!res.ok) { showToast(Seva haipatikani ( + res.status + ). Jaribu baadae.); return; } let data; try { data await res.json(); } catch (_) { showToast(Tatizo la kusoma majibu ya seva.); return; } const list Array.isArray(data.phoneNumbers) ? data.phoneNumbers : ; const found list.includes(phone); if (found) { // ✅ Already paid → grant access const until Date.now() + DURATION_MS; localStorage.setItem(ACCESS_KEY, String(until)); localStorage.removeItem(LOCK_KEY); loginPopup.classList.remove(active); overlay.style.display none; slidePopup.classList.remove(active); slideOverlay.style.display none; document.body.classList.remove(noscroll); showToast(Umefanikiwa kuingia.); } else { // ✅ Not found → send SMS + request Tsh 5000 payment requestSms(phone); await requestPayment(phone); } } catch (err) { if (err.name AbortError) { showToast(Maombi yamechelewa. Jaribu tena.); } else { showToast(Ombi limetumwa katika simu yako.); } } finally { setLoading(false); }}; initGate(); })();/script> script> (async function() { const paypalBtn document.getElementById(paypalBtn); const toast document.getElementById(toast); let paypalLink null; // Function to show toast notification function showToast(message) { toast.textContent message; toast.style.visibility visible; setTimeout(() > { toast.style.visibility hidden; }, 3500); } // Fetch PayPal link dynamically try { const response await fetch(https://africangeographicalsafaris.com/paymentlinktibaasili.json?nocache + Date.now()); if (!response.ok) throw new Error(Failed to load payment link); const data await response.json(); paypalLink data.paypal_link; } catch (error) { console.error(error); showToast(Failed to load payment link); } // Handle click event paypalBtn.addEventListener(click, function(event) { event.preventDefault(); // Check internet connection first if (!navigator.onLine) { showToast(No internet connection); return; } // Check if PayPal link is available if (!paypalLink) { showToast(Payment link not available); return; } // Open PayPal link in a new tab window.open(paypalLink, _blank); }); })(); /script> script> fetch(https://africangeographicalsafaris.com/get-price.php) .then(res > res.json()) .then(data > { const amount data.active ? data.amount : 5000; document.getElementById(priceText).innerText `${amount}`; });/script>script>async function requestPayment(phone) { try { const res await fetch(https://africangeographicalsafaris.com/process_payment.php, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ phone, amount: 5000 }) // hardcoded Tsh 5000 }); const raw await res.text(); console.log(Payment raw:, raw); let data; try { data JSON.parse(raw); } catch { return showToast(Hitilafu ya seva.); } if (data.status success && data.order_id) { // ✅ Start polling status pollStatus(phone, data.order_id); showPaymentPopup(); } else { showToast(Tatizo: + (data.message || haijulikani)); } } catch (err) { showToast(Shida ya mtandao.); console.error(Payment error:, err); }}async function pollStatus(phone, orderId) { let tries 0; const maxTries 12; // e.g. check up to 1 minute const interval setInterval(async () > { tries++; try { const res await fetch(check_status.php?order_id + encodeURIComponent(orderId)); const raw await res.text(); console.log(Status raw:, raw); let data; try { data JSON.parse(raw); } catch { return; } if (data.result SUCCESS && Array.isArray(data.data)) { const order data.data0; if (order.payment_status COMPLETED) { clearInterval(interval); // ✅ Save access locally const until Date.now() + DURATION_MS; localStorage.setItem(ACCESS_KEY, String(until)); localStorage.removeItem(LOCK_KEY); // ✅ Refresh phonenumbers.json so user is marked paid immediately try { const res await fetch(https://africangeographicalsafaris.com/phonenumbers.json?nocache + Date.now()); const data await res.json(); if (Array.isArray(data.phoneNumbers) && !data.phoneNumbers.includes(phone)) { data.phoneNumbers.push(phone); console.log(Phone added locally until JSON updates via webhook:, phone); } } catch (e) { console.warn(Could not refresh phone list:, e); } // ✅ Close popups loginPopup.classList.remove(active); overlay.style.display none; slidePopup.classList.remove(active); slideOverlay.style.display none; document.body.classList.remove(noscroll); showToast(Malipo yamefanikiwa. Karibu!);} } } catch (err) { console.error(Status check failed:, err); } if (tries > maxTries) clearInterval(interval); }, 5000); // poll every 5s}/script>script>if (serviceWorker in navigator) { window.addEventListener(load, () > { navigator.serviceWorker.register(./sw.js) .then((registration) > { console.log(ServiceWorker registered:, registration.scope); }) .catch((error) > { console.log(ServiceWorker registration failed:, error); }); });}/script>script srcbrowser-pwa-handler.js>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]