{ "info": { "author": "Mario Harjac", "author_email": "m@harja.ch", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pfBackup\n\n## Summary\n\nSimple utility for backing up pfSense configuration which uses web admin interface.\n\n## Installation\n### Create backup user account\nIt is recommended to create a dedicated user account with limited permissions for backup purposes. This user should have \"WebCfg - Diagnostics: Backup & Restore\" permission. Please check [pfSense documentation](https://docs.netgate.com/pfsense/en/latest/usermanager/index.html) if you are not sure how to do this. \n\n### Installation form PyPI:\n```\npip3 install pfbackup\n```\n### Docker\nYou can download the image from Docker Hub:\n```\ndocker pull mharjac/pfbackup\n```\nOr build it on your own:\n```\ndocker build -t pfbackup https://github.com/mharjac/pfbackup.git#:docker\n```\nCreate a volume for storing backups:\n```\ndocker volume create pfbackup-firewall-1\n```\nCreate a container:\n```\ndocker run -d --name=pfbackup-firewall-1 -e PF_URL=\"https://192.168.1.1\" -e PF_USER=\"backusr\" -e PF_PASS=\"somesuperstrongpassword\" -e PF_CERT_VERIFY=\"true\" --mount=src=pfbackup-firewall-1,dst=/backup pfbackup:latest\n```\nAnd finally, for unattended regular backups, create a cron job which will execute:\n```\ndocker start pfbackup-firewall-1\n```\n### Install from Snap Store\n```\nsnap install pfbackup\n```\n## Usage\nIt can be used as an interactive tool from CLI:\n```\npfbackup -U https://192.168.1.1 -u user1 -p passw0rd -f ./backup.xml\n```\nWhen used in CLI, it will prompt for password if -p (--password) flag is not provided. Also, without -f (--file) flag, config will be printed to the stdout. \n\nIt can also be used for unattended backups (e.g., in containers), in which case, it requires following environment variables: \n* PF_URL: for storing web admin URL (e.g., https://192.168.1.1/)\n* PF_USER: username for making backups\n* PF_PASS: password for provided username\n* PF_CERT_VERIFY: set to False if self-signed certificate in use \n```\nexport PF_URL=\"https://192.168.1.1\" PF_USER=\"user1\" PF_PASS=\"passw0rd\" PF_CERT_VERIFY=\"True\"\npfbackup\n```\nWhen executed in unattended mode, configuration backup will be saved in execution directory as `config-{time_stamp}.xml`.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mharjac/pfbackup", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pfbackup", "package_url": "https://pypi.org/project/pfbackup/", "platform": "", "project_url": "https://pypi.org/project/pfbackup/", "project_urls": { "Homepage": "https://github.com/mharjac/pfbackup" }, "release_url": "https://pypi.org/project/pfbackup/1.1.1/", "requires_dist": [ "requests" ], "requires_python": ">=3.6", "summary": "pfSense config backup tool", "version": "1.1.1", "yanked": false, "yanked_reason": null }, "last_serial": 6012581, "releases": { "1.1.1": [ { "comment_text": "", "digests": { "md5": "270f60c427dc242fe127e3c0fa9ebd98", "sha256": "0a6ca7375f4cec45c60319e28867ef24933802e4f93678764b07e3fa4f7eccf8" }, "downloads": -1, "filename": "pfbackup-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "270f60c427dc242fe127e3c0fa9ebd98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6014, "upload_time": "2019-10-22T12:53:57", "upload_time_iso_8601": "2019-10-22T12:53:57.732464Z", "url": "https://files.pythonhosted.org/packages/40/3a/7dc7ae04066707bb4610872bef3ea6dc7f001da17af75db682f592917de3/pfbackup-1.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9cd9ccbd660702ff0076c33cb2b96191", "sha256": "c8a55c2eb713c9d96715f3f6222665d871314cd11daecb9d96a4d7630d43272e" }, "downloads": -1, "filename": "pfbackup-1.1.1.tar.gz", "has_sig": false, "md5_digest": "9cd9ccbd660702ff0076c33cb2b96191", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3746, "upload_time": "2019-10-22T12:53:58", "upload_time_iso_8601": "2019-10-22T12:53:58.894550Z", "url": "https://files.pythonhosted.org/packages/30/68/a55aee1652714ec81fabdda96526ab8376a66c9d9f537005cd0463f46077/pfbackup-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "270f60c427dc242fe127e3c0fa9ebd98", "sha256": "0a6ca7375f4cec45c60319e28867ef24933802e4f93678764b07e3fa4f7eccf8" }, "downloads": -1, "filename": "pfbackup-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "270f60c427dc242fe127e3c0fa9ebd98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6014, "upload_time": "2019-10-22T12:53:57", "upload_time_iso_8601": "2019-10-22T12:53:57.732464Z", "url": "https://files.pythonhosted.org/packages/40/3a/7dc7ae04066707bb4610872bef3ea6dc7f001da17af75db682f592917de3/pfbackup-1.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9cd9ccbd660702ff0076c33cb2b96191", "sha256": "c8a55c2eb713c9d96715f3f6222665d871314cd11daecb9d96a4d7630d43272e" }, "downloads": -1, "filename": "pfbackup-1.1.1.tar.gz", "has_sig": false, "md5_digest": "9cd9ccbd660702ff0076c33cb2b96191", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3746, "upload_time": "2019-10-22T12:53:58", "upload_time_iso_8601": "2019-10-22T12:53:58.894550Z", "url": "https://files.pythonhosted.org/packages/30/68/a55aee1652714ec81fabdda96526ab8376a66c9d9f537005cd0463f46077/pfbackup-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }