My Viewers DDoSed my Go App

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ย. 2024

ความคิดเห็น •

  • @sortof3337
    @sortof3337 ปีที่แล้ว +278

    i was heartbroken after you banned escape characters. i was trying to draw booba. you're so authoritorian!

    • @cobbcoding
      @cobbcoding ปีที่แล้ว +69

      literally fascism

    • @aspectreishauntingeurope
      @aspectreishauntingeurope ปีที่แล้ว +32

      1984

    • @dusanmalusev9530
      @dusanmalusev9530 ปีที่แล้ว +18

      ". you're so authoritorian!" - He is Russian!
      @TsodingDaily ( don't ban me 😅🤣🤣🤣🤣)
      LOVE FROM SERBIA!

    • @w花b
      @w花b ปีที่แล้ว +4

      He should've banned grammar mistakes as well then

    • @shallex5744
      @shallex5744 ปีที่แล้ว +1

      @@w花b why

  • @ludwintor4986
    @ludwintor4986 ปีที่แล้ว +85

    i love violating european onion laws

  • @albertminnie4900
    @albertminnie4900 ปีที่แล้ว +53

    One man's DDoS is another man's stress test

    • @AndrieMC
      @AndrieMC 9 หลายเดือนก่อน

      lol

  • @lievenpetersen
    @lievenpetersen ปีที่แล้ว +53

    So, from what I gather, go and rust compiler have similar compile times, but only during the first compile, after that go is faster, because it is done sending telemetry Kappa

    • @iCrimzon
      @iCrimzon ปีที่แล้ว +7

      Not to mention uhhh Go is faster to write thus making it faster overall 🤓👆

  • @90hijacked
    @90hijacked ปีที่แล้ว +4

    it was fun watching you write go, kind of shocked you instinctively nested everything instead of continuing around the select loop

  • @cobbcoding
    @cobbcoding ปีที่แล้ว +26

    6:02 extremely subtle.

    • @AndrieMC
      @AndrieMC 8 หลายเดือนก่อน

      💀😭

  • @Tigregalis
    @Tigregalis ปีที่แล้ว +6

    1:08:10 "really weird technical decisions" like formatting dates and times in Go
    > The layout parameter describes the format of a time value. It should be the magical reference date
    > Mon Jan 2 15:04:05 MST 2006

  • @demolazer
    @demolazer 2 หลายเดือนก่อน

    So nice watching the code on this channel. The lack of instant LSP or copilot combined with a less noisy syntax highlighting makes it much easier to follow.

  • @3mwithjoao
    @3mwithjoao 13 วันที่ผ่านมา

    Hi "Tsoding", really love your channel and your content. I appreciate your time and skills in Go! :D all the best

  • @СпортСпортивный-к6х
    @СпортСпортивный-к6х ปีที่แล้ว +8

    20:02 yeah, that european onion makes me feel bad tbh.

  • @JasonShi-xc7nu
    @JasonShi-xc7nu ปีที่แล้ว +139

    imagine violating EU laws by 1 line of code

  • @byterbrodTV
    @byterbrodTV ปีที่แล้ว +5

    Such an interesting topic. I very like the stream 👍
    I'm sad that i couldn't present at the live (i have some problems with twitch, it banned me or whatever).
    I have long time wanted to write a simple chat, but I thought it was too simple and boring. This video proves the opposite. I hope that I will find some free time and implement something similar myself.
    Thank you for fun and inspiration! ❤

    • @dixztube
      @dixztube 5 หลายเดือนก่อน

      what did you do to get banned lol

  • @haliszekeriyaozkok4851
    @haliszekeriyaozkok4851 ปีที่แล้ว +2

    1:08:27 you're indeed right. In everytime i make programming my most common mistakes is that i don't know and predict the behaviors of functions, it kinda scares me. Especially in javascript and php predicting that behaviors could be a nightmare.

  • @tiranito2834
    @tiranito2834 ปีที่แล้ว +4

    instead of banning escape sequences, you could print the format removal escape sequence at the end of each message, so that users can choose to write messages with escape sequences if they wish to do so, without affecting everyone else. Or add it as a flag on the server so that you can enable and disable the support for escape sequences.

    • @tiranito2834
      @tiranito2834 ปีที่แล้ว +3

      ohh btw, i just realised something very important, you might want to actually filter some escape sequences or make a whitelist, because there are terminals that support the escape sequences to change the cursor position, so that is something you WILL want to block no matter the situation. You don't want everyone's chat to start printing in the wrong place so yeah, that's yet another thing to look out for.

  • @m1ralai
    @m1ralai 4 หลายเดือนก่อน

    6:01 at this time i realized that you are my mentor in this sector!!!

  • @SeishukuS12
    @SeishukuS12 ปีที่แล้ว +12

    I wouldn't filter all escape chars, the colors are fun... Just need to reset the color after the user's message lol

    • @anon_y_mousse
      @anon_y_mousse ปีที่แล้ว +3

      Agreed, just attach a \e[0m to the end of each user's message and done.

    • @catfan5618
      @catfan5618 หลายเดือนก่อน

      @@anon_y_mousseUntil someone moves the cursor, clears the screen etc…

  • @PouriyaJamshidi
    @PouriyaJamshidi ปีที่แล้ว +1

    This was very informative! Thanks

  • @anon_y_mousse
    @anon_y_mousse ปีที่แล้ว +5

    I'm one day late and your code rusted. How weird. Good thing you use Git or I wouldn't be able to look at both versions. I'm curious about who was posting the script for Shrek. I'm probably old enough that I shouldn't recognize that, but whatever. I was reading a chat a few months back that some of the Go developers had around a decade ago discussing whether to allow different bracing patterns and it amazes me how full of shit they were, the ones that defended the inferior K&R style bracing. The limp-dick argument basically amounted to "it would cause undue processing time when compiling". Funny thing is, you can add a superfluous brace at the start of the next line and just use two braces at the end of whatever scope you're bracing. It only makes their argument more insane when you see how many places where they don't require braces, parentheses or brackets to be K&R style. As if keeping a few extra characters of back context would be too onerous for the compiler when they use operator combinations like

    • @benisrood
      @benisrood ปีที่แล้ว +2

      I know exactly what you are referring to, I've been writing Go for nearly a decade. You are absolutely correct.

    • @anon_y_mousse
      @anon_y_mousse ปีที่แล้ว +1

      @@benisrood But do you prefer K&R style bracing or do you just endure it?

    • @angelcaru
      @angelcaru 6 หลายเดือนก่อน

      > the inferior K&R style bracing
      What inferior K&R style bracing? I only know of superior K&R style bracing :)
      > The limp-dick argument basically amounted to "it would cause undue processing time when compiling" [...] As if keeping a few extra characters of back context would be too onerous for the compiler when they use operator combinations like I don't have any fellow programmers to talk to anymore.
      That may be because of your preference in coding style :)

    • @anon_y_mousse
      @anon_y_mousse 6 หลายเดือนก่อน

      @@angelcaru Go isn't a whitespace sensitive language. The only reason they enforce that braindead rule is because they have some dipshit notion that enforcing a singular style on all programmers leads to better code. It does not. And it's not because of my coding style that I don't have fellow programmers to talk to, it's because most are as dumb as the Go developers.

    • @anon_y_mousse
      @anon_y_mousse 6 หลายเดือนก่อน

      @@angelcaru In case you don't have e-mail notifications turned on, sort by newest to see my response since TH-cam is trying to hide it.

  • @xxxxyyyy-ll3hz
    @xxxxyyyy-ll3hz ปีที่แล้ว +7

    hat would be a better name than 4at ^^ and it keeps the spirit of the cyrilic h imitation

  • @rogo7330
    @rogo7330 ปีที่แล้ว +4

    Imagine admin connecting to see the logs and some MF just constantly sending bell-character to the chat.

  • @mkuranowski
    @mkuranowski 11 หลายเดือนก่อน +1

    19:56 GDPR, article 2.2.c: "This Regulation does not apply to the processing of personal data: [...] a natural person in the course of a purely personal or household activity;"
    tho I wonder if streaming, especially for-profit, would be considered a "purely personal activity".

  • @that_funny_guy496
    @that_funny_guy496 ปีที่แล้ว +7

    when I opened the source code link today for some reason go code have become rust code 🤔

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +6

      Damn, that "Rewrite it in Rust" meme went too far...

  • @PP-ss3zf
    @PP-ss3zf ปีที่แล้ว +4

    its just a hashtable with a mutex over a tcp connection xD maybe another video idea.. implement redis!

  • @rogo7330
    @rogo7330 ปีที่แล้ว +10

    Check how your ssh logs looks like on the server. There's probably a lot of people who trying to login with users like 'urmom', 'root', 'lmao', 'gru', 'fbi' and other funny letters of the alphabet.

    • @rogo7330
      @rogo7330 ปีที่แล้ว +2

      Also in your place I'd consider to setup some firewall, some basic iptables or nftables rules, to be completly sure nothing funny happens.

    • @rogo7330
      @rogo7330 ปีที่แล้ว

      @@Mitakbacktrack people could connect to 6969, so there is no firewall on that at least. Unless Tsoding specifically prepared for that and openned it.

    • @rogo7330
      @rogo7330 ปีที่แล้ว

      @@Mitakbacktrack oh, I missread your message. Tsoding most likely have dynamic IP that geoip-ies to Syberia (kinda). If you need first to login with a browser to VPS provider and then you can connect to machine from that IP - that sucks, because SSH can be used as basic authorization and encryption channel for different stuff, not only to rm -fr entire server.

    • @c4llv07e
      @c4llv07e ปีที่แล้ว +1

      >'s probably a lot of people who trying to login with users like 'urmom', 'root', 'lmao', 'gru', 'fbi' and other funny letters of the alphabet.
      And that was you, wasn't it?

  • @gge6021
    @gge6021 ปีที่แล้ว +8

    mir gefallen deine professionellen deutsch Kenntnisse ngl
    I am german btw.
    Geile Videos mach Sie fertig

    • @lolcat69
      @lolcat69 ปีที่แล้ว +1

      Horny videos will finish me off?

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +5

      @@lolcat69 I guess it's some sort of an old German wisdom or something.

  • @rebokfleetfoot
    @rebokfleetfoot ปีที่แล้ว +16

    don't pretend you didn't know we were going to do that :)

  • @DanelonNicolas
    @DanelonNicolas ปีที่แล้ว +9

    that's the best title ever 😂 it was a great stream😊

  • @jithin.johnson
    @jithin.johnson ปีที่แล้ว +3

    Why is this video not available on Twitch? Videos older than this are still available, wish I could see the Twitch chat in YT!

    • @niter43
      @niter43 ปีที่แล้ว +3

      I guess something happened at 2:27:40 with viewer interaction and Twitch doesn't allow to simply cut out / blur portion of stream

    • @LeandroSQ01
      @LeandroSQ01 ปีที่แล้ว

      Does anybody knows what happened on that part of the video?@@niter43

    • @maybenot909
      @maybenot909 หลายเดือนก่อน

      Good news about the twitch chat

  • @ferguing
    @ferguing 11 หลายเดือนก่อน

    Great video - thanks

  • @x1z53
    @x1z53 ปีที่แล้ว

    Спасибо за контент)

  • @rodelias9378
    @rodelias9378 ปีที่แล้ว +3

    Why are you so authoritarian, Tsoding? I came here to learn about programming. I don't want to have to deal with getting banned if I make a suggestion that turns out to be wrong.

    • @themiddlelayer
      @themiddlelayer ปีที่แล้ว +2

      You forgot where he is from? lol

    • @lionkor98
      @lionkor98 ปีที่แล้ว +1

      dont suggest something you dont know about, that fixes this issue

  • @sireddenied6225
    @sireddenied6225 ปีที่แล้ว +5

    2:00:00 Instead of [redacted[ why didn't you just use a hash on the ip string? That way it still allows tracking and printing without showing the IP address? and you can still use it for data tracking. unless you did it in the last 30 min.

    • @classawarrior
      @classawarrior ปีที่แล้ว +5

      There aren't that many IP (v4) addresses in the world, so the hash could be easily brute forced. Unless he used some secret salt

    • @lionkor98
      @lionkor98 ปีที่แล้ว +1

      FYI that is not GDPR compliant either, hashing personally identifyable information doesnt make it less identifyable as per EU

  • @sepio_
    @sepio_ ปีที่แล้ว +1

    that was a fun stream!!

  • @skr-kute1677
    @skr-kute1677 ปีที่แล้ว

    Very fun strem indeed

  • @ERazzor
    @ERazzor ปีที่แล้ว +24

    It seems like single really slow reading client would break everything. How would you beat this kind of attack?

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +32

      Right, I'm surprised nobody actually tried that on the stream :D
      I guess we could try to maybe set some sort of deadline for writes and if the clients are too slow strike them the way we do for spamming and stuff.
      I'll think about this more. Thank you for reminding me about the Slowloris!

    • @bertrodgers2420
      @bertrodgers2420 ปีที่แล้ว +6

      slow loris is a great attack

    • @ERazzor
      @ERazzor ปีที่แล้ว +3

      @@TsodingDaily what if that would be not one, but several slow clients? Waiting for a deadline for some count of them would be really devastating for every other chat user. For example, setting timeout for 1s (which is small enough to be legit lag) with few dozens of slow clients could lead to about a minute long delay per message. But using async write to clients will produce some unpredictable results and result in higher resources consumption

    • @x1expert1x
      @x1expert1x ปีที่แล้ว +4

      @@TsodingDaily this is a popular TCP attack called slow-loris. Even a tiny cell phone can crash a whole site by opening a bunch of requests that never respond to the TCP handshake.

    • @ERazzor
      @ERazzor ปีที่แล้ว

      @@x1expert1x I’m talking about application vulnerability, not a tcp level attack

  • @vladg1252
    @vladg1252 7 หลายเดือนก่อน +1

    20:50 , I'm sorry, but is it even possible that not all the bytes of the message will reach the client if he uses the TCP protocol, which guarantees the integrity of the data delivered?🥧?🥧?🥧?

    • @vladg1252
      @vladg1252 7 หลายเดือนก่อน

      Oh, and also, I’m quite sure that if not all bytes are written, the conn.Write returns an error. So, “if n

  • @amiraryanmehr6522
    @amiraryanmehr6522 ปีที่แล้ว

    Satobashi kon likes that stuff

  • @cjmarquez
    @cjmarquez ปีที่แล้ว

    If you want to learn go, watch this!

  • @0x2a2f
    @0x2a2f ปีที่แล้ว +8

    sensitive data leakage yayy

  • @vonderklaas
    @vonderklaas ปีที่แล้ว +9

    European Onion :D

  • @mrcrafter_y
    @mrcrafter_y ปีที่แล้ว +3

    Hallo, meine Freunde.

  • @c4llv07e
    @c4llv07e ปีที่แล้ว

    No jokes about socat at the end. 1984.

  • @i007c
    @i007c ปีที่แล้ว +11

    chat in persian is two letters: چت
    😀

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +16

      Yooo! Even more efficient!

    • @eyadfareh9340
      @eyadfareh9340 ปีที่แล้ว +27

      Still four bytes

    • @w花b
      @w花b ปีที่แล้ว

      ​@@eyadfareh9340Don't ruin it! They're having a good time...

    • @rogo7330
      @rogo7330 ปีที่แล้ว +3

      chat in persian be like:
      :3

  • @jannemyllyla1223
    @jannemyllyla1223 ปีที่แล้ว +1

    I think tsoding just wants some random seed and does not bother to move mouse around.

  • @mthia
    @mthia ปีที่แล้ว +1

    9:07 lol, i am using port 6969 in all my projects xdd

  • @abanoubha
    @abanoubha ปีที่แล้ว

    i like this stream 🤠

  • @DelgardAlven
    @DelgardAlven 10 หลายเดือนก่อน +1

    prob u already have learnt that, - you can log IPs of clients as grinding logger machine with no breaking GDPR, till you not using these IPs to track real people identities. Client is not a person, so logging IP of a client is a lawful practice. And you don't have to notify people that you log their IPs.
    And some more, these days IP addresses used by people almost always not associated with these certain people, so even if you are a kaker and wanna track everyone by IP - it would be pretty damn difficult task in most cases.

  • @chigozie123
    @chigozie123 ปีที่แล้ว +8

    Maybe the real difference between noob programmers and the so-called expert programmers is that the noob expects his noob code to just work, while the expert is always second-guessing himself.

    • @SemiDoge
      @SemiDoge ปีที่แล้ว +7

      "Works on my machine"

  • @salihbozkaya9357
    @salihbozkaya9357 ปีที่แล้ว +7

    no,just no! dont make it simple at first, make it overcomplicate with all solid and clean code bullshit that way people give yyou applause

  • @радфем
    @радфем ปีที่แล้ว

    бро легенда

  • @diegoestrada35
    @diegoestrada35 หลายเดือนก่อน

    6:00 intrusive thought

  • @mirged_uwu
    @mirged_uwu ปีที่แล้ว

    Can you give the person who boosted your discord server (Which he just did) permission to write messages?

  • @vellankiindeevar5530
    @vellankiindeevar5530 ปีที่แล้ว +1

    bro you do you use any kind of lsp ?

    • @angelcaru
      @angelcaru 6 หลายเดือนก่อน

      no he doesn't

  • @davidbriggs8109
    @davidbriggs8109 ปีที่แล้ว +1

    learnt a little russia today

  • @BolasDear
    @BolasDear ปีที่แล้ว

    i understand nothing what you do, are you trying to launch soyuz into orbit?

  • @revdznet
    @revdznet ปีที่แล้ว

    how well will rust handle this ?

  • @student6184
    @student6184 ปีที่แล้ว

    which distro are you using :)?

    • @bradstrange1374
      @bradstrange1374 ปีที่แล้ว +2

      I could be mistaken but I think he is using an old version of Debian with i3wm

    • @0xhenrique
      @0xhenrique ปีที่แล้ว +1

      uwuntu - it's based on ubuntu but for animefags

  • @opossum1312
    @opossum1312 ปีที่แล้ว +3

    rule ЗЧ 🤔

  • @ndzumamalate
    @ndzumamalate ปีที่แล้ว

    nahh what did I just see on the bottom details tab😭😭😭😭😭

  • @StupidusMaximusTheFirst
    @StupidusMaximusTheFirst ปีที่แล้ว

    How could they do this to this video thumbnail ??!!! Those bastards!!! 😃

  • @nomadvagabond1263
    @nomadvagabond1263 ปีที่แล้ว +1

    A is also represented as 4, and t as 7, so 447?👀

  • @nexovec
    @nexovec 11 หลายเดือนก่อน

    What even happens when you try to open it in the browser lol?

    • @ddobren5
      @ddobren5 หลายเดือนก่อน

      nothing beacuse this is TCP not web server, browser accepting http.

    • @nexovec
      @nexovec หลายเดือนก่อน

      @@ddobren5 I know that, but like, it just gives 500?

    • @BalkanLeaksArchive
      @BalkanLeaksArchive หลายเดือนก่อน +1

      @@nexovec it will read as if it is the wrong domain, it will not return any http response at all because it is a completely different protocol, so it cannot return anything similar to server error 500

  • @arcxm
    @arcxm ปีที่แล้ว +4

    2:21:42 xD

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +3

      i cpp when ip

    • @arcxm
      @arcxm ปีที่แล้ว +2

      @@TsodingDaily The great Zozin has answered my comment. I feel honored. Thanks for making all the interesting and funny content, learning a lot on the way and recreating it in my way. Keep up the great stuff ♥

  • @channel11121
    @channel11121 ปีที่แล้ว +1

    Onion

  • @demon_hunter9547
    @demon_hunter9547 ปีที่แล้ว +1

    now write it in the C programming language, I don't think it will be that hard actually.

  • @vantadaga
    @vantadaga ปีที่แล้ว +4

    Didn't you say you weren't going to use GO again because of telemetry?

    • @TsodingDaily
      @TsodingDaily  ปีที่แล้ว +32

      Ah, shit, I forgot! Rewriting in Rust on the next stream!

    • @lievenpetersen
      @lievenpetersen ปีที่แล้ว +8

      @@TsodingDaily 7:04 When it was compiling really "slowly" at the start, warming up the cache sort to speak, something in the depths of my confused brain was like. Wait a minute, didn't I hear some dude on the internet complain about some compiler sending telemetry? LOL That delay felt just the right length for some (bloated) network traffic :P

    • @muhammadmustafa3158
      @muhammadmustafa3158 ปีที่แล้ว +4

      @@TsodingDaily You can opt out of it I believe

  • @system62_
    @system62_ ปีที่แล้ว

    Please tutor vim and setup vim

  • @MaxAmanciodeLimaSantos
    @MaxAmanciodeLimaSantos ปีที่แล้ว +1

    Try being DDoSed using Elixir :v

  • @elwan-l1
    @elwan-l1 ปีที่แล้ว +1

    You are funny af

  • @silibaka-pj3pm
    @silibaka-pj3pm ปีที่แล้ว

    how about p2p, serverless, nat hole punching chat

  • @ScienceMinisterZero
    @ScienceMinisterZero ปีที่แล้ว +1

    Should have used Rust.

  • @nothappyz
    @nothappyz ปีที่แล้ว

    What a nice fcking stream

  • @donovanvanderlinde3478
    @donovanvanderlinde3478 ปีที่แล้ว

  • @manucaouette
    @manucaouette ปีที่แล้ว +2

    Any Steins;Gate fans out there who find it hilarious that he called his project 4@ (channel)?

    • @revenevan11
      @revenevan11 7 หลายเดือนก่อน

      Late reply but I love Steins;Gate!
      I also thought of @channel when I saw the name lol

  • @sda-jf3cc
    @sda-jf3cc ปีที่แล้ว

    rule 34

  • @SBcode-s3n
    @SBcode-s3n ปีที่แล้ว +2

    Your emacs config

  • @lame_lexem
    @lame_lexem ปีที่แล้ว

    28:56 lol the vps name

    • @lievenpetersen
      @lievenpetersen ปีที่แล้ว +1

      wait till someone backdoors urmom xD

  • @1Thor61storm8
    @1Thor61storm8 ปีที่แล้ว

    Cool name! 4at -> four at -> forat (hole in Catalan)

  • @zanez7953
    @zanez7953 ปีที่แล้ว +7

    Golang mentioned

  • @youradvertiser6034
    @youradvertiser6034 ปีที่แล้ว

    Bros German?

    • @3mwithjoao
      @3mwithjoao 13 วันที่ผ่านมา

      Russian, I believe.