{"id":21994457,"url":"https://github.com/codelibs/fess-xpack","last_synced_at":"2025-10-07T02:20:20.322Z","repository":{"id":48052786,"uuid":"127046561","full_name":"codelibs/fess-xpack","owner":"codelibs","description":"X-Pack Support for Fess","archived":false,"fork":false,"pushed_at":"2021-08-09T20:42:21.000Z","size":43,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-07-10T15:24:46.950Z","etag":null,"topics":["fess"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codelibs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-27T21:12:57.000Z","updated_at":"2021-04-18T17:20:17.000Z","dependencies_parsed_at":"2022-08-12T17:31:19.650Z","dependency_job_id":null,"html_url":"https://github.com/codelibs/fess-xpack","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/codelibs/fess-xpack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Ffess-xpack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Ffess-xpack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Ffess-xpack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Ffess-xpack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codelibs","download_url":"https://codeload.github.com/codelibs/fess-xpack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelibs%2Ffess-xpack/sbom","scorecard":{"id":296674,"data":{"date":"2025-08-11","repo":{"name":"github.com/codelibs/fess-xpack","commit":"9053d6f535f39f8db49996a49ac3ac7dcc3243d6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 2/26 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T19:42:30.588Z","repository_id":48052786,"created_at":"2025-08-17T19:42:30.588Z","updated_at":"2025-08-17T19:42:30.588Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278708006,"owners_count":26031932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fess"],"created_at":"2024-11-29T21:09:17.422Z","updated_at":"2025-10-07T02:20:20.307Z","avatar_url":"https://github.com/codelibs.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"X-Pack Support for Fess\n=========\n\n## Overview\n\nX-Pack support for Fess is an extension library to work with Elasticsearch and X-Pack environment.\n\n## Download\n\nSee [Maven Repository](http://central.maven.org/maven2/org/codelibs/fess/fess-xpack/).\n\n## Setup\n\n### Install Elasticsearch with X-Pack\n\nSee [Set up Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html) and [Installing X-Pack](https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html).\n\nFor example, you can create users for X-Pack by executing `elasticsearch-setup-passwords` command:\n\n```\n# /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive\nInitiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.\nYou will be prompted to enter passwords as the process progresses.\nPlease confirm that you would like to continue [y/N]y\n\n\nEnter password for [elastic]:\nReenter password for [elastic]:\nEnter password for [apm_system]:\nReenter password for [apm_system]:\nEnter password for [kibana]:\nReenter password for [kibana]:\nEnter password for [logstash_system]:\nReenter password for [logstash_system]:\nEnter password for [beats_system]:\nReenter password for [beats_system]:\nEnter password for [remote_monitoring_user]:\nReenter password for [remote_monitoring_user]:\nChanged password for user [apm_system]\nChanged password for user [kibana]\nChanged password for user [logstash_system]\nChanged password for user [beats_system]\nChanged password for user [remote_monitoring_user]\nChanged password for user [elastic]\n```\n\n### Generate Node Certificates\n\nSee [Encrypting communications in Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/configuring-tls.html).\n\nUsing `elasticsearch-certutil`, 1) generate a new local certificate authority.\n\n```\n# /usr/share/elasticsearch/bin/elasticsearch-certutil ca\nThis tool assists you in the generation of X.509 certificates and certificate\nsigning requests for use with SSL/TLS in the Elastic stack.\n\nThe 'ca' mode generates a new 'certificate authority'\nThis will create a new X.509 certificate and private key that can be used\nto sign certificate when running in 'cert' mode.\n\nUse the 'ca-dn' option if you wish to configure the 'distinguished name'\nof the certificate authority\n\nBy default the 'ca' mode produces a single PKCS#12 output file which holds:\n    * The CA certificate\n    * The CA's private key\n\nIf you elect to generate PEM format certificates (the -pem option), then the output will\nbe a zip file containing individual files for the CA certificate and private key\n\nPlease enter the desired output file [elastic-stack-ca.p12]:\nEnter password for elastic-stack-ca.p12 :\n```\n\n2) generate X.509 certificates and keys.\n\n```\n# /usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12\nwarning: Falling back to java on path. This behavior is deprecated. Specify JAVA_HOME\nThis tool assists you in the generation of X.509 certificates and certificate\nsigning requests for use with SSL/TLS in the Elastic stack.\n\nThe 'cert' mode generates X.509 certificate and private keys.\n    * By default, this generates a single certificate and key for use\n       on a single instance.\n    * The '-multiple' option will prompt you to enter details for multiple\n       instances and will generate a certificate and key for each one\n    * The '-in' option allows for the certificate generation to be automated by describing\n       the details of each instance in a YAML file\n\n    * An instance is any piece of the Elastic Stack that requires a SSL certificate.\n      Depending on your configuration, Elasticsearch, Logstash, Kibana, and Beats\n      may all require a certificate and private key.\n    * The minimum required value for each instance is a name. This can simply be the\n      hostname, which will be used as the Common Name of the certificate. A full\n      distinguished name may also be used.\n    * A filename value may be required for each instance. This is necessary when the\n      name would result in an invalid file or directory name. The name provided here\n      is used as the directory name (within the zip) and the prefix for the key and\n      certificate files. The filename is required if you are prompted and the name\n      is not displayed in the prompt.\n    * IP addresses and DNS names are optional. Multiple values can be specified as a\n      comma separated string. If no IP addresses or DNS names are provided, you may\n      disable hostname verification in your SSL configuration.\n\n    * All certificates generated by this tool will be signed by a certificate authority (CA).\n    * The tool can automatically generate a new CA for you, or you can provide your own with the\n         -ca or -ca-cert command line options.\n\nBy default the 'cert' mode produces a single PKCS#12 output file which holds:\n    * The instance certificate\n    * The private key for the instance certificate\n    * The CA certificate\n\nIf you specify any of the following options:\n    * -pem (PEM formatted output)\n    * -keep-ca-key (retain generated CA key)\n    * -multiple (generate multiple certificates)\n    * -in (generate certificates from an input file)\nthen the output will be be a zip file containing individual certificate/key files\n\nEnter password for CA (elastic-stack-ca.p12) :\nPlease enter the desired output file [elastic-certificates.p12]:\nEnter password for elastic-certificates.p12 :\n\nCertificates written to /home/vagrant/elastic-certificates.p12\n\nThis file should be properly secured as it contains the private key for\nyour instance.\n\nThis file is a self contained file and can be copied and used 'as is'\nFor each Elastic product that you wish to configure, you should copy\nthis '.p12' file to the relevant configuration directory\nand then follow the SSL configuration instructions in the product guide.\n\nFor client applications, you may only need to copy the CA certificate and\nconfigure the client to trust this certificate.\n```\n\n3) copy the generated files to /etc/elasticsearch.\n\n```\n# cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch/\n# chgrp elasticsearch /etc/elasticsearch/elastic-certificates.p12 /etc/elasticsearch/elastic-stack-ca.p12\n# chmod 640 /etc/elasticsearch/elastic-certificates.p12 /etc/elasticsearch/elastic-stack-ca.p12\n```\n\n4) store passwords for ca and cert to key stores.\n\n```\n# /usr/share/elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password\nEnter value for xpack.security.transport.ssl.keystore.secure_password:\n# /usr/share/elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password\nEnter value for xpack.security.transport.ssl.truststore.secure_password:\n```\n\n### Create User and Role for Fess\n\nTo access Elasticsearch with X-Pack from Fess, create `fess` role:\n\n```\ncurl -XPOST -u elastic 'localhost:9200/_xpack/security/role/fess' -H \"Content-Type: application/json\" -d '{\n  \"cluster\": [\"all\"],\n  \"indices\" : [\n    {\n      \"names\" : [ \"fess*\", \".fess*\", \".configsync*\", \".crawler*\", \".suggest*\" ],\n      \"privileges\" : [ \"all\" ]\n    }\n  ]\n}'\n```\nand then create `fess` user:\n```\ncurl -XPOST -u elastic 'localhost:9200/_xpack/security/user/fess?pretty' -H 'Content-Type: application/json' -d'\n{\n  \"password\" : \"changeme\",\n  \"roles\" : [ \"fess\" ],\n  \"full_name\" : \"Fess\"\n}'\n```\n\n### Stop Elasticsearch\n\nStop Elasticsearch process.\n\n```\n# systemctl stop elasticsearch.service\n```\n\n### Edit elasticsearch.yml\n\nInsert the following setting into `/etc/elasticsearch/elasticsearch.yml`.\n\n```\nconfigsync.xpack.security.user: \"fess:changeme\"\nxpack.security.enabled: true\nxpack.security.transport.ssl.enabled: true\nxpack.security.transport.ssl.verification_mode: certificate\nxpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12\nxpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12\n```\n\n### Install Fess\n\nSee [Installation Guide](https://fess.codelibs.org/12.6/install/index.html).\nX-Pack support for Fess is avaiable on Fess 12.1.1 or above.\n\n### Install X-Pack Support\n\nCopy fess-xpack-12.X.X.X.jar to `lib` directory(ex. /usr/share/fess/app/WEB-INF/lib) and run jar file to download dependencies as below:\n\n```\n# cd /usr/share/fess/app/WEB-INF/lib\n# java -Delasticsearch.version=6.7.2 -jar fess-xpack-12.X.X.X.jar\n```\n\n### Create xpack.properties\n\nCreate `xpack.properties` in `conf` directory(ex. /etc/fess) and put X-Pack settings to the properties file.\n\n```\nxpack.security.user=fess:changeme\nxpack.security.transport.ssl.enabled=true\nxpack.security.transport.ssl.verification_mode=certificate\nxpack.security.transport.ssl.keystore.path=/etc/fess/elastic-certificates.p12\nxpack.security.transport.ssl.truststore.path=/etc/fess/elastic-certificates.p12\n```\n\nFor other available settings, see [Java Client and Security](https://www.elastic.co/guide/en/x-pack/current/java-clients.html).\n\n### Copy Certificates\n\n```\n# cp /etc/elasticsearch/elastic-certificates.p12 /etc/fess/elastic-certificates.p12\n# chown fess:fess /etc/fess/elastic-certificates.p12\n```\n\n### Start Fess and Elasticsearch\n\n```\n# systemctl start elasticsearch.service\n# systemctl start fess.service\n```\n\n## Support\n\nIf you need any technical help, contact [N2SM, Inc.](https://www.n2sm.net/en/support/fess_support.html)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelibs%2Ffess-xpack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelibs%2Ffess-xpack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelibs%2Ffess-xpack/lists"}