README - frontends - front-ends for some sites (experiment) | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
README (1742B) | |
--- | |
1 Frontends for: | |
2 * Youtube | |
3 | |
4 | |
5 Status | |
6 ------ | |
7 | |
8 Actively maintained: | |
9 * Youtube | |
10 | |
11 Unmaintained and archived: | |
12 * Duckduckgo | |
13 * Reddit | |
14 * Twitch (not working anymore, it also now required 2FA and OAUTH). | |
15 | |
16 | |
17 Dependencies | |
18 ------------ | |
19 | |
20 * C compiler. | |
21 * LibreSSL + libtls. | |
22 * make | |
23 | |
24 | |
25 Build | |
26 ----- | |
27 | |
28 To compile a specific front-end: | |
29 | |
30 $ make youtube | |
31 | |
32 or all using: | |
33 | |
34 $ make | |
35 # make install | |
36 | |
37 | |
38 Features | |
39 -------- | |
40 | |
41 - Search videos. | |
42 - Doesn't use JavaScript. | |
43 - Doesn't use (tracking) cookies. | |
44 - CSS is optional. | |
45 - Multiple interfaces available: CGI web, CLI, gopher (gph), this is a | |
46 work-in-progress. | |
47 - Shows an Atom feed of the user/channel. | |
48 - Doesn't use or require the Google API. | |
49 - CGI interface works nice in most browsers, including text-based ones. | |
50 On OpenBSD it runs "sandboxed" and it can be compiled as a static-link… | |
51 binary with pledge(2), unveil(2) in a chroot. | |
52 | |
53 | |
54 Cons/caveats | |
55 ------------ | |
56 | |
57 - Order by upload date is incorrect (same as on Youtube). | |
58 - Some Youtube features are not supported. | |
59 - Uses scraping so might break at any point. | |
60 | |
61 | |
62 Install HTTP CGI | |
63 ---------------- | |
64 | |
65 Nginx + slowcgi example: | |
66 | |
67 location /idiotbox/css/.* { | |
68 root /home/www/domains/www.codemadness.org/htdocs/idiotb… | |
69 } | |
70 | |
71 location ~ ^/idiotbox(/|/\?.*)$ { | |
72 include /etc/nginx/fastcgi_params; | |
73 fastcgi_pass unix:/run/slowcgi.sock; | |
74 fastcgi_param SCRIPT_FILENAME /cgi-bin/idiotbox; | |
75 fastcgi_param SCRIPT_NAME /cgi-bin/idiotbox; | |
76 fastcgi_param REQUEST_URI /cgi-bin/idiotbox; | |
77 } | |
78 | |
79 httpd + slowcgi example: | |
80 | |
81 location "/idiotbox" { | |
82 root "/cgi-bin/idiotbox.cgi" | |
83 fastcgi | |
84 } | |
85 | |
86 | |
87 When using a chroot make sure to copy /etc/resolv.conf and /etc/ssl/cert… | |
88 | |
89 To test from the command-line you can do: | |
90 | |
91 QUERY_STRING="q=funny+cat+video" ./main | sed 1,2d | lynx -stdin |