{"id":20017569,"url":"https://github.com/foomo/neosproxy","last_synced_at":"2025-05-04T22:32:01.322Z","repository":{"id":141389403,"uuid":"71700436","full_name":"foomo/neosproxy","owner":"foomo","description":"A NEOS proxy with support for the Foomo.Neos.Contentserver package","archived":true,"fork":false,"pushed_at":"2021-10-11T09:17:11.000Z","size":23914,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-02T03:16:03.406Z","etag":null,"topics":["foomo","foomo-neosproxy","neoscms"],"latest_commit_sha":null,"homepage":"https://www.foomo.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foomo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-23T12:08:28.000Z","updated_at":"2024-07-07T13:12:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6a35796-af6f-45e2-99d2-0251aa2dc15d","html_url":"https://github.com/foomo/neosproxy","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foomo%2Fneosproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foomo%2Fneosproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foomo%2Fneosproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foomo%2Fneosproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foomo","download_url":"https://codeload.github.com/foomo/neosproxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252408472,"owners_count":21743125,"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","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":["foomo","foomo-neosproxy","neoscms"],"created_at":"2024-11-13T08:16:18.032Z","updated_at":"2025-05-04T22:32:00.815Z","avatar_url":"https://github.com/foomo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"NEOSPROXY\n======\n\nNeosproxy could be used to proxy a NEOS CMS.\nIt will cache requests to the Foomo.Neos.Contentserver package.\n\napplication\n----\n\nThe application requires an API_KEY as an environment variable.\nThis API_KEY is used for authorization on cache invalidation requests.\n\nFurthermore you need to define on which address the proxy should listen.\nThe NEOS endpoint must be configured by setting the \"neos\" parameter as well.\n\n```\nneosproxy --address=\":80\" --neos=\"https://www.myneosendpoint.com\" --auto-update=\"1h\"\n```\n\nweb hooks\n----\n\nNeosproxy can call given comma seperated urls to notify you on events:\n\n\n* `--callback-updated`: called after update\n\nIf you want to skip tls verification you can pass the following option:\n\n* `--callback-tls-verify=false`: skip tls verification\n\nYou can optionally add a `--callback-key` to be sent as header with each call.  \n\nExample:\n\n```\nneosproxy --address=\":80\" --neos=\"https://www.myneosendpoint.com\" --callback-tls-verify=\"false\" --callback-updated=\"http://foo.com,https://bar.com\" --callback-key=\"secret\"\n```\n\ndocker\n----\n\nFor docker pass in the API_KEY as an environment variable as well.\nRun the container in the same network as your neos container. \n\n```bash\ndocker run --rm -it -p=\"8080:80\" -e=\"API_KEY=ZPNFYsXouqeRYPZ34cV4962KaZdU2Lp29LwbftMDeFBae3wcWX\" foomo/neosproxy:latest -neos https://www.myneosendpoint.com \n```\n\nroutes\n----\n\n```\n/contentserver/export\n\n\tGET: get the whole navigation tree as a contentserver json dump\n\n\n/contentserverproxy/cache\n\n\tDELETE     : invalidate the cache\n\n```\n\ncurl\n----\n\nSome curl examples for local development.\n\nstart proxy\n\n```bash\nexport API_KEY=ZPNFYsXouqeRYPZ34cV4962KaZdU2Lp29LwbftMDeFBae3wcWX \u0026\u0026 \\\ngo run neosproxy.go -address \"127.0.0.1:8080\" -neos \"http://neos.localhost\"\n```\n\ninvalidate cache\n\n```bash\ncurl -X \"DELETE\" -H \"Authorization: ZPNFYsXouqeRYPZ34cV4962KaZdU2Lp29LwbftMDeFBae3wcWX\" 127.0.0.1:8080/contentserverproxy/cache\n```\n\nget the contentserver export\n\n```bash\ncurl -k 127.0.0.1:8080/contentserver/export\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoomo%2Fneosproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoomo%2Fneosproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoomo%2Fneosproxy/lists"}