Introduced unique, descriptive titles to the legal, membership, privacy, and terms templates to improve SEO and user navigation. Previously, these pages inherited a generic title from the base template. Now, each page specifies its own title block, enhancing browser tab legibility and potentially boosting page rankings in search engine results.
Revised the primary theme color to a more vibrant shade and adjusted related style variables for consistency across the UI. This change enhances the visual appeal and user experience by introducing a fresher, more engaging color palette. Updated variables include primary, secondary, success, info, warning, and danger colors along with their associated text, background, and border utilities to ensure coherence throughout the application's design.
Corrected the operational status of two services: Invidious is now marked as 'OK', indicating it is operational, and the URL shortener service at private.cf is labeled 'NOK' to reflect a current issue preventing its use. Additionally, adjusted visibility settings for one service, opting to exclude it from both index and simple views, likely for maintenance or privacy reasons. These updates ensure users receive accurate service availability information and help maintain the site's usability and trustworthiness.
Added HedgeDoc, an open-source collaborative markdown editor, to our service listings in `services.json`. This allows users to discover and utilize HedgeDoc for collaborative document editing and markdown support directly from our platform. This addition enhances our suite of tools by providing a valuable resource for teamwork and documentation projects.
Swapped the listings for Invidious and Piped, including their descriptions and status, to reflect current service offerings and operational status accurately. Enhanced the UI layout in the base template for better navigation and clarity in service support actions. Membership and donation information has been expanded to include details on statute access, association joining methods, and legal requirements for data storage, emphasizing transparency and community involvement. Privacy policy updates include clarified data collection practices, usage specifics, and storage details, aligning with legal standards and user expectations. Also, terms of service now include provisions against harassment, aligning with community guidelines and safety.
These changes aim to improve user experience, ensure up-to-date information, and highlight the organization's commitment to privacy, transparency, and community safety.
Updated the services.json to exclude Nitter from both index and simple search queries. This change is intended to streamline search results and improve the user experience by removing less relevant or redundant service listings. The adjustment ensures that our search functionality becomes more efficient and user-centric, focusing on services that are of higher importance or relevance to our user base.
This strategic exclusion might impact how users discover services, potentially improving overall satisfaction with search results by reducing clutter and enhancing the visibility of remaining services.
Introduced argument parsing to provide command-line options for configuring the server port and enabling debug mode, enhancing flexibility for local development or deployment needs. The changes include adjusting string quotes for consistency and minor formatting improvements.
This addition allows users to start the web server with custom configurations without modifying the source code directly, making it more convenient to run in different environments or debug as needed.
Introduced a new "Support Us!" badge to the README.md to encourage contributions and support for Private.coffee. This badge not only visually enhances the repository's appeal but also provides a direct link for potential supporters to contribute, fostering a stronger community engagement.
The badge leverages custom styling and is powered by Private.coffee's own badge service, ensuring consistency with the project's branding and identity. This addition aligns with efforts to increase visibility and support for our open-source work.
Introduced MyIP.Coffee to the list of services, offering users a tool to check their current IPv4 and IPv6 addresses. This enhancement broadens the utility range of our service directory, catering to those interested in networking and security aspects by providing quick access to their IP information.
Introduced "Piped" to the list of services, providing users with a
privacy-focused alternative to watching YouTube videos. Piped is
highlighted for its unique feature of eliminating Google tracking,
aiming to enhance user privacy and security. This addition enriches our
service offerings with more diverse options for users concerned with
online tracking.
Updated the organization's name to include its full title "Verein zur
Förderung von Privatsphäre und digitaler Souveränität" and added the
Central Register of Associations (ZVR) Number across legal, privacy, and
terms templates to comply with disclosure requirements. Reformatted
content for better readability, ensuring consistent paragraph line
breaks and removing redundant whitespaces. These changes aim to enhance
transparency regarding the website's managing entity and make the policy
texts more accessible to users.
Added BigBlueButton as a new service in `services.json`, providing users
with an open-source alternative for video conferencing, webinars, and
more. This addition includes its basic information, operational status,
and a direct link for ease of access. This update aims to enrich the
suite of services with more diverse options, catering to the growing
needs for reliable virtual meeting solutions.
indexes
The configuration for NocoDB in `services.json` has been
updated to exclude it from both the overall index and simplified
listings. This change aims to prevent the service from appearing in
search results and simplified service lists, due to privacy
concerns.
Update the `long_description` for NocoDB in `services.json` to include a
privacy notice about the visibility of users' email addresses to all
registered users. This change enhances transparency and informs users
about an important privacy consideration, ensuring they are aware of the
visibility of their email addresses upon registration.
This update is crucial for user awareness and helps in setting the right
expectations regarding privacy.
Introduced handling for security.txt requests in the Caddyfile
configuration to redirect users to a dedicated security page. This
change enables visitors to easily find security policy and vulnerability
reporting information by redirecting requests for
`/.well-known/security.txt` and `/security.txt` to
`https://security.private.coffee/security.txt`. Implementing this
standard practice improves transparency and security posture by
facilitating clearer communication with security researchers and the
public.
Simplified the footer's Git repository links by consolidating the
KumiGit and GitHub URLs into a single link to the unified Git platform.
This change streamlines the user navigation and reflects the recent
migration to a central repository system.
Introduced a README file to provide basic documentation for the
Private.coffee website. This includes instructions on setting up a
development environment, running the site locally, and the licensing
information, thereby facilitating easier onboarding and contribution to
the project. The README ensures clarity on the project's structure which
is centered around a Flask application using a `services.json`
configuration.
Introduced Forgejo as an in-house Git forge to the services list. The
update includes its description, operational status, and a direct link
to foster better collaboration among team members by hosting and
collaborating on Git repositories internally.
Introduced 'Binternet', a privacy-focused Pinterest alternative, to the
list of services, including its description, status, and relevant links.
Updated the status of the 'Nitter' service from 'OK' to 'NOK' to reflect
a change in its operability or health status.
Ensuring service statuses are accurate for user awareness and trust.
Updated the long_description for the Rallly service in services.json to reflect that pro features are freely accessible post-sign-in, giving users clarity on the expanded offerings at no additional cost.
Revamped the appearance of service boxes by introducing a new border color, increased padding, and an inset shadow, aligning them with a new coffee-themed color scheme. Modified the styling of navigation and footer elements to use the new `.bg-coffee` class, ensuring consistency across the UI. These changes improve the overall aesthetic coherence of the interface and enhance user visual experience.
Resolved issues affecting the Nitter service, removing the notice about its poor operability. Nitter is now functioning as expected, and its status has been updated to reflect its current operational state. Users can browse Twitter without being tracked, using the Nitter front-end with confidence.
Fixed the Matrix chat room URL in the base template to align with the standardized room naming convention. This change simplifies user access and avoids confusion by ensuring consistency across communication platforms.
Renamed "Indestructables" to "Structables" and updated associated URLs and link texts in the service directory. Simplified the long description by omitting the note about forking the project, reflecting the rebranding and streamlining user experience.
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.