naiveproxy
shite
naiveproxy | shite | |
---|---|---|
12 | 24 | |
6,235 | 181 | |
- | - | |
6.0 | 7.6 | |
7 days ago | 3 months ago | |
C++ | Shell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
naiveproxy
- Naiveproxy – Make a Fortune Quietly
-
500 Lines or Less – Writing a useful program in fewer than 500 line code – AOSA
What language is "Electron" written in and how many lines of it are used. Even more, what languages are Chromium brower engine and Node.js written in and how many lines of it are used.
When we make assumptions, e.g., no need to initialise hardware, no need for bootcode, no need for bootloader, no need for drivers, no need for kernel, no need for operating system, and so on, then, IMHO, the comparisons do not make as much sense.
Perhaps it is not "how you use them" but "what they can actually do". To me, getting a computer to boot is still an essential task. Building things "from the ground up" is still, to me, the path with fewer limitations and boundaries. As I understand it, building things from the ground up is how the creator of UNIX preferred to work.
To be honest, IMO, it's really about "what you are trying to do". And the assumption in comments like these is that one is trying to do the exact same thing in (less than or equal to 500 lines of) language X, Y or Z. But what if one wants to do somehting different that no one has done before.
When I was a kid, I faintly remember Lego sets that sometimes had pre-constructed "add-ons" with moving parts. These attachments might have even been motorised. Although such attachments might have had a Lego logo with a trademark symbol on them, making them appear to be part of a set, they did not really belong with the plastic building blocks. They were obviously not meant to be pulled apart and rebuilt.
The pre-compiled "browser", a single large binary that does "everything its user could ever want to do" as determined by someone else, not the user, controlled and distributed by an advertising services company, is it a building block or one of those motorised add-ons. How many "developers" pull the browser apart and rebuild it.^1 It seems the advertising company is expecting most will not do that.
1. One exception, which uses only the networking code, is https://github.com/klzgrad/naiveproxy/
The "modern browser" is what could be many programs. Instead, these are all rolled into one.
- Naive Proxy
-
Obfuscate Wireguard (with V2Ray)
Your best bet would be naiveproxy. WG does not design with obfuscation in mind. Or you could use shadowsocks with v2ray instead.
- 懂哥指导下自建梯子教程
- 大家有没有觉得翻墙更困难了?
- Question about setting VPS to use it as VPN
- Shadowsocks 10 周年
-
Bypass school restrictions
If it still fails, try Outline VPN which Shadowsocks protocol made some attempt to evade detection. If you're only using browsers, https://github.com/klzgrad/naiveproxy can masquerade common traffic assuming your school doesn't use whitelist.
- Next Step to Circumvent DPI
shite
-
Ask HN: What's the simplest static website generator?
Pandoc can be your friend. My site maker [1] is built around it.
I think a hundred or so well-chosen lines of your favourite scripting language can do wonders. Mine is ~300 lines of Bash because I over-engineered a thing or two for kicks. The core of it is maybe 50 lines.
[1] https://github.com/adityaathalye/shite
The README documents the architecture and rationale. Maybe it will help you figure out yours. Happy hacking!
-
Useful Uses of Cat
[1] https://evalapply.org
[2] https://github.com/adityaathalye/shite?tab=readme-ov-file#te...
-
500 Lines or Less – Writing a useful program in fewer than 500 line code – AOSA
Bookmarked! These look like amazing study projects; the kind one can copy and learn from. Quite like how they do it in art school. Each one of them looks like it solves a nontrivial problem, and edifies the reader on the basic contours/tenets of the problem/solution space.
I love this kind of stuff, because it shows one _can_ solve a pretty juicy problem with not that much code, honestly. Also because it suggests that the industrial-strength equivalent has a lot more in for use cases, corner cases, and/or optimisations that are not relevant for one's requirements (at least not yet, maybe not ever).
I aspire to write code like that. Useful, concise, but not obtuse. Some of my code is not as significant as those examples, and maybe falls short of my ideals, but it gets a lot done in well under 500 loc. e.g. my website maker in Bash [1] (hot-builds and hot-refreshes without JS), or the JS that drives text art animations for Hanukkah of Data [2].
[1] https://github.com/adityaathalye/shite is about 350 LoC counted this way (excluding the script containing HTML templates).
$ grep -E -v "^$|\\s?#" bin/{events,metadata,templating,utils,hotreload}.sh | wc -l
-
“Make” as a Static Site Generator
I love the code [1]. Mine [2] is a bit over engineered because I wanted hot-reloading (without JS), and it was a delightful yak shave.
But the basic idea is the same --- heredocs for templating, using a plaintext -> html compiler (pandoc in my case), an intermediate CSV for index generation.
Very nice!
[1] https://github.com/karlb/karl.berlin/blob/master/blog.sh
[2] https://github.com/adityaathalye/shite
- FLiP Stack Weekly 28 Jan 2023
- FLiP Stack Weekly 28-Jan-2023
- Show HN: Shite – little hot-reloadin' static site maker from shell
-
Show HN: Shite: The little hot-reloadin' static site maker from shell
xdotool emulates user actions under the X Window System (e.g. typing, mouse around, click etc.).
I'm using it to send keypresses to the browser, as you rightly observe.
So if I want to just reload a page, the browser gets F5.
To GOTO some page, it gets a stream of keystrokes for the URL characters and then Enter.
It's really that simple-minded, and it works!
This case statement covers my usage: https://github.com/adityaathalye/shite/blob/master/bin/hotre...
-
Pandoc [a universal document converter] 3.0
Pandoc powers my little static site maker:
cf. https://github.com/adityaathalye/shite/blob/master/bin/templ...
__shite_templating_compile_source_to_html() {
What are some alternatives?
forwardproxy - Forward proxy plugin for the Caddy web server
shell-genie - Your wishes are my commands
Signal-TLS-Proxy
CameraTraps - PyTorch Wildlife: a Collaborative Deep Learning Framework for Conservation.
TextSecure - A private messenger for Android.
nitter - Alternative Twitter front-end
trojan - An unidentifiable mechanism that helps you bypass GFW.
SirTunnel - Minimal, self-hosted, 0-config alternative to ngrok. Caddy+OpenSSH+50 lines of Python.
oxen-mobile-wallet - A Mobile Wallet for Oxen
imaginAIry - Pythonic AI generation of images and videos
forwardproxy - Forward proxy plugin for the Caddy web server
logs-benchmark - Logs performance benchmark repo: Comparing Elastic, Loki and SigNoz