Please fix this annoyingly slow forum

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
mk-soft
Always Here
Always Here
Posts: 6607
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Please fix this annoyingly slow forum

Post by mk-soft »

Good thing the earth is a disk. Then you can restart the server at 2 o'clock at night when everyone is asleep 8)
My Projects EventDesigner V3 / ThreadToGUI / OOP-BaseClass / Windows: Module ActiveScript
PB v3.30 / v5.75 - OS Mac Mini - VM Window Pro / Linux Ubuntu
Downloads on my OneDrive
User avatar
Piero
Addict
Addict
Posts: 1218
Joined: Sat Apr 29, 2023 6:04 pm
Location: Italy

Re: Please fix this annoyingly slow forum

Post by Piero »

Image
AZJIO
Addict
Addict
Posts: 2281
Joined: Sun May 14, 2017 1:48 am

Re: Please fix this annoyingly slow forum

Post by AZJIO »

Olli wrote: Sun Mar 01, 2026 9:48 am And please stop those ads which are very null... Look this link below, behind the photography of Brigitte Macron and a put-a-click slogan. How can I helped, and how can I help if I must also click "I do not consent" thausend times.... Near one hour lost just for one line, one link to give to KCC in the coding question...
I have no ads when "uBlock Origin" is enabled, as well as when disabled.
skywalk wrote: Tue Mar 03, 2026 5:29 am Or spinup a mirror site just for bots and redirect all non-human accounts there.
I would like to suggest it, but is it really possible?
User avatar
minimy
Addict
Addict
Posts: 900
Joined: Mon Jul 08, 2013 8:43 pm
Location: off world

Re: Please fix this annoyingly slow forum

Post by minimy »

Olli wrote: Fri Mar 06, 2026 4:17 pm The forum was in such a mode that I was bored. I coded anything stupid. Happily, Fred has decided a limit to 600 lines, that interrupted me !
@Olli, very nice code. I didn't expect that. Great!! PBbros. LOL

So in the end, the earth is not flat? :mrgreen:
If translation=Error: reply="Sorry, Im Spanish": Endif
User avatar
skywalk
Addict
Addict
Posts: 4316
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Please fix this annoyingly slow forum

Post by skywalk »

AZJIO wrote: Fri Mar 06, 2026 8:51 pm
skywalk wrote: Tue Mar 03, 2026 5:29 am Or spinup a mirror site just for bots and redirect all non-human accounts there.
I would like to suggest it, but is it really possible?
Yes, anything is possible. Rent a cloud VPS or make your own with raspberryPI and a UPS. Then redirect bots to the mirror.
Also easy to disable guest accounts.
Force a captcha for all new users.
Use bot profiles for bots!
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
idle
Always Here
Always Here
Posts: 6234
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: Please fix this annoyingly slow forum

Post by idle »

Olli wrote: Fri Mar 06, 2026 4:17 pm The forum was in such a mode that I was bored. I coded anything stupid. Happily, Fred has decided a limit to 600 lines, that interrupted me !

Code: Select all

Global sw, sh, countDown = 300, life = 3, score = 0, coinQty = 0, trial = 1
Global Dim key.i(255)

Procedure keyb(i.i)
   Protected r, ks = KeyboardPushed(i)
   If ks And Not key(i)
      r = 1
   EndIf
   key(i) = ks
   ProcedureReturn r
EndProcedure

Procedure c31(r, g, b)
   ProcedureReturn RGB(r * 255, g * 255, b * 255)
EndProcedure

Procedure c41(a, r, g, b)
   ProcedureReturn RGBA(r * 255, g * 255, b * 255, a * 255)
EndProcedure

