Guest User

Untitled

a guest
Apr 24th, 2026
359
0
Never
7
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.56 KB | None | 0 0
  1. # Uses the Bambu Studio version of the library and sets some headers like Bambu Studio does. These instructions assume BambuStudio non-flatpak. But you really just need the right version of libbambu_networking.so and libBambuSource.so. Your also need a patched copy of OrcaSlicer.
  2. #
  3. # This is a proof of concept. Just slicing and printing has been tested. It is known to break on reopen of Orca Slicer. You have to logout and login again. Viewing the camera also didn't seem to work.
  4. #
  5. # 1. Install Bambu Studio, https://github.com/bambulab/BambuStudio/releases/tag/v02.06.00.51
  6. # 2. Start Bambu Studio
  7. # 3. Let the normal plugin install
  8. # 4. Make sure your printer is not in Developer mode and not in LAN mode.
  9. # 5. Set up your printer in Bambu Studio.
  10. # 6. git clone https://github.com/OrcaSlicer/OrcaSlicer.git
  11. # 7. cd OrcaSlicer
  12. # 8. cat /path/OrcaSlicer-cloud.patch | patch -p1 OrcaSlicer-cloud.patch is this file.
  13. # 9. ./build_flatpak.sh -i -j X Where is is how many cores you want to use for the compile, and takes a while. Wise to cut the number of cores to half to prevent running out of memory.
  14. # 10. flatpak install --user OrcaSlicer-Linux-flatpak_V2.4.0-dev_x86_64.flatpak
  15. # 11. flatpak run com.orcaslicer.OrcaSlicer
  16. # 12. Let the normal plugin install
  17. # 13. Close OrcaSlicer
  18. # 14. mkdir ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/plugins/backup
  19. # 15. mv ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/plugins/libbambu_networking_02.03.00.62.so ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/plugins/backup
  20. # 16. cp -a ~/.config/BambuStudio/plugins/libbambu_networking.so ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/plugins/libbambu_networking_02.06.00.50.so <-- This filename has to match the version of the library. Normally the filename is libbambu_networking_02.03.00.62.so.
  21. # 17. cp -a ~/.config/BambuStudio/plugins/libBambuSource.so ~/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/plugins
  22. # 18. Open OrcaSlicer, if any error/dialog about the plugin, double check the instructions above
  23. # 19. Login to your Bambu account in OrcaSlicer
  24. # 20. Go to the Device tab, confirm your printer appears, is connected, and functioning properly
  25. # 21. Slice and print a model. It will go through the cloud.
  26.  
  27. diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
  28. index c79826733e..68bae8203b 100644
  29. --- a/src/slic3r/GUI/GUI_App.cpp
  30. +++ b/src/slic3r/GUI/GUI_App.cpp
  31. @@ -1836,15 +1836,11 @@ std::string GUI_App::get_latest_network_version() const
  32. return Slic3r::get_latest_network_version();
  33. }
  34.  
  35. +// Network plugin is sourced from BambuStudio - never prompt to update against
  36. +// OrcaSlicer's bundled version list.
  37. bool GUI_App::has_network_update_available() const
  38. {
  39. - std::string current = Slic3r::NetworkAgent::get_version();
  40. - std::string latest = get_latest_network_version();
  41. -
  42. - if (current.empty() || current == "00.00.00.00")
  43. - return false;
  44. -
  45. - return current.substr(0, 8) != latest.substr(0, 8);
  46. + return false;
  47. }
  48.  
  49. void GUI_App::show_network_plugin_download_dialog(bool is_update)
  50. @@ -1933,6 +1929,14 @@ bool GUI_App::check_networking_version()
  51. BOOST_LOG_TRIVIAL(info) << "get_network_agent_version=" << network_ver;
  52. }
  53.  
  54. + // Plugin is sourced from BambuStudio - accept whatever version it reports
  55. + // rather than checking against OrcaSlicer's bundled version list.
  56. + if (!network_ver.empty() && network_ver != "00.00.00.00") {
  57. + BOOST_LOG_TRIVIAL(info) << "check_networking_version: accepting BambuStudio plugin version " << network_ver;
  58. + m_networking_compatible = true;
  59. + return true;
  60. + }
  61. +
  62. std::string studio_ver;
  63. if (NetworkAgent::use_legacy_network) {
  64. studio_ver = BAMBU_NETWORK_AGENT_VERSION_LEGACY;
  65. @@ -2499,8 +2503,19 @@ std::map<std::string, std::string> GUI_App::get_extra_header()
  66. {
  67. std::map<std::string, std::string> extra_headers;
  68. extra_headers.insert(std::make_pair("X-BBL-Client-Type", "slicer"));
  69. - extra_headers.insert(std::make_pair("X-BBL-Client-Name", SLIC3R_APP_NAME));
  70. - extra_headers.insert(std::make_pair("X-BBL-Client-Version", VersionInfo::convert_full_version(SLIC3R_VERSION)));
  71. +
  72. + // Identify as BambuStudio to the cloud. Bambu's API rejects requests whose
  73. + // X-BBL-Client-Name isn't "BambuStudio" with HTTP 403 / "internal blocking".
  74. + // Send the loaded plugin's reported version so X-BBL-Client-Version matches
  75. + // what BambuStudio would send with this same plugin.
  76. + {
  77. + std::string plugin_ver = Slic3r::NetworkAgent::get_version();
  78. + extra_headers.insert(std::make_pair("X-BBL-Client-Name", "BambuStudio"));
  79. + extra_headers.insert(std::make_pair("X-BBL-Client-Version",
  80. + (plugin_ver.empty() || plugin_ver == "00.00.00.00")
  81. + ? VersionInfo::convert_full_version(SLIC3R_VERSION)
  82. + : plugin_ver));
  83. + }
  84. #if defined(__WINDOWS__)
  85. #ifdef _M_X64
  86. extra_headers.insert(std::make_pair("X-BBL-OS-Type", "windows"));
  87. @@ -3397,10 +3412,8 @@ bool GUI_App::on_init_network(bool try_backup)
  88. auto bambu_source = Slic3r::NetworkAgent::get_bambu_source_entry();
  89. if (!bambu_source) {
  90. BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": can not get bambu source module!";
  91. - m_networking_compatible = false;
  92. - if (should_load_networking_plugin) {
  93. - m_networking_need_update = true;
  94. - }
  95. + // Plugin is sourced from BambuStudio - don't trigger an
  96. + // update prompt against OrcaSlicer's bundled version list.
  97. }
  98. } else {
  99. if (try_backup) {
  100. diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp
  101. index 6c4d90035e..9704e344c5 100644
  102. --- a/src/slic3r/Utils/Http.cpp
  103. +++ b/src/slic3r/Utils/Http.cpp
  104. @@ -189,7 +189,8 @@ Http::priv::priv(const std::string &url)
  105. set_timeout_max(DEFAULT_TIMEOUT_MAX);
  106. ::curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, log_trace);
  107. ::curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); // curl makes a copy internally
  108. - ::curl_easy_setopt(curl, CURLOPT_USERAGENT, SLIC3R_APP_NAME "/" SoftFever_VERSION);
  109. + // Identify as BambuStudio so Bambu's cloud doesn't reject the request as a third-party client.
  110. + ::curl_easy_setopt(curl, CURLOPT_USERAGENT, "BambuStudio/" SoftFever_VERSION);
  111. ::curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, &error_buffer.front());
  112. #ifdef __WINDOWS__
  113. ::curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_MAX_TLSv1_2);
  114.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Lonimdi
    3 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment