8000 GitHub - jamestomasino-forks/kristall: Graphical small-internet client for windows, linux, MacOS X and BSDs. Supports gemini, http, https, gopher, finger.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jamestomasino-forks/kristall

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kristall

A high-quality visual cross-platform gemini browser.

Preview Image

Features

Screenshots

Generates Outlines

Outline Generation

Fully Customizable Site Theme

Site Theme

Build/Install Instructions

Requirements

  • Latest Qt5 version with widgets and network modules

Build

*nix

There's a small Makefile provided that does all necessary steps and creates a build directory, then copies the build artifact from the build directory. Just do make in the root directory, it should work.

Or you can use the usual Qt5 build process:

mkdir build
cd build
qmake ../src/kristall.pro
make

Notes for OpenBSD

  • It seems like Qt wants libzstd.so.3.1 instead of libzstd.so.3.2. Just symlink that file into the build directory
  • Use make and not gmake to build the project.
Notes for Ubuntu 20.04:
  • Requires packages
    • qt5-default
    • qt5-qmake
    • qtmultimedia5-dev
    • make
    • g++
Notes for Manjaro/Arch
  • Requires packages
    • qt5
    • qt5-multimedia
Notes on void linux
  • set env variable QT_SELECT=5

Windows

Compile OpenSSL with the following steps:

  • Install Perl (either ActiveState or Strawberry)
  • Install NASM
  • Add both to your PATH
  • Clone OpenSSL
  • Open a Visual Studio Developer Command Prompt (or a command prompt that has ran vcvarsall.bat). You will need Administrator privileges for the install step
  • In the OpenSSL root directory, run perl Configure VC-WIN32 if compiling for 32 bit, perl Configure VC-WIN64A for 64 bit
  • Run nmake
  • Run nmake install to install OpenSSL in C:\Program Files\OpenSSL

Use QtCreator to build ./src/kristall.pro with default settings.

MacOS X

Use the Makefile to build build/kristall instead of the default target. There is currently no auto-recognition of MacOS (where qmake will output a kristall.app file), so you have to be a bit more manual.

Haiku

  1. Install the following packages with pkgman:
    • qt5
    • qt5_devel
    • qt5_tools
  2. Use make to build th executable

Manual Installation

Unix / XDG

The provided desktop file can be installed into the local system

ln -s Kristall.desktop ~/.local/share/applications/kristall.desktop

Haiku

Link the kristall executable to your applications menu:

cd ~/config/settings/deskbar/menu/Applications/
ln -s /path/to/kristall .

Credits

  • Thanks to James Tomasino for helping out with understanding gopher
  • Thanks to Vane Vander for providin the Haiku build instructions
  • Thanks to James Tomasino, styan and tiwesdaeg for improving the Makefile
  • Thanks to Alex Naskos for providing windows build instructions

TODO / Roadmap

0.3 release

  • TLS Handling
    • Allow user to ignore TLS errors
    • Enable TOFU for HTTPS/Gemini
    • Enable Client Certificate Management
    • Add option: "Transient certificates survive an application reboot and are stored on disk""
    • Add management for client certificates
      • Rename/delete certificates
      • Rename/delete/merge groups
      • Import/export PEM certificates and keys
    • Ask if the client certificate should be disabled when switching host and/or protocol
  • Improve redirect handling
    • Option how to handle redirects: "automatic, ask when cross-host, ask always"
    • Option to set maximum number of redirects
  • UX improvements
    • Auto-expanding outline
    • Escape in the URL bar reverts to the current location
    • auto-highlighting/following outline
    • Improved favourites
      • Allow custom favourite title (not the URL itself)
      • Allow grouping favourites into a single-hierarchy folder structure
    • Improve style import
      • Direct preview instead of importing it as a preset. Allow user to save preset then manually
  • Changelog in the help menu

Unspecced

  • Survive full torture suite
    • Correctly parse mime parameters
      • Correctly parse charset (0013, 0014)
      • Correctly parse other params (0015)
      • Correctly parse undefined params (0016)
  • Recognize home directories with /~home and such and add "substyles"
  • Add favicon support
    • Add auto-generated "favicons"
    • Check if the site follows this guideline: #<ICON> Title where <ICON> is a unicode emoji
    • Opt-In: Regularly check for domain/favicon.txt
    • Opt-In: Regularly check for domain/favicon.ico
    • FTP
      • Search for FTP library or use self-written one?
  • Improve UX
    • Provide text search function
  • Replace Qt markdown with standalone markdown renderer
    • Enable markdown theming
  • Improve Unicode/Emoji support
    • Seems to need multiple font families per font?
  • Add text/kristall-theme mime
    • Will use a preview document instead of displaying the content
    • Allow import of themes
    • File extension is .kthm
  • Implement more protocols
    • Gopher
      • Support more media types (include uudecode and hexbin decoder)

Bugs

xq: When using torsocks(1) on kristall QNetworkInterface complains loudly about not being permitted to create an IPv6 socket..

MAC needs different default font: https://usercontent.irccloud-cdn.com/file/OrkuXDfQ/image.png

Audio doesn't stop when you load other media. This is a bit of shit.

Status bar is broken: It doesn't seem to map to tabs, if you have multiple open, which was a bit confusing (and would also be a really cool addition for easy comparison of responses).

About

Graphical small-internet client for windows, linux, MacOS X and BSDs. Supports gemini, http, https, gopher, finger.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 44.4%
  • C++ 29.1%
  • Python 21.8%
  • Roff 1.7%
  • CMake 1.2%
  • XSLT 0.8%
  • Other 1.0%
0