InitSprite()
InitKeyboard()
ExamineDesktops()
sw = DesktopWidth(0)
sh = DesktopHeight(0)
OpenScreen(sw, sh, 32, "", #PB_Screen_SmartSynchronization, DesktopFrequency(0) )
CreateSprite(0, 256, 128)
TransformSprite(0, 0, 0, sw, 0, sw, sh, 0, sh)
Global Dim p.L(3, 3)   ; 4 palettes * 4 attributs * 32 bits   =             1Kbits =      128-bytes palette (4 palettes)
Global Dim s.u(63, 7)  ; 256 * 8 * 16 bits =             32Kbits =     1-kilobytes sprite (256 sprites)
Global Dim sp(255)     ;                                               2 KB
Global Dim c.a(31, 15) ; 32 columns * 16 rows * 8 bits = 4Kbits text = 512-bytes text

For palette = 0 To 3
   p(palette, 0) = RGBA(0, 0, 0, 0)
   For color = 1 To 3
      p(palette, color) = RGBA(Random(255), Random(255), Random(255), 255)
   Next
Next
For char = 0 To 63
   For charLine = 0 To 7
      s(char, charLine) = Random($FFFF)
   Next
Next

;- start

p(0, 0) = RGBA(%00000000, %00000000, %00000000, %11111111) ; décor arrière (opaque) 4 niveaux de bleus
p(0, 1) = RGBA(%00000000, %00000000, %01010101, %11111111)
p(0, 2) = RGBA(%00000000, %00000000, %10101010, %11111111)
p(0, 3) = RGBA(%00000000, %01010101, %11111111, %11111111)

p(1, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; allié (semi opaque) transparent
p(1, 1) = RGBA(%00000000, %00000000, %01010101, %11111111) ;                     bleu
p(1, 2) = RGBA(%11111111, %00000000, %00000000, %11111111) ;                     rouge
p(1, 3) = RGBA(%11111111, %10101010, %01010101, %11111111) ;                     chair

p(2, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; décor avant transp 
p(2, 1) = RGBA(%00000000, %01010101, %00000000, %11111111) ;             noir
p(2, 2) = RGBA(%00000000, %11111111, %00000000, %11111111) ;             vert
p(2, 3) = RGBA(%11111111, %11111111, %11111111, %11111111) ;             blanc

p(3, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; ennemi transparent
p(3, 1) = RGBA(%01010101, %00000000, %00000000, %11111111) ;        rouge sombre
p(3, 2) = RGBA(%11111111, %01010101, %00000000, %11111111) ;        orange
p(3, 3) = RGBA(%11111111, %11111111, %00000000, %11111111) ;        jaune

For i = 0 To 7
   s(0, i) = 0
Next
s(1, 0) = %0011111111111100
s(1, 1) = %1000111111110010
s(1, 2) = %1010001111001010
s(1, 3) = %1010100000101010
s(1, 4) = %1010100000101010
s(1, 5) = %1010000101001010
s(1, 6) = %1000010101010010
s(1, 7) = %0001010101010100

s(2, 0) = %0101010100000000
s(2, 1) = %1111111101010101
s(2, 2) = %1110101011111111
s(2, 3) = %1110101010101010
s(2, 4) = %1010101010101010
s(2, 5) = %1010101010101010
s(2, 6) = %1010101001010101
s(2, 7) = %0101010100000000

s(3, 0) = %0000000000000000
s(3, 1) = %0101010101010101
s(3, 2) = %1111111111111111
s(3, 3) = %1010101010101010
s(3, 4) = %1010101010101010
s(3, 5) = %1010101010101010
s(3, 6) = %0101010101010101
s(3, 7) = %0000000000000000

s(4, 0) = %0000000101010100
s(4, 1) = %0101011111111101
s(4, 2) = %1111111010101011
s(4, 3) = %1010101010101010
s(4, 4) = %1010101010101010
s(4, 5) = %1010101010101010
s(4, 6) = %0101011010101001
s(4, 7) = %0000000101010100

s(5, 0) = %0000000001010101
s(5, 1) = %0101010111111111
s(5, 2) = %1111111110101010
s(5, 3) = %1010101010101010
s(5, 4) = %1010101010101001
s(5, 5) = %1010101010101001
s(5, 6) = %0101010110101001
s(5, 7) = %0000000001010101

s(6, 0) = %0011111111110000
s(6, 1) = %1111000000111100
s(6, 2) = %1111000000111100
s(6, 3) = %0011000000110000
s(6, 4) = %1111000000111100
s(6, 5) = %1111000000111100
s(6, 6) = %0011111111110000
s(6, 7) = %0000000000000000

s(7, 0) = %0000000000110000
s(7, 1) = %0000000000111100
s(7, 2) = %0000000000111100
s(7, 3) = %0000000000110000
s(7, 4) = %0000000000111100
s(7, 5) = %0000000000111100
s(7, 6) = %0000000000110000
s(7, 7) = %0000000000000000

s(8, 0) = %0011111111110000
s(8, 1) = %0000000000111100
s(8, 2) = %0000000000111100
s(8, 3) = %0011111111110000
s(8, 4) = %1111000000000000
s(8, 5) = %1111000000000000
s(8, 6) = %0011111111110000
s(8, 7) = %0000000000000000

s(9, 0) = %0011111111110000
s(9, 1) = %0000000000111100
s(9, 2) = %0000000000111100
s(9, 3) = %0011111111110000
s(9, 4) = %0000000000111100
s(9, 5) = %0000000000111100
s(9, 6) = %0011111111110000
s(9, 7) = %0000000000000000

s(10, 0) = %0011000000110000
s(10, 1) = %1111000000111100
s(10, 2) = %1111000000111100
s(10, 3) = %0011111111110000
s(10, 4) = %0000000000111100
s(10, 5) = %0000000000111100
s(10, 6) = %0000000000110000
s(10, 7) = %0000000000000000

s(11, 0) = %0011111111110000
s(11, 1) = %1111000000000000
s(11, 2) = %1111000000000000
s(11, 3) = %0011111111110000
s(11, 4) = %0000000000111100
s(11, 5) = %0000000000111100
s(11, 6) = %0011111111110000
s(11, 7) = %0000000000000000

s(12, 0) = %0011111111110000
s(12, 1) = %1111000000000000
s(12, 2) = %1111000000000000
s(12, 3) = %0011111111110000
s(12, 4) = %1111000000111100
s(12, 5) = %1111000000111100
s(12, 6) = %0011111111110000
s(12, 7) = %0000000000000000

s(13, 0) = %0011111111110000
s(13, 1) = %0000000000111100
s(13, 2) = %0000000000111100
s(13, 3) = %0000000000110000
s(13, 4) = %0000000000111100
s(13, 5) = %0000000000111100
s(13, 6) = %0000000000110000
s(13, 7) = %0000000000000000

s(14, 0) = %0011111111110000
s(14, 1) = %1111000000111100
s(14, 2) = %1111000000111100
s(14, 3) = %0011111111110000
s(14, 4) = %1111000000111100
s(14, 5) = %1111000000111100
s(14, 6) = %0011111111110000
s(14, 7) = %0000000000000000

s(15, 0) = %0011111111110000
s(15, 1) = %1111000000111100
s(15, 2) = %1111000000111100
s(15, 3) = %0011111111110000
s(15, 4) = %0000000000111100
s(15, 5) = %0000000000111100
s(15, 6) = %0011111111110000
s(15, 7) = %0000000000000000

s(16, 0) = %0000101010000000
s(16, 1) = %0010101010101000
s(16, 2) = %0011111101111100
s(16, 3) = %0000111111110000
s(16, 4) = %0000101010101011
s(16, 5) = %0011101010100010
s(16, 6) = %0000010101010110
s(16, 7) = %0000101000000000

s(17, 0) = %0000101010000000
s(17, 1) = %0010101010101000
s(17, 2) = %0011111101111100
s(17, 3) = %0000111111110000
s(17, 4) = %0000101010100000
s(17, 5) = %0000101011100000
s(17, 6) = %0000010101000000
s(17, 7) = %0000001010000000

s(18, 0) = %0000001010100000
s(18, 1) = %0010101010101000
s(18, 2) = %0011110111111100
s(18, 3) = %0000111111110000
s(18, 4) = %1110101010100000
s(18, 5) = %1000101010100000
s(18, 6) = %1001010101010000
s(18, 7) = %0000000010100000

s(19, 0) = %0000001010100000
s(19, 1) = %0010101010101000
s(19, 2) = %0011110111111100
s(19, 3) = %0000111111110000
s(19, 4) = %0000101010100000
s(19, 5) = %0000101110100000
s(19, 6) = %0000000101010000
s(19, 7) = %0000001010000000

s(20, 0) = %0000000101010000
s(20, 1) = %0001111111100100
s(20, 2) = %0011101010101000
s(20, 3) = %0111101111011101
s(20, 4) = %0111101110011101
s(20, 5) = %0111100101111000
s(20, 6) = %0001101111100100
s(20, 7) = %0000000101000000

s(21, 0) = %0000000000000000
s(21, 1) = %0000011111010000
s(21, 2) = %0000111010110000
s(21, 3) = %0000111111110000
s(21, 4) = %0000111110110000
s(21, 5) = %0000110101110000
s(21, 6) = %0000011111010000
s(21, 7) = %0000000101000000

s(22, 0) = %0000000000000000
s(22, 1) = %0000001010000000
s(22, 2) = %0000001111000000
s(22, 3) = %0000001111000000
s(22, 4) = %0000001111000000
s(22, 5) = %0000001111000000
s(22, 6) = %0000001010000000
s(22, 7) = %0000000000000000

s(23, 0) = %0000000000000000
s(23, 1) = %0000011111010000
s(23, 2) = %0000111010110000
s(23, 3) = %0000111010110000
s(23, 4) = %0000111010110000
s(23, 5) = %0000111001110000
s(23, 6) = %0000011111010000
s(23, 7) = %0000000101000000

s(24, 0) = %1010101010101010
s(24, 1) = %1000101111100010
s(24, 2) = %1010111010111010
s(24, 3) = %1010101010111010
s(24, 4) = %1010101111101010
s(24, 5) = %1010101010101010
s(24, 6) = %1000101111100010
s(24, 7) = %1010101010101010

s(25, 0) = %1010101010101010
s(25, 1) = %1000101010100010
s(25, 2) = %1010101010101010
s(25, 3) = %1010101010101010
s(25, 4) = %1010101010101010
s(25, 5) = %1010101010101010
s(25, 6) = %1000101010100010
s(25, 7) = %1010101010101010

s(26, 0) = %0111111110101001
s(26, 1) = %0111101010101001
s(26, 2) = %0111101010101001
s(26, 3) = %0111101010101001
s(26, 4) = %0001111010100100
s(26, 5) = %0001111010100100
s(26, 6) = %0001111010100100
s(26, 7) = %0001111010100100

s(27, 0) = %0001111010100100
s(27, 1) = %0001111010100100
s(27, 2) = %0001111010100100
s(27, 3) = %0001111010100100
s(27, 4) = %0001111010100100
s(27, 5) = %0001111010100100
s(27, 6) = %0001111010100100
s(27, 7) = %0001111010100100

s(28, 0) = %0001111010100100
s(28, 1) = %0001111010100100
s(28, 2) = %0001111010100100
s(28, 3) = %0111101010101001
s(28, 4) = %0111101010101001
s(28, 5) = %0111101010101001
s(28, 6) = %0111101010101001
s(28, 7) = %0001111010100100

s(29, 0) = %0001111010100100
s(29, 1) = %0001111010100100
s(29, 2) = %0001111010100100
s(29, 3) = %0001111010100100
s(29, 4) = %0011110101010100
s(29, 5) = %0111101010101001
s(29, 6) = %0111101010101001
s(29, 7) = %0111101001010101

S(30, 0) = %0011111011110000
S(30, 1) = %1101010101011100
S(30, 2) = %1101010100011100
S(30, 3) = %1001010001011000
S(30, 4) = %1101010001011100
S(30, 5) = %1101010001011100
S(30, 6) = %0011111011110000
S(30, 7) = %0000000000000000   

S(31, 0) = %0000000000000000
S(31, 1) = %0011000000110000
S(31, 2) = %0000110111000000
S(31, 3) = %0000011101000000
S(31, 4) = %0000110111000000
S(31, 5) = %0011000000110000
S(31, 6) = %0000000000000000
S(31, 7) = %0000000000000000   

S(30, 0) = %0000000000000000
S(30, 1) = %0000000000000000
S(30, 2) = %0010110000000000
S(30, 3) = %1011011011101000
S(30, 4) = %1000101111111010
S(30, 5) = %0000101010101001
S(30, 6) = %0000010101010100
S(30, 7) = %0011000100010011   

S(31, 0) = %0000000000000000
S(31, 1) = %0000000000000000
S(31, 2) = %0010110000000000
S(31, 3) = %1011011011101000
S(31, 4) = %1000101111111010
S(31, 5) = %0000101010101001
S(31, 6) = %0000010101010100
S(31, 7) = %0000110000001100   

For spp = 0 To 3
   For spi = 0 To 63
      i = spp << 6 | spi
      sp(i) = CreateSprite(#PB_Any, 8, 8, #PB_Sprite_AlphaBlending)
      If 1
         StartDrawing(SpriteOutput(sp(i) ) )
         DrawingMode(#PB_2DDrawing_AllChannels)
         For y = 0 To 7
            For x = 0 To 7
               c = p(spp, (s(spi, y) >> (2 * x) ) & 3)
               Box(y, x, 1, 1, c)
            Next
         Next
         StopDrawing()
      EndIf
      xA = 0
      yA = 0
      xB = sw / 32
      yB = sh / 16
      TransformSprite(sp(i), xB, yA, xB, yB, xA, yB, xA, yA)
   Next   
Next

Procedure prnb(x, y, n, ln, pal) ;    (pr)int    (n)um(b)er    (prnb)
   a$ = Right(ReplaceString(Space(ln), " ", "0") + Str(Abs(n) ), ln)
   For i = 1 To Len(a$)
      a = Asc(Mid(a$, i, 1) ) - '0' + 6 + pal << 6
      c(x + i - 1, y) = a
   Next
EndProcedure

Procedure backMode1()
   For x = 0 To 31
      For y = 0 To 15
         c(x, y) = 0
      Next
      c(x, 1) = 1
      If Abs(x - 16) > 4
         c(x, 4) = 1
      EndIf
      c(1, 2) = 5 + 128       ; green pipes
      c(1, 3) = 5 + 128
      c(1, 7) = 5 + 128
      c(1, 11) = 5 + 128
      c(0, 14) = 5 + 128
      c(31, 2) = 2 + 128
      c(31, 3) = 2 + 128
      c(31, 7) = 2 + 128
      c(31, 11) = 2 + 128
      c(31, 14) = 2 + 128
      If Abs(x - 16) > 6
         c(x, 8) = 1
      EndIf
      If Abs(x - 16) > 3
         c(x, 12) = 1
      Else
         c(x, 7) = 129 - 64
      EndIf
      c(x, 15) = 1
   Next
   c(0, 0) = 81
   c(1, 0) = 95
   prnb(5, 0, 00, 2, 3)
   c(0, 1) = 154 - 128
   For y = 2 To 11
      c(0, y) = 155 - 128
   Next
   c(0, 12) = 157 - 128
EndProcedure

torSpeedX = 1
marX = 0
marY = 670
period = 1000 / 30
Repeat
   Repeat
      clock = ElapsedMilliseconds()
      Delay(period - 1)
   Until clock > alarm
   alarm = clock + period
   ExamineKeyboard()
   ClearScreen(0)
   If keyb(#PB_Key_Tab) Or trial
      trial = 0
      mode + 1
      mode & 1
      If mode = 1
         backMode1()
      EndIf
   EndIf
   If mode = 1                   ; anims
      prnb(1, 0, life, 2, 1)
      coinCycle + 1
      coinCycle & 3
      If coinCycle = 0
         coin + 1
         coin & 3
         c(4, 0) = 212 + coin
      EndIf
      If clock > timeAlarm
         timeAlarm + 1000
         countDown - 1
         prnb(8, 0, countDown, 3, 2)
      EndIf
      hour = Val(FormatDate("%HH", Date() ) )
      minu = Val(FormatDate("%ii", Date() ) )
      prnb(12, 0, hour, 2, 0)
      prnb(14, 0, minu, 2, 0)
      prnb(17, 0, marY, 3, 2)
      prnb(24, 0, score, 8, 0)
   EndIf
   If Keyb(#PB_Key_F12)
      Blur ! 1
   EndIf
   
   SpriteQuality(Blur)
   For ty = 0 To 15
      For tx = 0 To 31
         If mode = 0
            c(tx, ty) = tx & $F | ty << 4
         EndIf
         DisplayTransparentSprite(sp(c(tx, ty) ), tx * xB, ty * yB)
      Next
   Next
   If mode = 1
      DisplaySprite(sp(156 - 128), 0, (y + 8) * yB / 8)
      If vy < 4
         vy + 1
      EndIf
      y + vy
      If y > 88
         y = 0
         vy = 0
         life - 1
      EndIf
      
      torY = 24
      torY = 14*8
      torTime ! 1
      torX - torSpeedX
      If torX < 0
         torX = sw * 8 / xB
      EndIf
      jmpX = 0 - 1 - Sin(clock * clock)
      jmpY = 0 - 1 - Cos(clock * clock) 
      DisplayTransparentSprite(sp(30 + torTime + 128), (torX) * xB / 8, (torY) * yB / 8)
      If marVX < 0
         marFlow = 2
      Else
         If marVX > 0
            marFlow = 0
         EndIf
      EndIf
      DisplayTransparentSprite(sp(16 + marTime + 64 + marFlow), marX, marY)
      marMoving = 1
      If KeyboardPushed(#PB_Key_Right)
         If marVX < 24
            marVX + 1
         EndIf
      Else
         If marVX > 0
            marVX - 1
         EndIf
         If KeyboardPushed(#PB_Key_Left)
            If marVX > 0 - 24
               marVX - 1
            EndIf
         Else
            marMoving = 0
            If marVX < 0
               marVX + 1
            EndIf
         EndIf
      EndIf
      If marY < 670
         marVY - 4
      EndIf
      If marY > 670
         marY = 670
         marVY = 0
      EndIf
      marY - marVY
      If KeyboardPushed(#PB_Key_Up)
         marVY = 16
      EndIf
      If marVX
         marTime ! marMoving
         marX + marVX
         If marX > DesktopWidth(0)
            marX - DesktopWidth(0)
         Else
            If marX < 0
               marX + DesktopWidth(0)
            EndIf
         EndIf
      EndIf
   EndIf
   FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or keyb(#PB_Key_Tab)
I wasn't expecting that 8)
User avatar
jacdelad
Addict
Addict
Posts: 2110
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: Please fix this annoyingly slow forum

Post by jacdelad »

Piero wrote: Fri Mar 06, 2026 8:10 pm Image
This picture is leaving out the elephants and the turtle.
Good morning, that's a nice tnetennba!

PureBasic 6.30/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/2*DX517, 164TB+82TB+28TB+2TB SSD
Raspi 400/500
threedslider
Enthusiast
Enthusiast
Posts: 616
Joined: Sat Feb 12, 2022 7:15 pm

Re: Please fix this annoyingly slow forum

Post by threedslider »

Piero wrote: Fri Mar 06, 2026 8:10 pm Image
Some people think the Earth is a torus :lol: : Image
User avatar
Kiffi
Addict
Addict
Posts: 1524
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Re: Please fix this annoyingly slow forum

Post by Kiffi »

Please stay on topic!
Hygge
User avatar
NicTheQuick
Addict
Addict
Posts: 1585
Joined: Sun Jun 22, 2003 7:43 pm
Location: Germany, Saarbrücken
Contact:

Re: Please fix this annoyingly slow forum

Post by NicTheQuick »

Kiffi wrote: Sat Mar 07, 2026 11:38 am Please stay on topic!
Yes, please. Stop posting unrelated codes, memes or other pictures that don't have anything to do with this topic or the thread really gets closed. Create your own topic for that stuff. Thank you!
The english grammar is freeware, you can use it freely - But it's not Open Source, i.e. you can not change it or publish it in altered way.
Olli
Addict
Addict
Posts: 1304
Joined: Wed May 27, 2020 12:26 pm

Re: Please fix this annoyingly slow forum

Post by Olli »

Well. Technically

Step 1 : a current ad system provided by Google Ad
Step 2 : this ad system has, as usually, been infested by a fake news ad (link already reported above)
Step 3 : since any month, authorities published they will answer by the same infesting technics to stop the fakes

Good luck with Google Ad...
Locked