a gemini line mode client
git clone
Log (Feed) | Files | Refs (Tags) | README | LICENSE

DateCommit messageAuthorFiles+-
2024-04-12 23:30client: save errno properly in file_requestOndřej Fiala1+2-2
2024-04-11 09:57gmnlm: add flag to disable ANSI escapesOndřej Fiala2+13-4
2024-04-11 09:45gmnlm: add "redisplay" commandOndřej Fiala1+4-0
2024-04-11 11:52gmnlm: fix memory leaks in display_documentOndřej Fiala1+35-29
2024-04-11 09:17gmnlm: don't repeat request when searchingOndřej Fiala1+15-7
2024-03-26 01:21gmnlm: fix quotes not being displayedOndřej Fiala1+1-1
2024-03-26 01:15gmnlm: don't pad 3rd level headingsOndřej Fiala1+1-1
2024-03-26 01:07gmnlm: make headings boldOndřej Fiala1+2-0
2023-12-27 02:33gmnlm: add table of contents & jump to heading commandsOndřej Fiala1+86-8
2023-12-27 00:45gmnlm: improve correctness of counting printed columnsOndřej Fiala1+6-14
2023-12-27 00:02parser: remove whitespace at the beginning of tokensOndřej Fiala4+28-28
2023-12-26 22:37gmnlm: allow following links that haven't been printed yetOndřej Fiala1+18-10
2023-12-26 12:12several interconnected improvementsOndřej Fiala7+267-356
2023-11-09 02:03gmnlm: include hostname in TOFU error messagesOndřej Fiala1+11-11
2022-01-02 03:41gmnlm: add defaults to promptsOndřej Fiala1+12-9
2023-11-21 00:59gmnlm: update window size on every request to display moreOndřej Fiala1+7-7
2023-11-05 02:07gmnlm: calculate number of rows available for text correctlyOndřej Fiala1+32-17
2023-01-16 add maintenance noticeDrew DeVault1+2-0
2022-12-15 20:55gmnlm: treat invalid cert and cert mismatch similarlyOndřej Fiala1+11-8
2022-07-25 08:38gmnlm: make ./ prefix mandatory for relative URLsOndřej Fiala1+77-32
2022-07-02 10:36gmnlm: update synopsisOndřej Fiala1+1-1
2022-07-02 04:59gmnlm: prompt for redirects, make max redirects configurableOndřej Fiala2+48-5
2022-07-02 02:45gmnlm: tidy up help messageOndřej Fiala1+13-16
2022-07-01 03:51gmnlm: don't assume everything starting with b/f is b/f commandOndřej Fiala1+8-2
2022-06-22 03:39gmnlm: save non-sensitive input requests in historyOndřej Fiala1+3-1
2022-05-18 22:00Add d[N] to download Nth linkSebastiano Tronto1+26-7
2022-04-20 20:05gmni: fix -d truncationSebastian LaVine1+1-1
2022-02-05 21:43gmnlm: fix memory leak in do_requestsOndřej Fiala1+1-0
2022-02-05 11:44gmnlm: strip control sequences from plaintext renderingOndřej Fiala1+5-1
2022-01-25 16:16gmnlm: d <path> -> d [path]Ondřej Fiala1+2-2
2022-01-14 14:57fix null dereferenceOndřej Fiala1+1-1
2022-01-12 18:04gmnlm: add optional custom bookmark titlesOndřej Fiala1+5-9
2022-01-09 19:20gmnlm: output newline when quiting via Control-DOndřej Fiala1+1-0
2022-01-03 12:13gmnlm: update usage to match man pageOndřej Fiala1+1-1
2021-11-10 17:20clear client certificate when none is requiredRené Wagner1+2-0
2021-11-03 15:24fix wrong path length check and error messageRené Wagner1+2-2
2021-11-03 13:29allow ~ as home alias in file path for downloadsRené Wagner1+35-9
2021-10-29 10:47fix missing last line in gmnlm in some casesRené Wagner1+1-3
2021-10-28 20:09fix downloading of filesRené Wagner1+8-4
2021-09-21 14:13Makefile: update dependencies in pkgconfigDrew DeVault1+1-1
2021-07-01 18:22add hints to history for easier navigationRené Wagner1+8-4
2021-06-15 16:37gmni: headers are not displayed for REDIRECT and INPUT responses in SHOW_HEADERS and ONLY_HEADERS modesk1nkreet1+5-8
2021-06-10 11:36gmnlm: host freed too early, causing UAFAndrew1+1-1
2021-04-02 13:31gmnlm: Include blank line to frame browser window when reading moreZach DeCook1+1-0
2021-04-02 13:31gmnlm: Improve paging behavior on narrow terminalsZach DeCook1+6-2
2021-03-16 04:07all: use posix_dirname rather than dirnameEyal Sawady2+10-22
2021-03-09 10:21gmnlm: create cert dir on 6x responseEyal Sawady3+9-1
2021-03-07 16:31Makefile: install libgmni.a with 644 permsAriadna Vigo1+1-1
2021-03-07 17:21Always take the last cert, CA or notDrew DeVault1+0-3
2021-03-05 13:50Implement basic client certs for gmnlmDrew DeVault3+67-10
2021-03-04 22:24Initial support for client side certificatesDrew DeVault11+264-17
2021-03-04 21:22TOFU: more improvements to new cert handling logicDrew DeVault1+3-3
2021-03-04 18:00Remove useless variable castDrew DeVault1+0-1
2021-03-04 17:58Discard CA certs unless there's no otherDrew DeVault1+3-0
2021-03-04 17:19tofu: don't discard CA certsDrew DeVault1+0-3
2021-03-04 15:59all: rewrite with BearSSL rather than OpenSSLDrew DeVault11+309-267
2021-02-23 14:43fix display of message on TOFU_FINGERPRINT_MISMATCHRené Wagner2+4-1
2021-02-02 16:20jump more than one entry back or forth in historyRené Wagner1+20-17
2021-01-18 20:26Fix incorrectly missing -g flagGiuseppe Lumia1+1-1
2021-01-07 08:15Fix OpenBSD compilation errorsGiuseppe Lumia2+3-3
2021-01-05 16:24preserve all bytes except spaces when wrappingRené Wagner1+1-1
2021-01-03 18:28fix premate line wrapRené Wagner1+3-0
2020-12-01 00:44Implement <n>| commandEyal Sawady1+20-1
2020-11-22 17:52Refactor gmni to use Curl_URLAlexey Yerin1+31-9
2020-11-20 16:15Fix more strncpy bugs in gmnlm and tofuWilliam Casarin2+3-3
2020-11-18 09:44Fix typo in error message.Tommy Nguyen1+1-1
2020-11-11 22:52Fix bug on mkdirs callsGiuseppe Lumia2+22-7
2020-11-07 22:58gmnlm: fix a few strncpy compile errors on gcc 9.3William Casarin1+2-2
2020-11-07 00:23Simplify posix_dirname logicGiuseppe Lumia1+1-6
2020-11-04 08:08Remove -D option from install commandsGiuseppe Lumia2+12-9
2020-11-04 08:08Fix install in case of missing docs compilationGiuseppe Lumia2+6-4
2020-11-03 09:06fix typo in PERMANENT FAILURE responseRené Wagner1+1-1
2020-11-02 21:37Improve the -j usageJon Higgs1+2-2
2020-11-02 18:37Check if pkg-config is valid before checking for libsAlexandre Oliveira1+5-0
2020-10-31 22:51Initialize result if res != GEMINI_OKConnor Kuehl1+1-0
2020-10-29 22:54Fix const comparison WerrorJoe Jenne1+1-1
2020-10-29 21:59{var//pattern/replacement} is not POSIX compliantCédric Hannotier1+4-4
2020-10-29 21:57Separate path and read buffers & use snprintfCédric Hannotier1+6-5
2020-10-29 04:03Add uninstall targetLuna Nieves1+9-0
2020-10-24 21:37Added missing filename in installMartijn Braam1+1-1
2020-10-24 18:04Remove -fPICEyal Sawady1+1-1
2020-10-24 17:55Re-add public headersEyal Sawady4+317-1
2020-10-24 17:40Add static library for gmniMartijn Braam14+57-332
2020-10-24 15:05Fix possibly uninitialized variableDrew DeVault1+1-1
2020-10-21 14:15Fix plaintext displayEyal Sawady1+15-4
2020-10-20 16:55Add '|' to pipe page into an external programEyal Sawady1+64-0
2020-10-20 16:55Add 'd' to download pageEyal Sawady6+87-2
2020-10-20 16:55gmnlm: separate do_requests and display_responseEyal Sawady1+166-165
2020-10-07 04:35Remove gemlm with make cleanChris Vittal1+1-1
2020-10-06 16:53gmnlm: Fix segfault when local file does not existCallum Brown1+7-0
2020-10-05 18:42Display last line when it doesn't end in a newlineEyal Sawady1+1-1
2020-09-29 05:45gmnlm: open_bookmarks: call mkdirsEyal Sawady1+9-0
2020-09-30 13:36Fix untrusted certificate messageCallum Brown1+1-1
2020-09-29 21:49Init known_hosts prior to fopen to avoid segfault.Kevin Sangeelee1+2-1
2020-09-29 17:19gmnlm: add -W optionDrew DeVault2+12-2
2020-09-29 03:42gmnlm: show URL on untrusted certEyal Sawady1+13-6
2020-09-27 22:06Fix truncated hashes in known_hostsDrew DeVault1+2-2
2020-09-25 16:28Add 'i' to show media type parametersEyal Sawady1+100-28
2020-09-27 17:32Further improvement to quote displayDrew DeVault1+1-1
2020-09-27 17:25Improve display of preformatted & quotesDrew DeVault1+2-2
2020-09-27 15:54tofu.c: clarify reuse warningDrew DeVault1+2-2
2020-09-27 15:40TOFU: verify hostnamesDrew DeVault1+7-2
2020-09-27 14:36Revert "gmnlm: p: require whitespace before link number"Drew DeVault1+2-2
2020-09-27 12:51gmni: improve unknown trust messageDrew DeVault1+2-1
2020-09-26 20:59Fix segfault on connection refusedDrew DeVault1+3-2
2020-09-26 17:13TOFU: use ~/.local/share/gemini/known_hostsDrew DeVault1+2-2
2020-09-24 19:32gmnlm: handle CRLF line endingsEyal Sawady1+3-0
2020-09-24 18:56gmnlm: p: require whitespace before link numberEyal Sawady1+2-2
2020-09-24 18:49gmnlm: open bookmarks if started without URLEyal Sawady1+27-2
2020-09-24 18:28gmnlm: return to previous page on empty inputEyal Sawady1+8-0
2020-09-24 15:44Close fd after freeing SSLCharles E. Lehner1+5-5
2020-09-24 15:35Fix bookmark save/openEyal Sawady1+3-5
2020-09-24 06:09Add 'r' to reloadEyal Sawady1+5-0
2020-09-24 05:52gmni: use stdio to write bodyEyal Sawady1+2-2
2020-09-24 add args for install directoriesEyal Sawady1+9-1
2020-09-23 22:57Fix a bug causing some text to be duplicatedEyal Sawady1+1-0
2020-09-23 16:50Fix memory leaksEyal Sawady6+84-16
2020-09-23 16:55Fix search commandDrew DeVault1+1-1
2020-09-23 remove project-specific codeDrew DeVault1+7-2
2020-09-22 13:10Add 'p' to view link URL without visitingArav K1+24-0
2020-09-22 23:24Makefile: clean: remove objectsEyal Sawady1+1-1
2020-09-22 11:39Correctly abort when launched with invalid URLLeon Henrik Plickat1+3-1
2020-09-22 09:20Add 'H' to view all page historyArav K1+27-10
2020-09-22 02:22Fix issues with tofu.cDrew DeVault1+2-1
2020-09-22 02:21gemini_response_finish: handle null ssl connectionEyal Sawady1+3-1
2020-09-21 23:17Makefile: silence gmni CCLD commandEyal Sawady1+1-1
2020-09-21 19:37Implement TOFUDrew DeVault9+480-37
2020-09-21 13:17Link with libraries before objectsCharles E. Lehner1+2-2
2020-09-21 04:09save_bookmark: fix bookmark file creationEyal Sawady1+8-1
2020-09-21 11:56gmnlm.c: add limits.hDrew DeVault1+1-0
2020-09-21 03:52Update README.mdDrew DeVault1+8-2
2020-09-21 03:50Implement bookmarksDrew DeVault4+152-8
2020-09-21 03:33Implement file:// URLsDrew DeVault1+51-1
2020-09-21 03:13Swap quote character to >Drew DeVault1+1-4
2020-09-21 use newer asciinema linkDrew DeVault1+1-1
2020-09-21 02:37gmnlm: add install target & man pageDrew DeVault2+27-2
2020-09-21 02:34Fix segfault moving to next result outside searchDrew DeVault1+13-7
2020-09-21 02:28Implement preformatted textDrew DeVault3+39-14
2020-09-21 02:20Fix segfault on name resolution errorsDrew DeVault1+1-2
2020-09-21 02:11Correct oversight which broke link followingDrew DeVault1+1-1
2020-09-21 02:09Implement regex-based page searchDrew DeVault1+87-30
2020-09-21 01:53Remove unnecessary TODODrew DeVault1+0-1
2020-09-21 01:42Add help messageDrew DeVault1+15-2
2020-09-21 01:35Allow user to navigate by typing in URLDrew DeVault1+25-12
2020-09-21 01:29Show [b]ack and [f]orward prompts contextuallyDrew DeVault1+8-4
2020-09-21 01:22Expand wrapping to all token typesDrew DeVault1+54-38
2020-09-21 01:02Whitelist control sequences in wrap()Drew DeVault1+4-3
2020-09-21 00:57Remove obsolete TODODrew DeVault1+0-1
2020-09-21 00:52Implement basic word wrappingDrew DeVault1+57-4
2020-09-21 00:42Indent # and ## to line up with textDrew DeVault1+3-0
2020-09-21 00:13Improve linksDrew DeVault1+3-3
2020-09-21 00:11Add reduced-unicode modeDrew DeVault1+13-9
2020-09-21 00:07Scale down imageDrew DeVault1+1-1
2020-09-21 add link to asciinemaDrew DeVault1+2-0
2020-09-21 00:01Merge normal mode & pagination promptsDrew DeVault1+125-94
2020-09-20 add gmnlmDrew DeVault1+5-2
2020-09-20 23:40gmnlm: Implement input responsesDrew DeVault1+45-1
2020-09-20 23:40Don't + encode spaces in URLsDrew DeVault1+0-13
2020-09-20 23:24.gitignore: updateEyal Sawady1+2-1
2020-09-20 23:33gmnlm: refactorDrew DeVault1+166-143
2020-09-20 23:14gmnlm: implement redirectsDrew DeVault1+48-32
2020-09-20 23:09gmnlm: display plaintext filesDrew DeVault1+43-2
2020-09-20 23:01Implement historyDrew DeVault1+66-18
2020-09-20 22:41gmnlm: implement link followingDrew DeVault1+47-18
2020-09-20 22:31Initial work for line-mode browserDrew DeVault5+230-2
2020-09-20 21:47Initial pass on text/gemini parserDrew DeVault4+208-1
2020-09-20 20:47Detect attempts to use non-gemini URLsDrew DeVault2+18-2
2020-09-20 20:44Prohibit >5 redirectsDrew DeVault1+23-2
2020-09-20 20:41Implement SENSITIVE INPUT responseDrew DeVault2+44-17
2020-09-20 20:32Add response status enumDrew DeVault4+120-80
2020-09-20 19:14assert(url) after setting input URLDrew DeVault1+1-0
2020-09-20 19:14Set SOCK_STREAM regardless of hintsDrew DeVault1+1-1
2020-09-20 19:10client.h: clarify some constraintsDrew DeVault1+5-9
2020-09-20 18:55Add make install targetDrew DeVault1+7-1
2020-09-20 18:51Rename binary from gmnic -> gmniDrew DeVault5+73-73
2020-09-20 18:49Add README.mdDrew DeVault1+22-0
2020-09-20 18:44Add man pageDrew DeVault3+87-2
2020-09-20 18:41Change -C to -E for client certificatesDrew DeVault1+5-5
2020-09-20 18:37Suppress trailing newline if stdout is not a TTYDrew DeVault1+3-2
2020-09-20 drop unused LIBSSL variableDrew DeVault1+0-4
2020-09-20 18:21Implement -4 and -6Drew DeVault2+11-4
2020-09-20 18:18Implement -L flag (follow redirects)Drew DeVault1+12-3
2020-09-20 18:18Correct trailing line feed detectionDrew DeVault1+5-5
2020-09-20 18:13Print line feed on text/* response if not includedDrew DeVault1+14-4
2020-09-20 18:09Implement inputDrew DeVault3+163-38
2020-09-20 17:30Implement reading response body & metaDrew DeVault3+96-30
2020-09-20 17:06Initial request riggingsDrew DeVault9+2310-5
2020-09-20 14:17Initial commitDrew DeVault6+864-0