atome 0.5.7.0.3 → 0.3191
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of atome might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/README.md +5 -77
- data/Rakefile +7 -502
- data/app_builder_helpers/Rakefile +235 -0
- data/documentation/framework/enhance_atome.md +1 -1
- data/documentation/installation/atome_server.md +1 -66
- data/documentation/tutorials/tutorials.md +0 -7
- data/exe/atome +157 -819
- data/lib/atome/atome_native_extensions.rb +3 -0
- data/lib/atome/extensions/geolocation.rb +1 -1
- data/lib/atome/extensions/ping.rb +11 -10
- data/lib/atome/extensions/sha.rb +6 -8
- data/lib/atome/kernel/atome_genesis.rb +93 -0
- data/lib/atome/kernel/generators/shapes.rb +7 -0
- data/lib/atome/kernel/properties/geometry.rb +120 -0
- data/lib/atome/kernel/universe.rb +24 -295
- data/lib/atome/renderers/headless/headless.rb +0 -0
- data/lib/atome/renderers/headless/properties/generator.rb +0 -0
- data/lib/atome/renderers/opal/atome_opal_extensions.rb +4 -0
- data/lib/{platform_specific → atome/renderers}/opal/extensions/geolocation.rb +1 -1
- data/lib/atome/renderers/opal/extensions/ping.rb +13 -0
- data/lib/atome/renderers/opal/extensions/sha.rb +11 -0
- data/lib/atome/renderers/opal/opal_browser.rb +8 -0
- data/lib/{platform_specific → atome/renderers}/opal/opal_parser.rb +0 -1
- data/lib/atome/renderers/opal/properties/generator.rb +6 -0
- data/lib/atome/renderers/server/server.rb +0 -0
- data/lib/atome/version.rb +1 -2
- data/lib/atome.rb +16 -35
- data/sig/atome.rbs +0 -75
- data/vendor/assets/Guardfile +4 -0
- data/vendor/assets/Rakefile +2 -12
- data/vendor/assets/application/index.rb +2 -7
- data/vendor/assets/build/css/style.css +53 -0
- data/vendor/assets/build/index.html +24 -0
- data/vendor/assets/build/js/application.js +0 -0
- data/vendor/assets/build/js/third_parties/interact.min.js +4 -0
- data/vendor/assets/build/js/third_parties/popmotion.min.js +1 -0
- data/vendor/assets/examples/misc.rb +219 -0
- data/vendor/assets/examples/ping.rb +3 -0
- data/vendor/assets/examples/storage.rb +9 -0
- data/vendor/assets/examples/view_example.rb +21 -0
- data/vendor/assets/server/atome_server.rb +96 -33
- data/vendor/assets/server/config.ru +3 -8
- metadata +69 -512
- data/CHANGELOG.md +0 -21
- data/atome.gemspec +0 -100
- data/documentation/basic.md +0 -241
- data/documentation/deep learning/architecture.txt +0 -3763
- data/documentation/deep learning/atome.png +0 -0
- data/documentation/deep learning/basic_infos.txt +0 -289
- data/documentation/deep learning/example_of_users_code.rb +0 -1810
- data/documentation/deep learning/misc.txt +0 -24
- data/documentation/deep learning/ruby_js_example.rb +0 -272
- data/documentation/deep learning/wasm_script_help.text +0 -14
- data/documentation/installation/buiding_atome.md +0 -307
- data/lib/atome/atome.rb +0 -131
- data/lib/atome/extensions/atome.rb +0 -705
- data/lib/atome/extensions/mathematics.rb +0 -20
- data/lib/atome/genesis/atomes.rb +0 -109
- data/lib/atome/genesis/genesis.rb +0 -272
- data/lib/atome/genesis/particles/atome.rb +0 -4
- data/lib/atome/genesis/particles/communication.rb +0 -43
- data/lib/atome/genesis/particles/effect.rb +0 -14
- data/lib/atome/genesis/particles/event.rb +0 -344
- data/lib/atome/genesis/particles/geometry.rb +0 -31
- data/lib/atome/genesis/particles/hierarchy.rb +0 -105
- data/lib/atome/genesis/particles/identity.rb +0 -82
- data/lib/atome/genesis/particles/material.rb +0 -119
- data/lib/atome/genesis/particles/property.rb +0 -147
- data/lib/atome/genesis/particles/security.rb +0 -77
- data/lib/atome/genesis/particles/spatial.rb +0 -98
- data/lib/atome/genesis/particles/time.rb +0 -4
- data/lib/atome/genesis/particles/utility.rb +0 -261
- data/lib/atome/genesis/presets.rb +0 -10
- data/lib/atome/genesis/sparkle.rb +0 -217
- data/lib/atome/kernel/black_matter.rb +0 -22
- data/lib/atome/presets/atome.rb +0 -79
- data/lib/atome/utilities/color_helper/color/cmyk.rb +0 -263
- data/lib/atome/utilities/color_helper/color/css.rb +0 -7
- data/lib/atome/utilities/color_helper/color/grayscale.rb +0 -197
- data/lib/atome/utilities/color_helper/color/hsl.rb +0 -240
- data/lib/atome/utilities/color_helper/color/palette/adobecolor.rb +0 -260
- data/lib/atome/utilities/color_helper/color/palette/gimp.rb +0 -104
- data/lib/atome/utilities/color_helper/color/palette/monocontrast.rb +0 -164
- data/lib/atome/utilities/color_helper/color/palette.rb +0 -4
- data/lib/atome/utilities/color_helper/color/rgb/colors.rb +0 -167
- data/lib/atome/utilities/color_helper/color/rgb/contrast.rb +0 -57
- data/lib/atome/utilities/color_helper/color/rgb/metallic.rb +0 -28
- data/lib/atome/utilities/color_helper/color/rgb.rb +0 -715
- data/lib/atome/utilities/color_helper/color/yiq.rb +0 -62
- data/lib/atome/utilities/color_helper/color.rb +0 -415
- data/lib/atome/utilities/essentials.rb +0 -70
- data/lib/atome/utilities/sanitizer.rb +0 -13
- data/lib/atome/utilities/security.rb +0 -71
- data/lib/atome/utilities/utilities.rb +0 -656
- data/lib/atome_relative.rb +0 -39
- data/lib/molecules/_deprecated_examples/site.rb +0 -34
- data/lib/molecules/init.rb +0 -31
- data/lib/molecules/intuition/_deprecated_inputs.rb +0 -111
- data/lib/molecules/intuition/_deprecated_toolbox.rb +0 -282
- data/lib/molecules/intuition/utillities.rb +0 -408
- data/lib/platform_specific/opal/atome_opal_extensions.rb +0 -11
- data/lib/platform_specific/opal/extensions/color.rb +0 -30
- data/lib/platform_specific/opal/extensions/js.rb +0 -20
- data/lib/platform_specific/opal/extensions/object.rb +0 -6
- data/lib/platform_specific/opal/extensions/ping.rb +0 -31
- data/lib/platform_specific/opal/extensions/sha.rb +0 -25
- data/lib/platform_specific/opal/opal.rb +0 -5
- data/lib/platform_specific/wasm/atome_wasm_extensions.rb +0 -11
- data/lib/renderers/headless/headless.rb +0 -18
- data/lib/renderers/headless/index.rb +0 -6
- data/lib/renderers/headless/index_relative.rb +0 -6
- data/lib/renderers/headless/utility.rb +0 -6
- data/lib/renderers/html/atome.rb +0 -2
- data/lib/renderers/html/atome_html.rb +0 -22
- data/lib/renderers/html/communication.rb +0 -3
- data/lib/renderers/html/effect.rb +0 -51
- data/lib/renderers/html/event.rb +0 -59
- data/lib/renderers/html/geometry.rb +0 -49
- data/lib/renderers/html/hierarchy.rb +0 -248
- data/lib/renderers/html/html.rb +0 -1688
- data/lib/renderers/html/identity.rb +0 -104
- data/lib/renderers/html/index.rb +0 -19
- data/lib/renderers/html/index_relative.rb +0 -20
- data/lib/renderers/html/material.rb +0 -88
- data/lib/renderers/html/property.rb +0 -52
- data/lib/renderers/html/security.rb +0 -1
- data/lib/renderers/html/spatial.rb +0 -75
- data/lib/renderers/html/time.rb +0 -1
- data/lib/renderers/html/utility.rb +0 -170
- data/lib/renderers/renderer.rb +0 -16
- data/lib/renderers/server/index.rb +0 -4
- data/lib/renderers/server/index_relative.rb +0 -4
- data/lib/renderers/server/utility.rb +0 -4
- data/sig/atome_js.rbs +0 -1
- data/sig/batch.rbs +0 -7
- data/sig/browser_helper.rbs +0 -14
- data/sig/essentials.rbs +0 -11
- data/sig/genesis.rbs +0 -3
- data/sig/global_variables.rbs +0 -1
- data/sig/matrix.rbs +0 -5
- data/sig/object.rbs +0 -7
- data/sig/universe.rbs +0 -3
- data/src/utilities/host_mode.rb +0 -5
- data/vendor/assets/application/examples/affect.rb +0 -8
- data/vendor/assets/application/examples/aid.rb +0 -10
- data/vendor/assets/application/examples/allow_copy.rb +0 -13
- data/vendor/assets/application/examples/allow_system_right_click.rb +0 -16
- data/vendor/assets/application/examples/alternate.rb +0 -36
- data/vendor/assets/application/examples/animation.rb +0 -91
- data/vendor/assets/application/examples/apply.rb +0 -8
- data/vendor/assets/application/examples/atome.rb +0 -5
- data/vendor/assets/application/examples/atome_particle_validation.rb +0 -7
- data/vendor/assets/application/examples/atome_sparkle_use.rb +0 -6
- data/vendor/assets/application/examples/atomizer.rb +0 -86
- data/vendor/assets/application/examples/attach.rb +0 -34
- data/vendor/assets/application/examples/attached.rb +0 -45
- data/vendor/assets/application/examples/b64_to_image.rb +0 -9
- data/vendor/assets/application/examples/basic_understanding.rb +0 -54
- data/vendor/assets/application/examples/behavior.rb +0 -32
- data/vendor/assets/application/examples/blur.rb +0 -26
- data/vendor/assets/application/examples/border.rb +0 -75
- data/vendor/assets/application/examples/browse.rb +0 -17
- data/vendor/assets/application/examples/categories.rb +0 -5
- data/vendor/assets/application/examples/category.rb +0 -16
- data/vendor/assets/application/examples/center.rb +0 -7
- data/vendor/assets/application/examples/clear.rb +0 -96
- data/vendor/assets/application/examples/clones&monitoring.rb +0 -105
- data/vendor/assets/application/examples/code.rb +0 -13
- data/vendor/assets/application/examples/color.rb +0 -54
- data/vendor/assets/application/examples/compute.rb +0 -16
- data/vendor/assets/application/examples/console.rb +0 -4
- data/vendor/assets/application/examples/convert.rb +0 -163
- data/vendor/assets/application/examples/copy.rb +0 -25
- data/vendor/assets/application/examples/copybck.rb +0 -68
- data/vendor/assets/application/examples/css.rb +0 -6
- data/vendor/assets/application/examples/database_handling.rb +0 -39
- data/vendor/assets/application/examples/debug.rb +0 -78
- data/vendor/assets/application/examples/delete.rb +0 -105
- data/vendor/assets/application/examples/dig.rb +0 -13
- data/vendor/assets/application/examples/display.rb +0 -279
- data/vendor/assets/application/examples/display_bck.rb +0 -164
- data/vendor/assets/application/examples/drag.rb +0 -54
- data/vendor/assets/application/examples/drop.rb +0 -35
- data/vendor/assets/application/examples/duplicate.rb +0 -70
- data/vendor/assets/application/examples/edit.rb +0 -24
- data/vendor/assets/application/examples/encode.rb +0 -6
- data/vendor/assets/application/examples/encrypt.rb +0 -6
- data/vendor/assets/application/examples/example.rb +0 -27
- data/vendor/assets/application/examples/executor.rb +0 -36
- data/vendor/assets/application/examples/file.rb +0 -16
- data/vendor/assets/application/examples/fill.rb +0 -23
- data/vendor/assets/application/examples/find.rb +0 -158
- data/vendor/assets/application/examples/fit.rb +0 -26
- data/vendor/assets/application/examples/fonts.rb +0 -15
- data/vendor/assets/application/examples/generator_and_build.rb +0 -15
- data/vendor/assets/application/examples/getter.rb +0 -16
- data/vendor/assets/application/examples/grab.rb +0 -14
- data/vendor/assets/application/examples/gradient.rb +0 -40
- data/vendor/assets/application/examples/group.rb +0 -44
- data/vendor/assets/application/examples/help.rb +0 -17
- data/vendor/assets/application/examples/hierarchy.rb +0 -21
- data/vendor/assets/application/examples/history.rb +0 -32
- data/vendor/assets/application/examples/holder.rb +0 -62
- data/vendor/assets/application/examples/hypertext.rb +0 -113
- data/vendor/assets/application/examples/image.rb +0 -5
- data/vendor/assets/application/examples/import.rb +0 -33
- data/vendor/assets/application/examples/increment.rb +0 -23
- data/vendor/assets/application/examples/infos.rb +0 -10
- data/vendor/assets/application/examples/input.rb +0 -34
- data/vendor/assets/application/examples/int8.rb +0 -17
- data/vendor/assets/application/examples/js&ruby.rb +0 -18
- data/vendor/assets/application/examples/keyboard.rb +0 -59
- data/vendor/assets/application/examples/layout.rb +0 -38
- data/vendor/assets/application/examples/list.rb +0 -72
- data/vendor/assets/application/examples/localstorage.rb +0 -19
- data/vendor/assets/application/examples/login.rb +0 -84
- data/vendor/assets/application/examples/markup.rb +0 -4
- data/vendor/assets/application/examples/match.rb +0 -115
- data/vendor/assets/application/examples/matrix.rb +0 -118
- data/vendor/assets/application/examples/monitor.rb +0 -14
- data/vendor/assets/application/examples/on_resize.rb +0 -7
- data/vendor/assets/application/examples/on_the_fly_ruby_code_loading.rb +0 -9
- data/vendor/assets/application/examples/online.rb +0 -3
- data/vendor/assets/application/examples/opacity.rb +0 -9
- data/vendor/assets/application/examples/over.rb +0 -29
- data/vendor/assets/application/examples/paint.rb +0 -29
- data/vendor/assets/application/examples/particles.rb +0 -4
- data/vendor/assets/application/examples/percent_to_px.rb +0 -4
- data/vendor/assets/application/examples/play.rb +0 -50
- data/vendor/assets/application/examples/preset.rb +0 -33
- data/vendor/assets/application/examples/random.rb +0 -42
- data/vendor/assets/application/examples/raw_html.rb +0 -48
- data/vendor/assets/application/examples/read.rb +0 -13
- data/vendor/assets/application/examples/recorder.rb +0 -74
- data/vendor/assets/application/examples/refresh.rb +0 -62
- data/vendor/assets/application/examples/remove.rb +0 -60
- data/vendor/assets/application/examples/repeat.rb +0 -26
- data/vendor/assets/application/examples/resize.rb +0 -17
- data/vendor/assets/application/examples/scroll.rb +0 -11
- data/vendor/assets/application/examples/security.rb +0 -76
- data/vendor/assets/application/examples/select_text.rb +0 -18
- data/vendor/assets/application/examples/selected.rb +0 -35
- data/vendor/assets/application/examples/server.rb +0 -24
- data/vendor/assets/application/examples/shadow.rb +0 -60
- data/vendor/assets/application/examples/shapes.rb +0 -6
- data/vendor/assets/application/examples/shortcut.rb +0 -25
- data/vendor/assets/application/examples/site.rb +0 -41
- data/vendor/assets/application/examples/size.rb +0 -17
- data/vendor/assets/application/examples/sliders.rb +0 -17
- data/vendor/assets/application/examples/smooth.rb +0 -9
- data/vendor/assets/application/examples/style.rb +0 -4
- data/vendor/assets/application/examples/sub_atome_manipulation.rb +0 -20
- data/vendor/assets/application/examples/svg_img_to_vector.rb +0 -6
- data/vendor/assets/application/examples/svg_vectorizer.rb +0 -21
- data/vendor/assets/application/examples/sync.rb +0 -38
- data/vendor/assets/application/examples/table.rb +0 -76
- data/vendor/assets/application/examples/tagged.rb +0 -24
- data/vendor/assets/application/examples/terminal.rb +0 -4
- data/vendor/assets/application/examples/test.rb +0 -584
- data/vendor/assets/application/examples/text.rb +0 -5
- data/vendor/assets/application/examples/tick.rb +0 -29
- data/vendor/assets/application/examples/tools.rb +0 -666
- data/vendor/assets/application/examples/touch.rb +0 -41
- data/vendor/assets/application/examples/type_mutation.rb +0 -18
- data/vendor/assets/application/examples/unit.rb +0 -14
- data/vendor/assets/application/examples/universe.rb +0 -8
- data/vendor/assets/application/examples/vector.rb +0 -37
- data/vendor/assets/application/examples/video.rb +0 -14
- data/vendor/assets/application/examples/wait.rb +0 -6
- data/vendor/assets/application/examples/www.rb +0 -10
- data/vendor/assets/server/atome_server_wasm.rb +0 -54
- data/vendor/assets/server/capture.rb +0 -10
- data/vendor/assets/server/database.rb +0 -63
- data/vendor/assets/server/eDen.rb +0 -302
- data/vendor/assets/server/extensions.rb +0 -13
- data/vendor/assets/src/css/style.css +0 -167
- data/vendor/assets/src/index.html +0 -45
- data/vendor/assets/src/index_opal.html +0 -40
- data/vendor/assets/src/index_server.html +0 -38
- data/vendor/assets/src/index_server_wasm.html +0 -45
- data/vendor/assets/src/index_wasm.html +0 -50
- data/vendor/assets/src/js/atome/atome.js +0 -506
- data/vendor/assets/src/js/atome/atome_helpers/add_font.js +0 -46
- data/vendor/assets/src/js/atome/atome_helpers/atome_animate.js +0 -65
- data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +0 -124
- data/vendor/assets/src/js/atome/atome_helpers/atome_drop.js +0 -12
- data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +0 -171
- data/vendor/assets/src/js/atome/atome_helpers/atome_over.js +0 -43
- data/vendor/assets/src/js/atome/atome_helpers/atome_sort.js +0 -20
- data/vendor/assets/src/js/atome/atome_helpers/atome_time.js +0 -10
- data/vendor/assets/src/js/atome/atome_helpers/atome_video.js +0 -12
- data/vendor/assets/src/js/atome/atome_helpers/communication.js +0 -35
- data/vendor/assets/src/js/atome/atome_helpers/file.js +0 -12
- data/vendor/assets/src/js/atome/specific/opal.js +0 -111
- data/vendor/assets/src/js/atome/specific/wasm.js +0 -123
- data/vendor/assets/src/js/molecules/web.js +0 -4
- data/vendor/assets/src/js/third_parties/browser.script.iife.min.js +0 -13
- data/vendor/assets/src/js/third_parties/fabric.min.js +0 -1
- data/vendor/assets/src/js/third_parties/html-to-image.min.js +0 -2
- data/vendor/assets/src/js/third_parties/interact.min.js +0 -3
- data/vendor/assets/src/js/third_parties/jsencrypt.min.js +0 -2
- data/vendor/assets/src/js/third_parties/papaparse.min.js +0 -7
- data/vendor/assets/src/js/third_parties/popmotion.min.js +0 -1
- data/vendor/assets/src/js/third_parties/sortable.min.js +0 -2
- data/vendor/assets/src/js/third_parties/three.min.js +0 -6
- data/vendor/assets/src/js/third_parties/w3color.js +0 -646
- data/vendor/assets/src/js/third_parties/wad.min.js +0 -9
- data/vendor/assets/src/js/third_parties/zim.min.js +0 -1
- data/vendor/assets/src/medias/audios/audio_missing.wav +0 -0
- data/vendor/assets/src/medias/audios/clap.wav +0 -0
- data/vendor/assets/src/medias/audios/cowbell.wav +0 -0
- data/vendor/assets/src/medias/audios/hihat.wav +0 -0
- data/vendor/assets/src/medias/audios/kick.wav +0 -0
- data/vendor/assets/src/medias/audios/riff.m4a +0 -0
- data/vendor/assets/src/medias/audios/snare.wav +0 -0
- data/vendor/assets/src/medias/audios/tom.wav +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/LICENSE.txt +0 -202
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Black.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Bold.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Italic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Light.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Medium.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Regular.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-Thin.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/LICENSE.txt +0 -202
- data/vendor/assets/src/medias/fonts/Roboto_Slab/README.txt +0 -71
- data/vendor/assets/src/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
- data/vendor/assets/src/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
- data/vendor/assets/src/medias/images/atome.svg +0 -12
- data/vendor/assets/src/medias/images/ballanim.png +0 -0
- data/vendor/assets/src/medias/images/blank.png +0 -0
- data/vendor/assets/src/medias/images/green_planet.png +0 -0
- data/vendor/assets/src/medias/images/icons/Lowpass.svg +0 -8
- data/vendor/assets/src/medias/images/icons/activate.svg +0 -3
- data/vendor/assets/src/medias/images/icons/audio.svg +0 -7
- data/vendor/assets/src/medias/images/icons/band_pass.svg +0 -8
- data/vendor/assets/src/medias/images/icons/clear.svg +0 -5
- data/vendor/assets/src/medias/images/icons/color.svg +0 -5
- data/vendor/assets/src/medias/images/icons/copy.svg +0 -8
- data/vendor/assets/src/medias/images/icons/create.svg +0 -3
- data/vendor/assets/src/medias/images/icons/delete.svg +0 -8
- data/vendor/assets/src/medias/images/icons/edit-.svg +0 -4
- data/vendor/assets/src/medias/images/icons/edit.svg +0 -4
- data/vendor/assets/src/medias/images/icons/edition.svg +0 -4
- data/vendor/assets/src/medias/images/icons/email.svg +0 -13
- data/vendor/assets/src/medias/images/icons/equalizer-.svg +0 -5
- data/vendor/assets/src/medias/images/icons/equalizer.svg +0 -5
- data/vendor/assets/src/medias/images/icons/filter.svg +0 -4
- data/vendor/assets/src/medias/images/icons/folder.svg +0 -4
- data/vendor/assets/src/medias/images/icons/group.svg +0 -6
- data/vendor/assets/src/medias/images/icons/hamburger.svg +0 -8
- data/vendor/assets/src/medias/images/icons/high_pass.svg +0 -5
- data/vendor/assets/src/medias/images/icons/link.svg +0 -4
- data/vendor/assets/src/medias/images/icons/load.svg +0 -4
- data/vendor/assets/src/medias/images/icons/low_pass.svg +0 -5
- data/vendor/assets/src/medias/images/icons/mail_gray.svg +0 -6
- data/vendor/assets/src/medias/images/icons/mail_green.svg +0 -6
- data/vendor/assets/src/medias/images/icons/mail_orange.svg +0 -6
- data/vendor/assets/src/medias/images/icons/microphone.svg +0 -7
- data/vendor/assets/src/medias/images/icons/midi_in.svg +0 -4
- data/vendor/assets/src/medias/images/icons/midi_out.svg +0 -4
- data/vendor/assets/src/medias/images/icons/modules.svg +0 -11
- data/vendor/assets/src/medias/images/icons/paste.svg +0 -4
- data/vendor/assets/src/medias/images/icons/pause.svg +0 -5
- data/vendor/assets/src/medias/images/icons/play.svg +0 -7
- data/vendor/assets/src/medias/images/icons/record.svg +0 -4
- data/vendor/assets/src/medias/images/icons/save.svg +0 -5
- data/vendor/assets/src/medias/images/icons/select--.svg +0 -4
- data/vendor/assets/src/medias/images/icons/select-.svg +0 -5
- data/vendor/assets/src/medias/images/icons/select-all.svg +0 -4
- data/vendor/assets/src/medias/images/icons/select.svg +0 -4
- data/vendor/assets/src/medias/images/icons/settings.svg +0 -5
- data/vendor/assets/src/medias/images/icons/settings0.svg +0 -2
- data/vendor/assets/src/medias/images/icons/settings1.svg +0 -17
- data/vendor/assets/src/medias/images/icons/settings2.svg +0 -25
- data/vendor/assets/src/medias/images/icons/settings_old.svg +0 -6
- data/vendor/assets/src/medias/images/icons/shape.svg +0 -7
- data/vendor/assets/src/medias/images/icons/speaker.svg +0 -6
- data/vendor/assets/src/medias/images/icons/stop.svg +0 -4
- data/vendor/assets/src/medias/images/icons/tool.svg +0 -7
- data/vendor/assets/src/medias/images/icons/tools.svg +0 -9
- data/vendor/assets/src/medias/images/icons/undo.svg +0 -4
- data/vendor/assets/src/medias/images/icons/undo2.svg +0 -4
- data/vendor/assets/src/medias/images/icons/validate.svg +0 -9
- data/vendor/assets/src/medias/images/icons/vie.svg +0 -3
- data/vendor/assets/src/medias/images/icons/wave-saw.svg +0 -3
- data/vendor/assets/src/medias/images/icons/wave-sine.svg +0 -3
- data/vendor/assets/src/medias/images/icons/wave-square-.svg +0 -4
- data/vendor/assets/src/medias/images/icons/wave-square.svg +0 -3
- data/vendor/assets/src/medias/images/icons/wave-triangle.svg +0 -3
- data/vendor/assets/src/medias/images/icons/waveform-.svg +0 -4
- data/vendor/assets/src/medias/images/icons/waveform.svg +0 -7
- data/vendor/assets/src/medias/images/logos/Facebook.svg +0 -8
- data/vendor/assets/src/medias/images/logos/GitHub Black.svg +0 -7
- data/vendor/assets/src/medias/images/logos/GitHub.svg +0 -7
- data/vendor/assets/src/medias/images/logos/LinkedIn-full.svg +0 -109
- data/vendor/assets/src/medias/images/logos/LinkedIn.svg +0 -11
- data/vendor/assets/src/medias/images/logos/Orange/Facebook.svg +0 -8
- data/vendor/assets/src/medias/images/logos/Orange/TikTok.svg +0 -11
- data/vendor/assets/src/medias/images/logos/Orange/Twitter.svg +0 -8
- data/vendor/assets/src/medias/images/logos/Orange/instagram.svg +0 -8
- data/vendor/assets/src/medias/images/logos/Orange/vimeo.svg +0 -8
- data/vendor/assets/src/medias/images/logos/Orange/youtube.svg +0 -7
- data/vendor/assets/src/medias/images/logos/TikTok.svg +0 -11
- data/vendor/assets/src/medias/images/logos/Twitter.svg +0 -35
- data/vendor/assets/src/medias/images/logos/X.svg +0 -5
- data/vendor/assets/src/medias/images/logos/YouTube.svg +0 -1
- data/vendor/assets/src/medias/images/logos/apple.svg +0 -4
- data/vendor/assets/src/medias/images/logos/atome.svg +0 -12
- data/vendor/assets/src/medias/images/logos/freebsd.png +0 -0
- data/vendor/assets/src/medias/images/logos/freebsd.svg +0 -8
- data/vendor/assets/src/medias/images/logos/gray/Facebook.svg +0 -8
- data/vendor/assets/src/medias/images/logos/gray/TikTok.svg +0 -11
- data/vendor/assets/src/medias/images/logos/gray/Twitter.svg +0 -8
- data/vendor/assets/src/medias/images/logos/gray/instagram.svg +0 -8
- data/vendor/assets/src/medias/images/logos/gray/vimeo.svg +0 -8
- data/vendor/assets/src/medias/images/logos/gray/youtube.svg +0 -7
- data/vendor/assets/src/medias/images/logos/gray/youtube2.svg +0 -13
- data/vendor/assets/src/medias/images/logos/instagram.svg +0 -6
- data/vendor/assets/src/medias/images/logos/tiktok_back.svg +0 -1
- data/vendor/assets/src/medias/images/logos/vimeo.svg +0 -17
- data/vendor/assets/src/medias/images/noise.svg +0 -17
- data/vendor/assets/src/medias/images/red_planet.png +0 -0
- data/vendor/assets/src/medias/images/tile.png +0 -0
- data/vendor/assets/src/medias/texts/lorem.txt +0 -1
- data/vendor/assets/src/medias/utils/infos/color.rb +0 -29
- data/vendor/assets/src/medias/utils/infos/width.rb +0 -25
- data/vendor/assets/src/medias/videos/video_missing.mp4 +0 -0
- data/vendor/assets/src-tauri/.gitignore +0 -4
- data/vendor/assets/src-tauri/Cargo.toml +0 -27
- data/vendor/assets/src-tauri/build.rs +0 -3
- data/vendor/assets/src-tauri/icons/128x128.png +0 -0
- data/vendor/assets/src-tauri/icons/128x128@2x.png +0 -0
- data/vendor/assets/src-tauri/icons/32x32.png +0 -0
- data/vendor/assets/src-tauri/icons/Square107x107Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square142x142Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square150x150Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square284x284Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square30x30Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square310x310Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square44x44Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square71x71Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/Square89x89Logo.png +0 -0
- data/vendor/assets/src-tauri/icons/StoreLogo.png +0 -0
- data/vendor/assets/src-tauri/icons/icon.icns +0 -0
- data/vendor/assets/src-tauri/icons/icon.ico +0 -0
- data/vendor/assets/src-tauri/icons/icon.png +0 -0
- data/vendor/assets/src-tauri/src/main.rs +0 -71
- data/vendor/assets/src-tauri/tauri.conf.json +0 -70
- data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_arm +0 -0
- data/vendor/assets/src-wasm/wasm/wasi-vfs-osx_x86 +0 -0
- data/vendor/assets/src-wasm/wasm/wasi-vfs-unix +0 -0
- data/vendor/assets/src-wasm/wasm/wasi-vfs.exe +0 -0
- /data/vendor/assets/{src → build}/favicon.ico +0 -0
- /data/vendor/assets/{src/js/third_parties → build/js}/ping.min.js +0 -0
- /data/vendor/assets/{src → build}/js/third_parties/interact.min.js.map +0 -0
- /data/vendor/assets/{src → build}/js/third_parties/sha256.min.js +0 -0
@@ -0,0 +1,235 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'opal'
|
4
|
+
require 'opal-jquery'
|
5
|
+
require 'opal-browser'
|
6
|
+
require 'parser'
|
7
|
+
require 'ruby2js'
|
8
|
+
require 'uglifier'
|
9
|
+
|
10
|
+
Opal.append_path 'app'
|
11
|
+
|
12
|
+
def build_atome_to_js(user_project_path, source_code)
|
13
|
+
# now lets build the atome kernel
|
14
|
+
atome_directory = "#{user_project_path}/build/js/atome"
|
15
|
+
atome_js = "#{atome_directory}/atome.js"
|
16
|
+
unless File.directory?(atome_directory)
|
17
|
+
Dir.mkdir(atome_directory)
|
18
|
+
end
|
19
|
+
|
20
|
+
File.new atome_js, "w"
|
21
|
+
source_code_rb = File.open(source_code)
|
22
|
+
# atome_rb = File.open("#{gem_location}/../vendor/assets/application/atome.rb")
|
23
|
+
# source_code_rb = File.open("#{gem_location}/../lib/atome.rb")
|
24
|
+
source_code_rb_content = source_code_rb.read
|
25
|
+
source_content = Ruby2JS.convert(source_code_rb_content).to_s
|
26
|
+
# # atome_content=Ruby2JS.convert("a={age:3}\na.age+=1")
|
27
|
+
# atome_content = Uglifier.new.compile(atome_content)
|
28
|
+
File.open(atome_js, 'w') do |f|
|
29
|
+
f.puts source_content
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
def build_opal_browser(user_project_path)
|
35
|
+
opal_directory = "#{user_project_path}/build/js/opal"
|
36
|
+
browser_js = "#{opal_directory}/opal_browser.js"
|
37
|
+
Dir.mkdir(opal_directory) unless File.directory?(opal_directory)
|
38
|
+
|
39
|
+
File.new browser_js, "w"
|
40
|
+
browser_content = Opal::Builder.build('../lib/atome/renderers/opal/opal_browser.rb').to_s
|
41
|
+
browser_content.gsub!("$$$('STDERR')['$write_proc='](typeof(process) === 'object' && typeof(process.stderr) === 'object' ? function(s){process.stderr.write(s)} : function(s){console.warn(s)});", "$$$('STDERR')['$write_proc='](typeof(process) === 'object' && typeof(process.stderr) === 'object' ? function(s){process.stderr.write(s)} : function(s){});")
|
42
|
+
# browser_content = Uglifier.new.compile(browser_content)
|
43
|
+
File.open(browser_js, 'w') do |f|
|
44
|
+
f.puts browser_content
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def build_aui(user_project_path)
|
49
|
+
#fixme: for now production can't be change when updating or force create, we should add a production method that uglified all libs on demand
|
50
|
+
|
51
|
+
# now we add an uniq aui to the app
|
52
|
+
aui_js = "#{user_project_path}/build/js/aui.js"
|
53
|
+
File.new aui_js, "w"
|
54
|
+
builder = Opal::Builder.new
|
55
|
+
aui_content = builder.build("#{user_project_path}/aui.rb").to_s
|
56
|
+
# aui_content = Uglifier.new.compile(aui_content)
|
57
|
+
File.open(aui_js, 'w') do |f|
|
58
|
+
f.puts aui_content
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def copy_assets_files(user_project_path, gem_location)
|
63
|
+
build_location = "#{gem_location}/../vendor/assets/build/"
|
64
|
+
server_location = "#{gem_location}/../vendor/assets/server/"
|
65
|
+
FileUtils.copy_entry build_location, "#{user_project_path}/build", preserve: nil
|
66
|
+
FileUtils.copy_entry server_location, "#{user_project_path}/server", preserve: nil
|
67
|
+
end
|
68
|
+
|
69
|
+
# def copy_atome_extensions(user_project_path, gem_location)
|
70
|
+
# extensions_location = "#{gem_location}/../lib/atome/extensions/"
|
71
|
+
# atome_native_extensions = "#{gem_location}/../lib/atome/atome_native_extensions.rb"
|
72
|
+
# FileUtils.copy_entry extensions_location, "#{user_project_path}/server/extensions", preserve: nil
|
73
|
+
# FileUtils.copy_entry atome_native_extensions, "#{user_project_path}/server/atome_native_extensions.rb", preserve: nil
|
74
|
+
# end
|
75
|
+
|
76
|
+
def build_atome_kernel(user_project_path, gem_location)
|
77
|
+
# now lets build the atome kernel
|
78
|
+
atome_directory = "#{user_project_path}/build/js/atome"
|
79
|
+
Dir.mkdir(atome_directory) unless File.directory?(atome_directory)
|
80
|
+
kernel_js = "#{atome_directory}/kernel.js"
|
81
|
+
File.new kernel_js, "w"
|
82
|
+
builder = Opal::Builder.new
|
83
|
+
builder.append_paths("#{gem_location}/../lib/")
|
84
|
+
kernel_content = builder.build("#{gem_location}/../lib/atome.rb").to_s
|
85
|
+
# kernel_content = Uglifier.new.compile(kernel_content)
|
86
|
+
File.open(kernel_js, 'w') do |f|
|
87
|
+
f.puts kernel_content
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def build_opal_extensions(user_project_path, gem_location)
|
92
|
+
opal_directory = "#{user_project_path}/build/js/opal"
|
93
|
+
extensions_js = "#{opal_directory}/atome_opal_extensions.js"
|
94
|
+
File.new extensions_js, "w"
|
95
|
+
builder = Opal::Builder.new
|
96
|
+
builder.append_paths("#{gem_location}/../lib/atome/renderers/opal/")
|
97
|
+
extensions_content = builder.build("#{gem_location}/../lib/atome/renderers/opal/atome_opal_extensions.rb").to_s
|
98
|
+
# extensions_content = Opal::Builder.build("#{gem_location}/../lib/atome/renderers/opal/atome_opal.rb").to_s
|
99
|
+
File.open(extensions_js, 'w') do |f|
|
100
|
+
f.puts extensions_content
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
def build_opal_parser(user_project_path)
|
106
|
+
parser_js = "#{user_project_path}/build/js/opal/opal_parser.js"
|
107
|
+
File.new parser_js, "w"
|
108
|
+
parser_content = Opal::Builder.build('../lib/atome/renderers/opal/opal_parser.rb').to_s
|
109
|
+
# parser_content = Uglifier.new.compile(parser_content) if production
|
110
|
+
File.open(parser_js, 'w') do |f|
|
111
|
+
f.puts parser_content
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
def build_user_code(user_project_path, source_code)
|
118
|
+
application_js = "#{user_project_path}/build/js/application.js"
|
119
|
+
builder = Opal::Builder.new
|
120
|
+
builder.append_paths("#{user_project_path}/")
|
121
|
+
application_content = builder.build(source_code).to_s
|
122
|
+
|
123
|
+
File.open(application_js, 'w') do |f|
|
124
|
+
f.puts application_content
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def minimize_libraries(user_project_path)
|
129
|
+
# minimizing aui
|
130
|
+
aui_js = "#{user_project_path}/build/js/aui.js"
|
131
|
+
aui_content = File.open(aui_js).read
|
132
|
+
aui_content = Uglifier.new.compile(aui_content)
|
133
|
+
File.open(aui_js, 'w') do |f|
|
134
|
+
f.puts aui_content
|
135
|
+
end
|
136
|
+
# minimizing opal_browser
|
137
|
+
browser_js = "#{user_project_path}/build/js/opal/opal_browser.js"
|
138
|
+
browser_content = File.open(browser_js).read
|
139
|
+
browser_content = Uglifier.new.compile(browser_content)
|
140
|
+
File.open(browser_js, 'w') do |f|
|
141
|
+
f.puts browser_content
|
142
|
+
end
|
143
|
+
# minimizing opal_parser
|
144
|
+
parser_js = "#{user_project_path}/build/js/opal/opal_parser.js"
|
145
|
+
parser_content = File.open(parser_js).read
|
146
|
+
parser_content = Uglifier.new.compile(parser_content)
|
147
|
+
File.open(parser_js, 'w') do |f|
|
148
|
+
f.puts parser_content
|
149
|
+
end
|
150
|
+
# minimizing atome_lib
|
151
|
+
atome_js = "#{user_project_path}/build/js/atome/kernel.js"
|
152
|
+
atome_content = File.open(atome_js).read
|
153
|
+
atome_content = Uglifier.new.compile(atome_content)
|
154
|
+
File.open(atome_js, 'w') do |f|
|
155
|
+
f.puts atome_content
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def minimize_user_code(user_project_path)
|
160
|
+
# minimizing user codes
|
161
|
+
application_js = "#{user_project_path}/build/js/application.js"
|
162
|
+
application_content = File.open(application_js).read
|
163
|
+
application_content = Uglifier.new.compile(application_content)
|
164
|
+
File.open(application_js, 'w') do |f|
|
165
|
+
f.puts application_content
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
task :build_user_code, :user_project_path, :production do |t, args|
|
170
|
+
t
|
171
|
+
user_project_path = args[:user_project_path]
|
172
|
+
production = args[:production]
|
173
|
+
source_code = "#{user_project_path}/application/index.rb"
|
174
|
+
build_user_code(user_project_path, source_code)
|
175
|
+
minimize_user_code(user_project_path) if production == 'production'
|
176
|
+
end
|
177
|
+
|
178
|
+
task :system_builder, :user_project_path, :production do |t, args|
|
179
|
+
t
|
180
|
+
user_project_path = args[:user_project_path]
|
181
|
+
production = args[:production]
|
182
|
+
#
|
183
|
+
# gem_location = File.join(File.dirname(__FILE__))
|
184
|
+
source_code = '../vendor/assets/application/index.rb'
|
185
|
+
# build_aui(user_project_path)
|
186
|
+
# build_atome_kernel(user_project_path, gem_location)
|
187
|
+
# build_opal_browser(user_project_path)
|
188
|
+
# build_opal_parser(user_project_path)
|
189
|
+
# build_opal_extensions(user_project_path)
|
190
|
+
build_common_libraries(user_project_path,production)
|
191
|
+
build_user_code(user_project_path, source_code)
|
192
|
+
# build_atome_to_js(user_project_path, source_code)
|
193
|
+
# if production == 'production'
|
194
|
+
# minimize_libraries(user_project_path)
|
195
|
+
# minimize_user_code(user_project_path)
|
196
|
+
# end
|
197
|
+
|
198
|
+
# todo catch and message to user when when there's no force and folder already exist
|
199
|
+
end
|
200
|
+
|
201
|
+
task :system_updater, :user_project_path, :production do |t, args|
|
202
|
+
user_project_path = args[:user_project_path]
|
203
|
+
production = args[:production]
|
204
|
+
build_common_libraries(user_project_path,production)
|
205
|
+
# gem_location = File.join(File.dirname(__FILE__))
|
206
|
+
# copy_assets_files(user_project_path, gem_location)
|
207
|
+
# build_atome_kernel(user_project_path, gem_location)
|
208
|
+
# build_opal_browser(user_project_path)
|
209
|
+
# build_opal_parser(user_project_path)
|
210
|
+
# build_opal_extensions(user_project_path)
|
211
|
+
# if production == 'production'
|
212
|
+
# minimize_libraries(user_project_path)
|
213
|
+
# minimize_user_code(user_project_path)
|
214
|
+
# end
|
215
|
+
end
|
216
|
+
|
217
|
+
task default: :run
|
218
|
+
|
219
|
+
def build_common_libraries(user_project_path,production)
|
220
|
+
gem_location = File.join(File.dirname(__FILE__))
|
221
|
+
copy_assets_files(user_project_path, gem_location)
|
222
|
+
# copy_atome_extensions(user_project_path, gem_location)
|
223
|
+
build_aui(user_project_path)
|
224
|
+
build_atome_kernel(user_project_path, gem_location)
|
225
|
+
build_opal_browser(user_project_path)
|
226
|
+
build_opal_parser(user_project_path)
|
227
|
+
build_opal_extensions(user_project_path, gem_location)
|
228
|
+
if production == 'production'
|
229
|
+
minimize_libraries(user_project_path)
|
230
|
+
minimize_user_code(user_project_path)
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
|
235
|
+
# todo integrate pure JS (ruby2js) compilation
|
@@ -65,7 +65,7 @@ atome framework is looking for the rendering method named "glow_html" we explai
|
|
65
65
|
|
66
66
|
Finally we have to manually create the rendering method in our renderer by default the HTML render is used
|
67
67
|
|
68
|
-
so we have to go to "atome/lib/renderers/html/properties/" the open "effect.rb" as we want to create an effect renderer
|
68
|
+
so we have to go to "atome/lib/atome/renderers/html/properties/" the open "effect.rb" as we want to create an effect renderer
|
69
69
|
|
70
70
|
So in the "effect.rb" file we had the method name "glow_html" (the newly atome name suffixed with "_html" for html rendering)
|
71
71
|
|
@@ -181,69 +181,4 @@ Connect on port 443 with HTTPS to accept wss certificate.
|
|
181
181
|
[comment]: <> ( docker run --name=mediasoup-demo -p 4443:4443/tcp -p 40000-49999:40000-49999/udp -p 40000-49999:40000-49999/tcp -p 3000-3001:3000-3001/tcp --init -v c:/Tmp/mediasoup/certs:/service/certs -e HTTPS_CERT_FULLCHAIN="/service/certs/fullchain.pem" -e HTTPS_CERT_PRIVKEY="/service/certs/privkey.pem" -e MEDIASOUP_ANNOUNCED_IP="192.168.103.92" -e MEDIASOUP_LISTEN_IP="0.0.0.0" mediasoup-demo:v3)
|
182
182
|
|
183
183
|
|
184
|
-
[comment]: <> (Wait 10 mn for server starting...)
|
185
|
-
|
186
|
-
|
187
|
-
Freebsd mail server install :
|
188
|
-
|
189
|
-
Setting up a mail server on FreeBSD similar to what you might find in cPanel involves multiple components, as cPanel utilizes a software stack that includes mail servers, databases, web servers, and more. For setting up a mail server, you typically need the following components:
|
190
|
-
|
191
|
-
- **MTA (Mail Transfer Agent)**: Software for routing and delivering email. Popular choices include Postfix and Exim (used by cPanel).
|
192
|
-
- **MDA (Mail Delivery Agent)**: Software for storing and retrieving emails. Dovecot is a common choice.
|
193
|
-
- **Webmail**: A web user interface to access emails. RoundCube and Horde are common examples.
|
194
|
-
- **Antispam and Antivirus**: SpamAssassin for antispam, ClamAV for antivirus are commonly used options.
|
195
|
-
|
196
|
-
Here's a high-level overview to set up a mail server on FreeBSD:
|
197
|
-
|
198
|
-
### 1. Update the System
|
199
|
-
First, ensure your FreeBSD system is up to date:
|
200
|
-
|
201
|
-
```shell
|
202
|
-
pkg update && pkg upgrade
|
203
|
-
```
|
204
|
-
|
205
|
-
### 2. Install Postfix (MTA)
|
206
|
-
Install Postfix as the MTA:
|
207
|
-
|
208
|
-
```shell
|
209
|
-
pkg install postfix
|
210
|
-
```
|
211
|
-
|
212
|
-
Configure Postfix by editing its configuration file (`/usr/local/etc/postfix/main.cf`). You'll need to set the mail domain, hostname, and other network and security settings.
|
213
|
-
|
214
|
-
### 3. Install Dovecot (MDA)
|
215
|
-
Install Dovecot to handle email delivery and access:
|
216
|
-
|
217
|
-
```shell
|
218
|
-
pkg install dovecot
|
219
|
-
```
|
220
|
-
|
221
|
-
Configure Dovecot by adjusting the configuration files in `/usr/local/etc/dovecot/`. You'll need to set up authentication mechanisms, email storage locations, etc.
|
222
|
-
|
223
|
-
### 4. Install Webmail Interface
|
224
|
-
Install RoundCube or another webmail client:
|
225
|
-
|
226
|
-
```shell
|
227
|
-
pkg install roundcube
|
228
|
-
```
|
229
|
-
|
230
|
-
Configure RoundCube by editing its configuration file, typically located in `/usr/local/www/roundcube/config/`.
|
231
|
-
|
232
|
-
### 5. Set Up Antispam and Antivirus
|
233
|
-
Install SpamAssassin and ClamAV:
|
234
|
-
|
235
|
-
```shell
|
236
|
-
pkg install spamassassin clamav
|
237
|
-
```
|
238
|
-
|
239
|
-
Configure each service to integrate with your MTA and MDA. This may involve editing Postfix and Dovecot's configuration files to include filters and antivirus checks.
|
240
|
-
|
241
|
-
### 6. Test Your Configuration
|
242
|
-
- Test Postfix by sending emails from the command line.
|
243
|
-
- Test Dovecot by logging in via an email client or RoundCube.
|
244
|
-
- Ensure SpamAssassin and ClamAV are working by sending test emails that should be marked as spam or contain malicious attachments.
|
245
|
-
|
246
|
-
### Important Note:
|
247
|
-
Setting up a mail server is complex and involves many aspects, particularly regarding securing and optimizing your server. Make sure to refer to the official documentation of each software and consider security best practices, such as using SSL/TLS, properly setting up DNS records (SPF, DKIM, DMARC), and establishing appropriate access control lists.
|
248
|
-
|
249
|
-
This guide provides a very basic overview, and you should refer to the specific FreeBSD, Postfix, Dovecot, RoundCube, SpamAssassin, and ClamAV documentation for detailed instructions and advanced configuration options.
|
184
|
+
[comment]: <> (Wait 10 mn for server starting...)
|
@@ -3,14 +3,7 @@
|
|
3
3
|
[Main menu](../atome.md)
|
4
4
|
-
|
5
5
|
</div>
|
6
|
-
prerequisity:
|
7
6
|
|
8
|
-
ruby :
|
9
|
-
wasmtime:
|
10
|
-
curl https://wasmtime.dev/install.sh -sSf | bash
|
11
|
-
wasi :
|
12
|
-
brew tap kateinoigakukun/wasi-vfs https://github.com/kateinoigakukun/wasi-vfs.git
|
13
|
-
brew install kateinoigakukun/wasi-vfs/wasi-vfs
|
14
7
|
**[- first steps](./first_steps.md)**
|
15
8
|
-
|
16
9
|
|