git.y1.nz

bro

URI-based multiplexer
download: http://git.y1.nz/archives/bro.tar.gz
README | Files | Log | Refs

TODO

      1 [x] convert to C program instead of shell script,
      2     + make it exec into lwl instead of calling it via a shell
      3 [x] Find/implement a gopher client + digester
      4 
      5 [ ] figure out how to deal with retrieved filenames accurately
      6     - gopher, you can use the selector (i think..?)
      7     - http/https, it's a messy part of the protocol. Which sucks a lot :(
      8 
      9 [ ] Use temporary files for saving any files
     10     - use open() with O_TMPFILE 
     11     - session dir default in config.h is /tmp,
     12       or specified with -C (standard flag for this)
     13 
     14 [ ] Use tmpfiles for session history
     15     - keep all pages in the current session saved to files under a tmp dir (?)
     16                                                    *or w tmp filename prefix?
     17     - with a "session" file that lists them in order, newline-separated?
     18       (we gucci, the max number is like 600,000 (/proc/sys/fs/file-max))
     19     still need to work out a few details on this....
     20 
     21 [ ] Use a more suckless HTTP/HTTPS implementation than wget
     22     -> perhaps hurl? Shorter, but kinda ugly of code
     23      + doesn't actually implement important http things, like redirects.
     24 
     25 [/] interpret protocol + viewer from URI
     26     [x] Default to "file" scheme when no url is provided
     27     [x] file: try to open local file relative to pwd
     28     [x] http,https: download with wget
     29     [ ] ftp?
     30     [x] gopher: TODO.... make "wget but for gopher"? (A: hurl, for now...)
     31 
     32 [ ] (ACTUALLY) determine filetype and determine behavior based on that
     33     [ ] .html: digest then view with lwl
     34     [ ] .gph: digest then view with lwl
     35     [ ] .txt/.md/(no ext): view directly with lwl/less
     36     [ ] .png/.jpg/etc: use feh? (as an example, not in my config)
     37 
     38 [ ] extract scheme- and extension-based behavior into config.h

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.