From db8df729dcb75ed31c8b592b5badb812afc6770d Mon Sep 17 00:00:00 2001 From: emile Date: Sun, 21 Jul 2024 23:02:08 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 1683456 -> 1687552 bytes .../__pycache__/consumers.cpython-310.pyc | Bin 4482 -> 4706 bytes .../__pycache__/models.cpython-310.pyc | Bin 2811 -> 2810 bytes osinaweb/osichat/consumers.py | 15 +++++++++++---- .../0013_rename_reference_visitor_referrer.py | 18 ++++++++++++++++++ ...reference_visitor_referrer.cpython-310.pyc | Bin 0 -> 624 bytes osinaweb/osichat/models.py | 2 +- osinaweb/static/js/osichat/visitors.js | 10 ++++------ 8 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 osinaweb/osichat/migrations/0013_rename_reference_visitor_referrer.py create mode 100644 osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-310.pyc diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index e8acf2db07c849d814c792e440158bb636fa93c9..21e55530709a57b80d4dbdc813cb511a836309d1 100644 GIT binary patch delta 5589 zcmeHLYitzP6`tAIr@cF~YkT7zZ{4helh_zf?wxz*wV;+Yn5HUb9T2E)EF9Y`wZVAT zFHBGcn4nsTN}I}2MggZH7NQTeQX(s!ieLTFAE>EXO4Eu+Rcet)dYrsoo`IN-kR5`X@u?_J{A zr=H|m96g7QYcKY7seMMzD3*`l6R9IdFd00qb!n;&O>EQny|;J}0VD_#0x1J2x9+`F zQ7$>Z$Gy&&8C=$CefxSvyTk3v_5oE*c}+Luiw!ac?z++pC8dHb_>gOR@p6?Rh^_yVf zH3KEM;daKjTij*n zfXTDfMD-Ur;o+bT}M*g!?8M<)N{#&frY55afBq9sz^gyCx?sL zbh$SDQf-AIW$Wb7)}p$yTwVE6b)pl+I`~@T%Ebz=`zphK5O~`^UV5-Z@%cR;x$P{P za@U`I@@$i<<)ya7N?C3W428?h$93`Y-mbRhxRxH+ci@oHxufI7=k_O0(7h*nMvv{v zbhmcxZ|*yUn_9oQqgx~D&e4H%E;M>0T9yM~JdrhS&L+i}<=4f3c?98WjDw$J_&H&Q zpX2AO;CAt2e$TU2E+)ZrED5s`r$j=;(5SI*B$G)G4##6Fbp%HFgxQo7cR909KS+uV zvFM|~wKy^)tQb@_%(fP>J{S;QhBRzvgm&S5kajEBD()6=LzSBeg<9C=owB@=aXVkX zWuEU4>o(g@mE~c!`B-mX3S+z{-JgoUOSQ7Ph27V=ISQyk3!6NO&D{sZSSVT|dRAE|vs*r@i;Q-JZXAzTtk~ z^=tPoS9!D3a_;12xH`uLho3#g+-15Z#xk)jW2MzTrse5GA`xX)3c8tjQzXwrxl`j* zlMIR#q%G`9u0^#Ap>B}<{YU%Lqy1y0Us;y{Rie~T4YJGtQ6yDCGASB}uEzktU__Cu zFEId9L6>x*E5s=Dpla;~vM@v@nnITuKvcr2tgEPCKwOUjL?lfiNR^iuKyk&8kgjQ1 zDHw>X-2lMok_G{SU@vAnXd#lWA%coMs9c+Y??A4gIFTh823TEg0Lv0JkWRFRJs5Z_ zi_fe!OA`hRV;mcjq3KjFx*1-xn^Xf9lCZ2HWl1gqIT36pyDH~XWuRhhZbraO5~mne zUIrn0VYtdn;iA~_j26clj4{M#k!dIeP*W92!#XCkpj2)vwL@enj#F7eh*G>Ly9;`< z-IkARXiY9FU$;3K62m}5DaJLprno9?4?z%uTDCB|a#apXhOR3Z7rG{_10F!IN`Q41 zBrm`#ahUlEqA+X)cz&($Sr7_?ws>yj;EAMYs;U+1Q(ztN0D_T>7uDAsyevV;3{;%k z{&m2^#8V9Le|d1QgbYG)F*v1bgWqOH7)gd9Q)5wO%6czji6Cqk`Jqjh_?U2xeQe&g z8AfRY1o%$2d%raAfm~tA$w)WymBI2~6z7~xF5p8}n76N!!u*PSxIu^Zj%xv-Z_weR zH>HITZP1}eY;M`0!~A(gwpeY@A&~h79X{$jE1Mtx4?6s(vl?jdjcR+3=xzA3K;Cl)nc%lMht!}^)Cd(X9aDjOOc=i1CfCQ@r%|G5}sIXL4o|Md4j zx%K%kM4u~YLpcLq*xSwj@&kb{rbBOk8fX}($*v7xRUTN)-cfFn5uE4P#{sGi%iTPM zkCn#qYmC+5JYT@UGAzCqE|MO$=n~NkO)D&NAJ03wx=k)@AC&B|g`vZlXmP3a)x4jp agLx(oWAEAZMQicwURgnK=t7D+&Hn)-8ulmv delta 1168 zcmZ{jT}&KR6vyw~*=2Uvow>`hymUVY_mi>q!tg)sKF5QHrk!biZrIcjr zZcsopQKVHQ2(5u|(+>^wp`k{S8d7fJQy+Z5rnUr4LlZ+$NPMvs3~FOT;+e%XRpZS3 z{+Zl+?mhoGbMDYk_t5&$(-mbIgz!1w3<5z&`1<2u6lcEZn6JixNu{O&(}mia6&sc& zck6E8UnZ{yAIEg^r{D_iUHGzoH(eI?M~sviO~sO-a6>e1L{2Q_N0#y!umJ*K2OK~N zAOcQ60!jfF;09#Alvkb&3mtfyi8D%!HO?sGc$r_DQ7~q&N@~@}_N)RBzyp*4UZ9+B z&-%(k_CaA9u|mX~4}$*rz|M zYfPV0y(1HMRX%a|vHl;0=8`5RE^D8_KIa|Ge@l~j=9b2(TOiwrJRrZ5ZE}NqwzPHP z*X;tr0ZaUrRF*>R9}Td^>%Q1U*K(1`o(izQQSbvZTYf$#MM?BlicD4 z%zh(E!~2KRj?9VHG|P@tKX)hSZz3r=ZA4^|d`KGQ1ot%2O+_$Flg&5N`X|v^8nqi? z!>kX->y2V-7|B%344DV11F`20(HHDN9o{}VMC)oa2l`LAX{HP_6pI@1n9zxDriGf;Lg4lRFt*$NCOORHs;seKfa$OMFoPVuLH#Hdi_a4R6W!l~^dbG|R zbd^*?T3wc{`ci7CzE^i`&*~T=tK>2nQ#!e)Ko66ea3a|d*I?09dm7=szV5;9zCnl1N3uDI*y&jc7a?)v7B0C$1r7#!}HlC>)8# z6NZ)e?+cH@X&+iByZQrRg;RF>eoe5N%q9p(vb;+!HzK{trgB(bk)L-jx~pAhU2f=$ zUrV`rjPBTVD@v4R5owiop?8{GXG-r&v(7lg1e`oMM~`9GaLdVzsMXckPQJ|21$`eY a%u&MEFHtzr?_Z)`cIS@l;D3BZCC6U? z8pT&l$c;}z(hX0I@x?cvd^0gIzW8>1Fj1d;FflPPAtrjxotEMTb~4{R_ndq0oS*O9 z{b=7W`}>k|IWX||_4572p9k*tjj-tM;j;(1!R;uR52g(6^TNjlF9>$WnlIu!;6
a$=}UzY9~%q zc?ptEyUH7By#^eHP`7TvFqwjSl%%3sPq=^)ROIlCHqrVdjzv8ilJnMS;i6Vo>M9DE zv4&a4+~+wb$y%|vdEJDNTe=Q*m+8^j7~L-8-aY%aolzz2rlad(=T(`-%1}+DXHQQJdxph1JRPPp(-TbSYK00K?P`s4ta}Pn<*jfxcvM|QCWz2i z-qoCT%1aiSSfdoV3<7PijrI{cU^l@Y0*WTIbj@L6Q_&MY97MxWeADd+E)vVehemuJ z2L7$RmyqakuY3L!We5%s94DZSj~%9oL>vOj6&vw)WV!qQrzwytFUjA$_E9Q1>?6=b(P!+ZY0nPw`<(pHkJu6U zhd(;5_Z{2Z7v`OjXQ^lBE4XM{o+^CD#-tNmD;}Xu#07XwE(OOg(p=dK3BMV7nwLQ7 z>|rH5`V@?lwdWg@&{_Fw@DmH=H^sRN^iAwmOu)lh#C^)M~pEgcxmdxdve?G!zv8z7H!nxr@6T50F#42hQsdK^2A zx=8+5dN`3sjMLE051&U_m0QU|BNElP(^}YY0CTBN4&}e)q188W6}(DtiQp}Su&Dga zAhiGR0-1FEw#a*hbo4&~*9a&GcpCwmrYD4V$n=y5JOj?4c~#!)`*!dGZMU@dbhXDB zT?enr5BkI0&2x0nmYV_0k%BUud#JmTj}=RoO?TfUS|{a~m0_2puq?l?9AZ1<-<9bp>Tuni hK&B_{R{mrw;hjjlO#h7fN+?kSvyy&%RUNgH+ zN#!aM;R;eT65;?-ak0%BU(aQT2-$aTZH1s+|r3gL0ht@wy3rBd0B|!N)kl1(s~635s!Ua+T|c% zjYK5+m0X)hGiKpRTjR&X6TRV~YcYZ=ZX0oiXJF`Oc&~VB__H~f$owjgnvD{z#6g); z-UG6>&Wot>f-s6%DTpZJ$3T!mpHkuas9tA5QWRIsDbE4vG`#Vr;uCM^#szA$^c|g= zyF`7h&e!gIon1oR@2p2=Vj$D11)MXj4&y~&y{P$~cxFzld6h<~Oetq^ES(@~))T%V zjV2F$OPa|>gYjW>?KHy62xkzGGQ`HL#!+2bVN|BEG*(%{ZPY5_UP?S>b=tOgQG8|% zPo4s;wAeZWD_x8o&H`3hXD`8$_ymAQJmL~vcLDLSpNn6u@y-1}ya{U(txBqT3-URr z0qP13h324^7(3>!My;=`M|w-&%d>CKA4SQxj*?1GRYHlD69#;p`SXWb9;g=x_k%}ufiJ_0BmyTdG0w6&wP;9;r-OwSe-rSl%yy) z%2;D>AK64Wj6Xmh<;r%&6~53rcJ+zx#RPdEAL*%Ci76 zgUKxgYvqKatB33;6X?nn@sr!QfJx_r2&!Pz37E(39q9L@SjvQCMEsH&x~TSHDAYbb z?Ts{W|1S~#7A%?({oYe@N<8yE%8uZs350jVRQA#w&ZW5=(GB0>qbPp`0k43Ay5#$& z_-m->vVj48U;LQ;gA9vrb06M9o6xVSaLu)(7PblZLFVUWej0*uFN$ijO%^BoB1omZ zQVF3L6cuTPWsqM7IiC@i^Jf>(Cuz}Utr3HVcn73BXK-`_mAx3~5{E-etLoHQRLvoD zIeHajOgzs2yO~A+roNdPTZFO9*P`W0$V&BQZMowR#8z3t{5&ke^|H=*Tuv%ceGHlL zn;_?JBiur`4d7>`yGK(oa2`?+ZL zJ{foqcN>ZiUQ6`^uZ(H2Q1CaEo0E9XftwzmM*-#_^-vK#=*gpegG&jQs}}tjM=x~i zUC@3FZ;Y3d_@{7va~#*dfp7`opdqnd(yqh=aU{fX`=RuyM5^Y&E9^47>Jo6VKV8>` zchK$24RF-@xup|O67WY5#$&6j&Uhsld%(mG#p7gD{9e2>g*~p89%Vtg6SasoLpDkF P%;eAv$*HGc^q>C^LD+t% diff --git a/osinaweb/osichat/__pycache__/models.cpython-310.pyc b/osinaweb/osichat/__pycache__/models.cpython-310.pyc index 1d729d5c4eb4c279abd7c8bf5cef82892dbe96b8..941f5ce013b6b88e9109fdf12dac0a173629f9d3 100644 GIT binary patch delta 37 rcmew@`b(5IpO=@50SIC;=BCwd=BCwcpF diff --git a/osinaweb/osichat/consumers.py b/osinaweb/osichat/consumers.py index 07b7edf2..a8c18020 100644 --- a/osinaweb/osichat/consumers.py +++ b/osinaweb/osichat/consumers.py @@ -4,11 +4,17 @@ import json from django.template.loader import render_to_string from asgiref.sync import async_to_sync from django.shortcuts import get_object_or_404 +import requests class OsitcomVisitor(WebsocketConsumer): def connect(self): self.accept() + self.visitor_ip = self.scope.get('client', [''])[0] + if self.visitor_ip: + response = requests.get(f'http://ipinfo.io/{self.visitor_ip}/json') + data = response.json() + self.visitor_country = data.get('country', 'Unknown') async_to_sync(self.channel_layer.group_add)( 'ositcom_visitors', self.channel_name ) @@ -28,9 +34,9 @@ class OsitcomVisitor(WebsocketConsumer): event = { 'type': 'new_visitor_handler', 'session_id': text_data_json.get('session_id'), - 'ip_address': text_data_json.get('ip_address'), - 'country': text_data_json.get('country'), + 'referrer': text_data_json.get('referrer'), 'url': text_data_json.get('url'), + } async_to_sync(self.channel_layer.group_send)( 'ositcom_visitors', event @@ -39,8 +45,9 @@ class OsitcomVisitor(WebsocketConsumer): def new_visitor_handler(self, event): visitor = Visitor.objects.create( session_id = event['session_id'], - ip_address = event['ip_address'], - country = event['country'], + ip_address = self.visitor_ip, + country = self.visitor_country, + referrer = event['referrer'], url = event['url'], visit_date = datetime.now(), ) diff --git a/osinaweb/osichat/migrations/0013_rename_reference_visitor_referrer.py b/osinaweb/osichat/migrations/0013_rename_reference_visitor_referrer.py new file mode 100644 index 00000000..e2e6ae48 --- /dev/null +++ b/osinaweb/osichat/migrations/0013_rename_reference_visitor_referrer.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.5 on 2024-07-21 19:58 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('osichat', '0012_alter_visitor_reference'), + ] + + operations = [ + migrations.RenameField( + model_name='visitor', + old_name='reference', + new_name='referrer', + ), + ] diff --git a/osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-310.pyc b/osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0413ec8b7b8c1c32a1aea0775489bbea22b9d1ea GIT binary patch literal 624 zcmY*Xy-pl45VqI5cY7Bol7fl?MQN^KNzz6U1xgwq5-80!mbn@3eDSU~_5z|#sz^Kn z55OzArQ#KkA~N<}a%8L-eKTXv&nMf>%`qdH&u`B!Ib-+Hc`i9Q`=tIg8DPK-Yk18$ z`^+E%@soi-zQ}%vI)nU_O^OG)$0j_C8$ENX*S7W37Qous>>R2t zI$vn9sckCSx>Xg8mjEnOJG0B+6`n;9IjPpfSH#YH;v>!ZkAnY+A|`gbYbR)`0jYmQ zrevAOpYkH(@#MeDr<6Y?%0|nsyKt5kP4V?gOB73l^23s?kMygUkKbq`+Y)~O#U8NV literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/models.py b/osinaweb/osichat/models.py index b06dc644..f9dfd90a 100644 --- a/osinaweb/osichat/models.py +++ b/osinaweb/osichat/models.py @@ -7,7 +7,7 @@ class Visitor(models.Model): ip_address = models.CharField(max_length=300) country = models.CharField(max_length=15, null=True) url = models.URLField() - reference = models.URLField(null=True, blank=True) + referrer = models.URLField(null=True, blank=True) visit_date = models.DateTimeField(null=True) left_date = models.DateTimeField(null=True) diff --git a/osinaweb/static/js/osichat/visitors.js b/osinaweb/static/js/osichat/visitors.js index eb4dc199..0b2c2732 100644 --- a/osinaweb/static/js/osichat/visitors.js +++ b/osinaweb/static/js/osichat/visitors.js @@ -1,10 +1,9 @@ const visitors_ws_scheme = window.location.protocol === "https:" ? "wss" : "ws"; -const my_domain = "192.168.1.111:8000"; +const my_domain = "osina.ositcom.com"; const session_id = document.getElementById('session_id').textContent.trim(); -const client_ip = document.getElementById('client_ip').textContent.trim(); -const client_country = document.getElementById('client_country').textContent.trim(); const current_url = document.getElementById('current_url').textContent.trim(); +const referrer = document.referrer; const visitorsSocketUrl = `${chat_ws_scheme}://${domain}/ws/osichat/visitors/`; const visitorsSocket = new WebSocket(visitorsSocketUrl); @@ -14,9 +13,8 @@ visitorsSocket.onopen = () => { const event_message = { 'event_type': 'new_visitor', 'session_id': session_id, - 'ip_address': client_ip, - 'country': client_country, - 'url': current_url + 'referrer': referrer, + 'url': current_url, }; visitorsSocket.send(JSON.stringify(event_message)); };