The long description for the Nitter service has been modified to more accurately reflect its current state of functionality. Additionally, Nitter has been made searchable as it has been included in both the index and simple search views, suggesting an improved service status or a change in policy regarding its visibility.
Reworked service configuration to allow individual services to be conditionally excluded from the main index, increasing the flexibility of the display. Configuration files have been restructured and moved into appropriate subdirectories to improve project organization.
- Added `exclude_from_index` flags to all services within `services.json` to facilitate granular control over their visibility on the index page.
- Modified the `index.html` template to respect the new `exclude_from_index` setting, thus excluding specified services from being listed on the index page.
- Migrated `Caddyfile` and `privatecoffee.ini` to `contrib` directory for better separation of project contributions and core configuration files.
This update enhances the site's privacy features and enables easier navigation by allowing selective service display.
Grouped `.well-known/matrix` related configurations under a named matcher `@matrix` in the Caddyfile. This change encapsulates the headers and responses for matrix-specific paths, improving readability and maintainability. It aligns with best practices for Caddy configuration, making future updates to matrix-related rules more straightforward.
Changed the styling of the service boxes to include a solid black border, rounded corners, and padding for better visual separation and aesthetic appeal. This update gives the elements a more defined and polished look, improving the overall user interface.
Implemented a shared base HTML template to DRY up the markup across the service’s various pages, including the index, legal, privacy, and terms pages. This centralizes common elements like headers, footers, and imports, facilitating easier updates and consistency in design across the platform. Existing content from these individual pages is now extending the base template, adhering to best practices in templating and reducing code duplication.
Simplified the "services.json" by updating the primary link name and URL for a privacy-focused service and removing the associated Tor (.onion) alternative.
Adjust the dropdown button's color in the index page to reflect service status dynamically. Buttons now show as 'btn-primary' when the service is operational ('OK') and 'btn-danger' when it isn't, improving visual feedback for users.
Simplified the routing and handling directives in the Caddyfile by removing explicit regular expressions for HTML files and reorganizing asset handling. All requests are now served with a more generalized approach, improving readability and potential maintainability of the server configuration. This change encapsulates asset file serving and reverse proxying under specific handles, ensuring a cleaner and more structured configuration.
Changed the HTML reverse proxy in the Caddy server configuration to use a Unix socket connection. This enhances security and performance by avoiding TCP stack overhead and protects against network-based attacks targeting the application server interface. This should only affect internal communication with the uWSGI server.
Refactored the website to serve dynamic content using Flask, replacing static HTML pages. This allows for the centralized management of service data through a JSON file. Optimizations include:
- Added a .gitignore file to exclude Python and Flask-specific temporary files.
- Migrated static assets into an organized directory structure to facilitate Flask's static file serving.
- Removed redundant HTML files and created Flask template versions with dynamic content rendering.
- Introduced Caddy server configuration for the new Flask architecture, including headers for security and CORS policy, and reverse proxy settings for route handling.
With these changes, website maintenance and updates are simplified, allowing for service information to be updated in a single location (`services.json`), which then propagates to the user-facing pages automatically.
Switched all asset references to absolute URLs to ensure consistent resource loading, especially when the website is accessed from different subpaths. This change resolves the issue with relative paths causing resources to fail to load on pages outside of the root directory. It enhances reliability and user experience across the site.
Moved and updated the Invidious service card in the list of services to flag it as currently non-operational, now featuring a warning description and a more attention-grabbing 'btn-danger' class to alert users to the service disruption.
Introduced Mastodon as a new service in the offerings section on the homepage. Two instances, skrt.social and cuddly.space, are now prominently displayed with brief descriptions and calls-to-action, expanding our social network presence and giving users more options for decentralized communication.
Correct the name of the metasearch engine from "LibreX" to "LibreY" in the paragraph describing its features on the index.html page. This change aligns the displayed name with the actual product name, ensuring accuracy and consistency. This fix enhances user understanding and prevents confusion. No issues are associated with this commit.
This change adds the LibreY service to the homepage. The LibreY service is an open-source, privacy-friendly metasearch engine that allows users to search for web, image, video, torrents, and more, including onion sites. Its inclusion provides users with an additional search option.
No issue reference.
This commit includes the addition of the Rallly service to the index.html file. Rallly is a free collaborative scheduling service similar to Doodle. It allows users to create polls and vote on them.