Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TLS Support for IRC communication #90

Merged
merged 2 commits into from
Jul 17, 2022

Conversation

Kab1r
Copy link
Contributor

@Kab1r Kab1r commented Jul 17, 2022

Overview

TLS allows for encrypted communication with the IRC server.

Changes

  • Add EnableTLS bool to config structs
  • Add --tls CLI flag defaulted to true (Can be set to false with --tls=false)
  • Move Hard-coded port to server address (Note: RFC 7194 does specify a default port for IRC over TLS as an alternative if hard-coding is preferred)
  • Change default port used for IRC communication
  • Open socket with crypto/tls when TLS is enabled in config struct (Note: Presently TLS certificate verification is disabled due to widespread use of self-signed certificates including at irc.irchighway.net)

@evan-buss
Copy link
Owner

Looks good. Thanks for the PR!

@evan-buss evan-buss merged commit f384706 into evan-buss:development Jul 17, 2022
evan-buss added a commit that referenced this pull request Sep 6, 2022
* Improve error handling.

- Don't log.Fatal or panic()
- Return errors from func instead of logging directly in library code
- Send more error messages via websocket
- Make sure IRC connection is open before writing.

* Various maintenance tasks. (#76)

- Use new devcontainer "features" instead of scripts
- Update Go and NPM packages.
  - Fix breaking change with use-local-storage-state
- Add makefile for common commands

* Update Go packages.

* feat: add --searchbot flag (#86)

* feat: add --searchbot flag

* fix: uncomment flag assignment

* feat: add flag to disable automatic browser downloads (#87)

* chore: update npm and go deps

* feat: add desktop webview functionality

- some webviews don't have native copy paste so I update
  the search field on user selection

* feat: open desktop mode by default

* fix: get windows build working

* fix: windows tweaks

- use filepath.join() instead of path.join()
- change default download dir depending on which subcommand is selected
- allow double clicking on windows (disable cobra mousetrap thing)

* fix: resize grid on window height change

* fix: re-render grids when page height changes

* fix: set desktop mode as the default

- allows double clicking the executable to open the GUI

* fix: move openbrowser setting out of the server config

- server code shouldn't care how the page is being displayed.

* fix: Fully type redux stores / middleware / actions

- replace AppThunk with createAsyncThunk

* remove unused npm packages

* cleanup / add loading animation

* feat: download and extract files with ".temp" extension until completed

- This allows Calibre to watch a directory and only import
  the file when it's completed.

* fix: use separate config for each cobra command.

* fix: default desktop mode opens the browser.

- Cross compilation becomes A LOT more complicated
  once CGO is in the mix. Requires the time and energy
  to get build scripts to work across all platforms, and
  update the automated Github Actions to build on
  multiple machines (MacOS requires MacOS runner,
  Windows / Linux require Linux runner)
- This commit adds a build flag "webview" to enable
  webview desktop support but the default without
  the build flag is to open the browser on start.

* fix: use new build flag syntax

* block until close

* Add TLS Support for IRC communication (#90)

* Fix length comparison so zero doesn't appear. (#74)

* feat: Add IRC TLS support

Co-authored-by: Evan Buss <[email protected]>

* ci: update action versions / publish dev docker images

- update docker tag configuration to publish
  'edge' version whenever the 'development'
  branch is updated.

* fix: command binding fixes

- EnableTLS flag was only enabled for the server mode.
- "--dir" server mode flag wasn't registered properly.
- update

* chore: update npm packages

- updated to react 18

* fix: actually fix zero comparison?

* feat: migrate ui to mantine (#93)

* wip: start rewriting sidebar in mantine

- this is the start of making the layout responsive for various
  device sizes

* feat: rewrite sidebar with mantine

- responsive
- dark mode support

* feat: convert book list to mantine

* feat: rewrite notification drawer in mantine

* wip: start converting search page

* feat: convert search page to mantine

* wip: start implement book table in react table

* wip: re-implement table with react-table

Goals:
- mantine styling
- resizeable
- filterable
- dark mode

* wip: react table implementation

* wip: grid style tweaks

* wip: play with animations

* feat: finish converting components to mantine

* feat: remove evergreen-ui dependency

* chore: remove react-use

* Update README.md

* styling: fix issues

- long text overflows
- nicer sidebar toggling
- overflow wrapping with scroll

* chore: update dependencies

* feat: show placeholder when search empty

* fix: error line word wrapping

* docs: update readme

Co-authored-by: Kabir Kwatra <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants