Hacker Newsnew | past | comments | ask | show | jobs | submit | arch-choot's commentslogin

Just bare wireguard on 51820? I think I had tried that but no luck; but I don't remember for sure.


I'm using a non-standard port (above 10000). Otherwise, nothing special about my configuration. Perhaps 51820 is blocked?

It is admittedly quite slow/intermittent though; I wouldn't be surprised if that's the reason it didn't look like it was working for you.


Sorry if its a bit unclear; the first part was HKG -> LHR when I kinda discovered it (9th May), and then the HTTPS proxy test was my flight back LHR -> HKG (18th May)


Got it. Nice work and great write-up! Teaches a few things.


Yea, I run wireguard & OpenVPN on port53 (different VPS) just in case it works. Unfortunately my experience with the "pay to use" WiFi so far has been they validate that port 53 is valid DNS traffic, and often don't allow arbitrary resolvers (e.g. `dig example.com @1.1.1.1` will not work)


You can use iodine and do a delegation from a real domain: It encodes packets in subdomains of your domain (and decodes them with a special DNS server). It is not fast.

I like to use SNI with e.g. pagead2.googlesyndication.com and www.googletagmanager.com because a lot of captive portals put ads on them, and I it on a google cloud instance since they own the IP.


I've gotten this to work, but it's just so slow that it's not worth it.


Those are great domains for this kinda thing! Thanks for the idea


I think that's essentially what my HTTPS proxy does; except rather than actually being over WhatsApp (i.e. using WA messages or w/ever), the SNI tricks their authorization into thinking I'm using WA, while I am connecting to my proxy.


No, yours would immediately break if they whitelist IPs. This one is pretty much officially sanctioned WhatsApp traffic.


Ah right, if they also impose IP restrictions this would not work


There may not be any "free messaging" or similar offers is my guess. In fact using ECH it is already possible to spoof the SNI but make a real TLS handshake to the underlying domain; you can try it on my test website[0] with wireshark open on the side (if your browser supports ECH)

[0] https://rfc5746.mywaifu.best:4443/


Yep; on my way to LHR I was intrigued by their "free messaging" and wanted to poke around, with the SNI hypothesis I did the actual HTTPS proxy setup on a VPS while in the UK, so I could actually try and proxy arbitrary browser traffic on the way back


So there's no way to get back in if you step out for food?


Interesting! I'd done something similar in Typescript to learn more about BT, and then redid it in rust to learn rust (https://github.com/ckcr4lyf/kiryuu).

However I decided to just use redis as the DB. It sounds like your entire DB is in memory? Any interesting design decisions you made and/or problems faced in doing so?

(My redis solution isn't great since it does not randomize peers in subsequent announces afaik)


in my case using the in-memory ETS has been the best decision, it lets me read&write the peer's data concurrently each on its own process so contention and latency are minimal. the only sequential part is when a new swarm is initially created but that doesn't happen a lot so its fine. there's sadly no native support for taking random rows directly from the tables, so for now i grab the whole swarm and then take a random subset (https://github.com/Dahrkael/ExTracker/blob/master/lib/ex_tra...)


I don't remember if there's a way to see how many slots an ets table has, but if you're ok with imperfect distribution, you could maybe pick a slot at random and use ets:slot/2 to get all the items in that slot, then select from those.

You might be able to get the slot count from eta:table_info(Table, stats), although that's not intended for production use, so the format may change without notice.


Pretty cool! I've been living in HK for 7 years now and not moved past the basic few phrases - mostly because English gets you so far there's no "forcing factor" (vs. in Tokyo you'd be kinda forced to learn Japanese).

One suggestion, though it would be quite high effort: have you considered also adding a button or something for the pronunciation? I think the hardest part for learners is knowing their reading of the jyutping sounds correct (especially with all the tones).


Good question. I have actually and was recently playing around with that. The problem isn't necessarily the recordings (since I've accepted that I'm willing to record all the possible Cantonese sounds for all the words myself - I'm not a fan of AI and I don't use it in my personal life if I can avoid it), but more because of the nature of the project. I haven't figured out a way to be able to get the base directory of the site so that I can load all of the audio files from a specific directory, specially when being used in offline mode. If I was only running this project from a webserver, it's easy to get the website root and just append the audio location, but if you download the project for offline use, there doesn't seem to be an easy way to access the base dir from the file:// protocol perspective. I have some ideas but I'll need to experiment with that over time. As a stop gap measure I've added the "Core Audio Reference" page which is my recordings of all of the tones, initials, and finals. But it's still not the best experience.

Once I figure out the base dir thing I'll be able to easily just make every automatic romanization that you see an a href which points to the mp3.


You couldn't just have an 'audio' folder next to 'dungeons'?


Hey @dbtc, I did think about doing this but originally decided to try and find another solution. Reason being that atm my current directory structure is nested (with a variable length of nesting), and I also wanted to be able to use the audio files from anywhere in the app, which means outside of the dungeons directory. But you bringing it up again makes me think if I'm realistically going to be using them outside of the dungeons either way. Also, even if the main folder containing the audio files is called something else, as long as I have a flatter directory structure, I can make it work. I'll consider a flatter more predicable approach since having the audio files for each word is much more beneficial than not.

Thank you!


imo BT is not at fault here (if that's what your were implying) - It is a conscious choice by Apple chooses to always listen for these beacons and prompt the user with a pop-up (even if they turn it "off" via the pull down settings).

A "solution" is just to only view these devices when a user explicitly goes into some kind of "pairing mode" (but needs more clicks from a user).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: